หมายเหตุ: ฉันไม่ใช่นักเข้ารหัส
ฉันต้องการตรวจสอบว่าการปรับใช้ RSA Blind Signatures ของฉันปลอดภัยที่จะใช้ในแอปพลิเคชันขั้นตอนการผลิตหรือไม่ และฉันยังมีคำถามที่ฉันรู้สึกขอบคุณมากที่ได้รับคำตอบ
ขออภัย เมื่อฉันได้ยินคำถามเช่นนี้ ดูเหมือนว่า:
ฉันไม่ใช่ศัลยแพทย์ แต่ฉันต้องการทำการผ่าตัดหัวใจ ฉันได้ทำการค้นคว้ามากมายมาสองสามวันแล้ว และฉันต้องการให้แน่ใจว่าฉันเข้าใจพื้นฐานก่อนที่จะเริ่มต้น...
ตกลงฉันไม่ นั่น แย่ แต่ฟังดูค่อนข้างคล้ายกัน (และถ้าเป็น 'การใช้งานในขั้นตอนการผลิต' จริงๆ มันอาจจะไม่ไกลนัก อย่างน้อยที่สุด ถ้าคุณผ่าตัดหัวใจผิด คุณจะรู้ทันที มันไม่ได้ผล...
ต่อไปนี้เป็นคำตอบบางส่วน:
คำถามที่ 1: วิธีการคูณ $h(ม)$ และ $r^e \bmod n$ ? จะไม่เป็นผลมากกว่า $n$ ?
ที่จริง คุณคูณมันด้วยโมดูโล $n$.
คำถามที่ 2: ฉันสามารถใช้อัลกอริทึมแฮชใดๆ กับ m เช่น SHA-256 ได้หรือไม่
คำถามที่ 4: วิธีการใช้รูปแบบการเติมเพื่อป้องกันการปลอมลายเซ็นเนื่องจากคุณสมบัติโฮโมมอร์ฟิคของ RSA ?
ฉันนำสองคำถามนี้มารวมกันเพราะมีคำตอบเดียวกัน อะไร $h$ จำเป็นต้องไม่ใช่ SHA-256 แบบตรง แต่เป็นแบบที่คุณทำการแฮช (เช่น SHA-256) แทน จากนั้นเพิ่มผลลัพธ์โดยใช้ PKCS 1.5 SSA หรือ PSS (ขึ้นอยู่กับสิ่งที่ผู้ตรวจสอบคาดหวัง)
คำถามที่ 3: เซิร์ฟเวอร์จะไม่แฮชหรือแพดข้อความที่ปกปิดไว้ก่อนที่จะเซ็นชื่อ ถูกต้องและปลอดภัยหรือไม่
ในกรณีนี้ ถูกต้องและปลอดภัย หากเซิร์ฟเวอร์ไม่แฮชหรือแพดข้อความ มันจะทำให้สิ่งต่างๆ ยุ่งเหยิง จำไว้ว่าคุณทำการแฮช/แพดดิ้งในขั้นตอนที่ 4
ในทางกลับกัน (เพื่อกลับไปที่ความคิดเห็นดั้งเดิมของฉัน) หากคุณต้องการถามคำถามเหล่านี้ คุณอาจไม่พร้อมที่จะดำเนินการด้วยตนเอง...