Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

ความปลอดภัยของ RSA มี那些?

ความปลอดภัยของ RSA มีดังนี้:

  • Plain Text Attacks (การโจมตีข้อความธรรมดา) -
    • Short Message Attack (การโจมตีข้อความสั้น) - ใน Short Message Attack สามารถพิจารณาได้ว่าผู้โจมตีรู้บล็อกบางบล็อกของ Plain Text หากสมมติฐานนี้เป็นจริง ผู้โจมตีสามารถลองเข้ารหัสบล็อก Plain-text แต่ละบล็อก เพื่อดูว่ามันผลลัพธ์เป็น Cipher-text ที่รู้จักหรือไม่ ดังนั้น เพื่อหลีกเลี่ยง Short-message Attack นี้ แนะนำให้ Pad Plain Text ก่อนเข้ารหัส
    • Cycling Attack (การโจมตีแบบวนซ้ำ) - ในนี้ ผู้โจมตีสมมติว่า Cipher Text ถูกได้รับโดยการทำ Permutation บางอย่างบน Plain-text ในบางวิธี หากสมมติฐานนี้เป็นจริง ดังนั้น ผู้โจมตีสามารถทำกระบวนการย้อนกลับ ซึ่งคือการทำ Permutation ต่อเนื่องบน Cipher Text ที่รู้จัก เพื่อลองและได้ Plain-text ต้นทาง
    • Unconcealed Message Attack (การโจมตีข้อความที่ไม่ได้ซ่อน) - พบในทฤษฎีว่า ในกรณีของข้อความ Plain-text ที่จำกัดมาก การเข้ารหัสให้ Cipher-text ซึ่งเท่ากับ Plain-text ต้นทาง หากสิ่งนี้เกิดขึ้น ข้อความ Plain-text ต้นทางไม่สามารถเป็นความลับได้ ดังนั้น การโจมตีนี้รู้จักว่า Unconcealed Message Attack
  • Chosen Cipher Attack (การโจมตี Cipher ที่เลือก) - ใน Chosen Cipher Attack สามารถค้นพบ Plain Text ได้โดยอิงจาก Cipher Text ใช้ Extended Euclidean Algorithm ที่รู้จัก
  • Factorisation Attack (การโจมตีการแยกตัวประกอบ) - ความปลอดภัยทั้งหมดของ RSA ขึ้นอยู่กับสมมติฐานที่ว่าเป็นไปไม่ได้สำหรับผู้โจมตีที่จะแยกตัวประกอบตัวเลข N เป็น 2 ตัวประกอบ P และ Q หากผู้โจมตีสามารถค้นหา P หรือ Q จากสมการ N = P x Q ดังนั้น ผู้โจมตีสามารถค้นหา Private Key ได้ สมมติว่า N มีอย่างน้อย 300 หลักในทศนิยม ผู้โจมตีไม่สามารถค้นหา P และ Q ได้ง่าย ดังนั้น Factorisation Attack ล้มเหลว
  • Attack on the Encryption Key (การโจมตีคีย์เข้ารหัส) - ผู้ที่คล่องแคล่วกับคณิตศาสตร์ของ RSA บางครั้งรู้สึกว่ามันค่อนข้างง่าย เพราะต้องการตัวเลขใหญ่สำหรับ Public Key หรือ Encryption Key E มันยังทำให้ RSA ปลอดภัยมากขึ้น ดังนั้น หากตัดสินใจลองและทำให้ RSA ทำงานเร็วขึ้น โดยใช้ค่าเล็กสำหรับ E อาจนำไปสู่การโจมตีที่เป็นไปได้ รู้จักว่า Attacks on the Encryption Key และดังนั้น แนะนำให้ใช้ E เป็น 216 + 1 = 65537 หรือค่าที่ใกล้เคียงกับตัวเลขนี้
  • Attacks on Decryption Key (การโจมตีคีย์ถอดรหัส) -
    • Revealed Decryption Exponent Attack (การโจมตีเลขชี้กำลังถอดรหัสที่เปิดเผย) - หากผู้โจมตีสามารถเดา Decryption Key D ได้ ไม่เพียง Cipher Text ที่ผลิตโดยการเข้ารหัส Plain Text ด้วย Encryption Key E ที่สอดคล้องกันอยู่ในอันตราย แต่ข้อความในอนาคตก็ยังเปราะบางต่อการโจมตี เพื่อหลีกเลี่ยง Revealed Decryption Exponent Attack นี้ แนะนำให้ Sender ใช้ค่าใหม่สำหรับ P, Q, N และ E ด้วย
    • Low Decryption Exponent Attack (การโจมตีเลขชี้กำลังถอดรหัสต่ำ) - น่าสนใจที่จะใช้ค่าเล็กสำหรับ Decryption Key D เพื่อทำให้ RSA ทำงานเร็วขึ้น สิ่งนี้สามารถให้ผู้โจมตีเดา Decryption Key D ได้ โดยการปล่อย Low Decryption Exponent Attack