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

ความปลอดภัยของ RSA คืออะไร?


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

  • การโจมตีด้วยข้อความธรรมดา

    การโจมตีแบบข้อความธรรมดาแบ่งออกเป็นสามประเภทย่อยดังต่อไปนี้ −

    โจมตีข้อความสั้น − ในการโจมตีด้วยข้อความสั้น สามารถพิจารณาได้ว่าผู้โจมตีรู้จักกลุ่มข้อความธรรมดาบางช่วง หากสมมติฐานนี้เป็นจริง ผู้โจมตีสามารถลองเข้ารหัสบล็อกข้อความธรรมดาแต่ละบล็อกเพื่อดูว่าผลลัพธ์เป็นข้อความเข้ารหัสที่รู้จักหรือไม่

    ดังนั้นจึงสามารถหลีกเลี่ยงการโจมตีด้วยข้อความสั้น ๆ ได้ ขอแนะนำให้แทรกข้อความธรรมดาก่อนเข้ารหัส

    การโจมตีด้วยจักรยาน

    ในผู้โจมตีรายนี้ สมมติว่าข้อความเข้ารหัสได้มาโดยการทำการเปลี่ยนแปลงบางอย่างบนข้อความธรรมดาในลักษณะบางอย่าง หากสมมติฐานนี้เป็นจริง ผู้โจมตีสามารถทำขั้นตอนย้อนกลับได้ ซึ่งก็คือทำการเรียงสับเปลี่ยนอย่างต่อเนื่องบนข้อความตัวเลขที่ทราบเพื่อพยายามหาข้อความธรรมดาที่เป็นต้นฉบับ

    การโจมตีข้อความที่ซ่อนเร้น − มีการค้นพบในทางทฤษฎีว่าในกรณีของข้อความธรรมดาที่มีจำกัด การเข้ารหัสจะให้ข้อความที่เข้ารหัสซึ่งเท่ากับข้อความธรรมดาดั้งเดิม หากสิ่งนี้ปรากฏขึ้น ข้อความธรรมดาต้นฉบับจะไม่สามารถเป็นความลับได้ ดังนั้นการโจมตีนี้จึงเรียกว่าการโจมตีข้อความที่ไม่ปกปิด

  • เลือกการโจมตีด้วยรหัส − ในการโจมตีด้วยรหัสลับที่เลือก มันสามารถค้นพบข้อความธรรมดาโดยยึดตามข้อความเข้ารหัสโดยใช้ที่เรียกว่า Extended Euclidean Algorithm

  • โจมตีแยกตัวประกอบ − ความปลอดภัยทั้งหมดของ RSA ขึ้นอยู่กับสมมติฐานว่าเป็นไปไม่ได้ที่ผู้โจมตีจะแยกตัวประกอบจำนวน N เป็นสองปัจจัย P และ Q หากผู้โจมตีสามารถค้นพบ P หรือ Q จากสมการ N =P x Q ดังนั้น ผู้โจมตีสามารถค้นพบคีย์ส่วนตัวได้

    สมมติว่า N มีความยาวอย่างน้อย 300 หลักในรูปทศนิยม ผู้โจมตีไม่สามารถค้นพบ P และ Q ได้ง่ายๆ ดังนั้นการโจมตีแบบแยกตัวประกอบจึงล้มเหลว

  • โจมตีคีย์การเข้ารหัส − ผู้ที่มีความรอบรู้ด้านคณิตศาสตร์ของ RSA เป็นอย่างดี บางครั้งรู้สึกว่ามันค่อนข้างง่ายเพราะอาจต้องการคีย์สาธารณะหรือคีย์เข้ารหัส E จำนวนมาก

    นอกจากนี้ยังสร้าง RSA ให้ปลอดภัยยิ่งขึ้น ดังนั้น หากตัดสินใจลองสร้างการทำงานของ RSA ได้เร็วยิ่งขึ้นโดยใช้ค่า E เพียงเล็กน้อย ก็อาจนำไปสู่การโจมตีที่เรียกว่าการโจมตีบนคีย์เข้ารหัส ดังนั้นจึงแนะนำให้ใช้ Eas 2 16 + 1 =65537 หรือค่าที่ใกล้กว่าตัวเลขนี้

  • โจมตีคีย์ถอดรหัส − การโจมตีบนคีย์ถอดรหัสมีดังนี้ -

    • เปิดเผยการโจมตีเลขชี้กำลังถอดรหัส − หากผู้โจมตีสามารถคาดเดาคีย์ถอดรหัส D ได้ ไม่เพียงแต่ข้อความเข้ารหัสที่สร้างจากการเข้ารหัสข้อความธรรมดาที่มีคีย์การเข้ารหัส E ที่สอดคล้องกันจะตกอยู่ในอันตราย แต่ข้อความในอนาคตก็ยังมีช่องโหว่อีกด้วย สามารถหลีกเลี่ยงการโจมตีเลขชี้กำลังการถอดรหัสที่เปิดเผยนี้ ขอแนะนำให้ผู้ส่งใช้ค่าใหม่สำหรับ P, Q, N และ E เช่นกัน

    • การโจมตีเลขชี้กำลังการถอดรหัสต่ำ − เป็นเรื่องที่น่าสนใจที่จะใช้ค่าเล็กน้อยสำหรับคีย์ถอดรหัส D เพื่อสร้าง RSA ให้ทำงานได้เร็วขึ้น สิ่งนี้สามารถให้ผู้โจมตีคาดเดาคีย์ถอดรหัส D โดยปล่อยการโจมตีเลขชี้กำลังการถอดรหัสต่ำ