Score:1

วิธีรับรหัสสาธารณะของ RS256 JWT จากส่วนหัวและเพย์โหลด

ธง cn

ฉันมี RS256 JWT ฉันต้องการค้นหาคีย์สาธารณะของมัน เนื่องจากฉันทราบส่วนหัว เพย์โหลด และฉันมีลายเซ็นที่เข้ารหัส มีวิธีรับคีย์สาธารณะที่สร้างลายเซ็นจากองค์ประกอบเหล่านี้หรือไม่

dave_thompson_085 avatar
cn flag
ลายเซ็นไม่ได้เข้ารหัส และสร้างขึ้นด้วยคีย์ส่วนตัวไม่ใช่คีย์สาธารณะ พวกเขา _verified_ ด้วยรหัสสาธารณะ และสำหรับ JWS (รวมถึง JWT ที่ลงนาม) คีย์นั้นมักจะรวมอยู่ในหรือระบุโดยส่วนหัว ดู [rfc7515 ส่วนที่ 6](https://datatracker.ietf.org/doc/html/rfc7515#section-6)
Score:1
ธง in

RS256 ถูกกำหนดเป็น "RSASSA-PKCS1-v1_5 โดยใช้ SHA-256" นั่นคือลายเซ็น RSA PKCS#1 v1.5คุณจึงสามารถหาวิธีรับโมดูลัสได้ ที่นี่. โปรดทราบว่าก่อนอื่นคุณต้อง ดำเนินการเข้ารหัส PKCS#1 v1.5 เชิงกำหนด บนเพย์โหลดเองเพื่อไปที่ $m$ ในคำถาม/คำตอบ

หากเลขชี้กำลังสาธารณะมีขนาดใหญ่ & สุ่ม แสดงว่าคุณโชคไม่ดี แต่นั่นไม่ใช่เรื่องปกติเลย เลขชี้กำลังสาธารณะมักจะมีขนาดเล็ก ซึ่งมักจะเป็นค่า 0x010001 / 65537 ซึ่งเป็นจำนวนเฉพาะที่ห้าของ Fermat หรือที่เรียกว่า F4 JWT บอกใบ้ให้ใช้ F4 เท่านั้น ดูเหมือนจะไม่ต้องการใช้เลขชี้กำลังเฉพาะหรือเลขชี้กำลังเล็กน้อยอย่างชัดเจน.

Maarten Bodewes avatar
in flag
โปรดทราบว่าฉันสันนิษฐานว่าลายเซ็นไม่ได้เข้ารหัสจริงๆ การบอกว่าการสร้างลายเซ็นคือการเข้ารหัสด้วยคีย์ส่วนตัว (สำหรับ RSA) เป็น [**ข้อผิดพลาดทั่วไป**](https://crypto.stackexchange.com/q/15997/1172) ที่ฉันพยายามต่อสู้ (และ สูญเสียเพราะสื่อการเรียนรู้ที่แย่มาก ๆ ที่นั่น)

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา