ภาพใหญ่
ใน RSAES-สศอสำหรับโมดูลัสสาธารณะ $n$ ของ $8k-7$ ถึง $8k$ บิต ciphertext ที่ถูกต้อง $ค$ เป็น (ท่ามกลางเงื่อนไขอื่น ๆ อีกมากมาย) เช่นนั้น $(c^d\bmod n)\,<\,2^{8k-8}$. การโจมตีของ Manger สันนิษฐานว่าฝ่ายตรงข้ามสามารถส่งข้อความค้นหาไปยังอุปกรณ์ที่มีไว้สำหรับการถอดรหัส ซึ่งทำการตรวจสอบนั้น (ตามที่ควร) และจะรั่วไหลหากตรงตามเงื่อนไขนี้หรือไม่ ซึ่งเป็นข้อผิดพลาดในการใช้งาน: โดยปกติแล้วอุปกรณ์ไม่ควรแจ้งว่าเกิดข้อผิดพลาดใดขึ้นกับสิ่งไม่ถูกต้อง $ค$ ที่มันได้รับ (อย่างน้อยเมื่อทดสอบครั้งแรกว่า $c\in[0,n)$ ผ่าน).การรั่วไหลอาจเกิดจากรหัสข้อผิดพลาดเฉพาะหรือตามเวลา
กำหนดรหัสสาธารณะ $(น,อี)$ และอื่น ๆ $c\in[0,n)$โดยส่งจำนวนมากที่สร้างขึ้นอย่างปราณีต $x_i\ne ค$ และการวิเคราะห์บิตของข้อมูล ${x_i}^d\bmod n\overset?<2^{k-8}$ รั่วไหลจากอุปกรณ์ การโจมตีของ Manger ก็จัดการเพื่อค้นหา $m=c^d\bmod n$. ถ้า $ค$ เป็นไซเฟอร์เท็กซ์ที่ถูกต้องซึ่งสามารถใช้ถอดรหัสได้ หากใช้คีย์เพื่อเซ็นชื่อได้ด้วย ก็สามารถใช้เซ็นชื่อได้เช่นกัน
รายละเอียด
ฝ่ายตรงข้ามคำนวณและส่ง $x_i=c\,{s_i}^e\bmod n$ สำหรับค่าที่เหมาะสมของ $s_i$แล้วจึงเรียนรู้จากอุปกรณ์ถอดรหัส $(m\,s_i\bmod n)\overset?<2^{8k-8}$. โดยเลือก $s_i$ ศัตรูจะแคบลงอย่างชาญฉลาด $m$.
[ฉันกำลังสร้างวิกิชุมชนนี้และปล่อยให้คนอื่นๆ อธิบายรายละเอียดขั้นตอนและลบโน้ตนั้นออก] นี้ อธิบายมัน