ลองนึกภาพว่า ในรูปแบบการเข้ารหัสแบบ Elliptic Curve โดยที่ $P=a\คูณ G$Bob แบ่งปันรหัสสาธารณะของเขา $พี$ กับอีฟ (ปีศาจที่ต้องการรู้ความลับที่เขาไม่ควรรู้) บ๊อบยังได้เปิดเผยเงื่อนงำเกี่ยวกับ $a$ บังเอิญ. เบาะแสสามารถเป็นรายการเดียวหรือหลายรายการจากรายการต่อไปนี้:
- จำนวน $a$ เป็นจำนวนเต็มคี่/คู่
- จำนวน $a$ มีขนาดใหญ่/เล็กกว่าครึ่งหนึ่งของคำสั่งซื้อกลุ่ม $N/2$.
- จำนวน $a$ มี $x$ บิตที่มีความหมายเมื่อเขียนเป็นเลขฐานสอง (ที่นั่น $x$ คือจำนวนบิตของ $a$ตัวอย่างเช่น ถ้า $a=152=10011000$ แล้ว $x=8$
- จำนวน $a$ เป็นโมดูโล RESIDUE/NON-RESIDUE กำลังสอง $N$.
คำถามที่ 1:
ความรู้เกี่ยวกับเงื่อนงำดังกล่าวจะถือเป็นจุดอ่อนที่สำคัญสำหรับกุญแจสาธารณะของ Bob เพื่อที่เราจะบอกว่ามันไม่ปลอดภัยอีกต่อไปที่จะใช้มันหรือไม่?
คำถามที่ 2:
เงื่อนงำดังกล่าวข้างต้นเป็นข้อมูลน้อยมากเกี่ยวกับ $a$ ฉันคิดว่า ฉันถูกไหม? จะเป็นอย่างไรหากเราสามารถเปิดเผยจุดทั้งหมดบนเส้นโค้งได้โดยใช้อัลกอริทึมเวทมนตร์
ฉันรู้ว่าสำหรับรายการที่ 1-3 ความรู้เกี่ยวกับอัลกอริทึมทั่วไปสำหรับข้อใดข้อหนึ่ง $P=a\คูณ G$ สามารถบอกเราได้อย่างแน่นอนว่า $a$ เป็นคี่/คู่ หรือ $a$ มากกว่า/เล็กกว่า $N/2$ หรือ $a$ มี $x$ บิตจะทำลายการรักษาความปลอดภัยของ Elliptic Curves อย่างสมบูรณ์ และด้วยเหตุนี้จึงเป็นไปได้ที่จะเรียกคืนได้ $a$ จาก $พี$.
แต่ข้อ 4 ล่ะ? ฉันหมายความว่าถ้าใครสามารถค้นพบอัลกอริทึมที่พวกเขาสามารถกำหนดสิ่งนั้นได้ $พี$, $a$ เป็นหรือไม่เป็นโมดูโลเรซิดิวกำลังสอง $N$พวกเขาจะสามารถกู้คืนได้อย่างสมบูรณ์หรือไม่ $a$ และทำลายรูปแบบการเข้ารหัส?
จะเป็นอย่างไรถ้าอัลกอริทึมสามารถบอกรากที่สองของ $a$ โมดูโล $N$?
อัปเดต 1:
คำถามเหล่านี้เกิดขึ้นเมื่อฉันศึกษาความเสี่ยงของฐานข้อมูลคีย์ส่วนตัวที่บางส่วนถูกบุกรุก นั่นคือสิ่งที่เกิดขึ้นหากผู้โจมตีรู้เบาะแสของกุญแจส่วนตัวของเรา