ใช่ เป็นไปได้แม้ไม่มีการโต้ตอบใดๆ (ไม่มีอะไรที่ Bob ต้องส่งถึงอลิซ) วิธีการนี้เรียกว่า "ลายเซ็นแหวน"
สมมติว่าเธอต้องการเซ็นข้อความเช่น "ฉันชื่ออลิซ เพื่อเป็นหลักฐานให้บ็อบรู้ว่าฉันรู้จักกุญแจดอกหนึ่ง"
เธอแฮชเพื่อให้ได้มา $m$.
ตอนนี้อลิซสร้างค่าแบบสุ่ม $r_i$ สำหรับกุญแจสาธารณะทุกอัน $k_i$ และเข้ารหัสเพื่อให้ได้มา $y_i$.
โปรดทราบว่าพวกเขาทั้งหมด $y_i$ เป็นค่าสุ่มเทียมที่คาดเดาไม่ได้ เพียง $y_i$ เธอสามารถเลือกได้ว่าเป็นกุญแจของเธอ $k_j$เธอแค่เลือก $y_j$ และลงชื่อเพื่อรับ $r_j$ ($r_j$ ดูเหมือนข้อมูลสุ่มอื่น ๆ ทั้งหมด)
ตอนนี้เธอสามารถเลือกได้ $y_j$ เพื่อให้ xor ของทั้งหมด $y_i$ เท่ากับ $m$.
เธอส่งข้อความและทั้งหมด $r_i$ ถึง Bob (หากคำสั่งไม่ชัดเจน ให้เพิ่มหมายเหตุว่า $r_i$ เป็นของคีย์ใด)
ในการยืนยัน Bob เพียงแค่เข้ารหัสทุกๆ $r_i$ ด้วยรหัสสาธารณะ $k_i$ เพื่อรับ $y_i$, xor พวกเขาทั้งหมดและตรวจสอบว่ามันเท่ากันหรือไม่ $m$.
ตั้งแต่ทั้งหมด $y_i$ ก็เหมือนกับการสุ่มตัวเลข เมื่อคุณไม่รู้คีย์ ไม่มีทางที่จะปลอมแปลงลายเซ็นโดยที่ไม่รู้คีย์ส่วนตัว
นอกจากนี้ยังไม่มีวิธีที่จะบอกได้ว่า $y_i$ และ $r_i$ ไม่ได้สร้างแบบสุ่มเพราะทั้งหมดดูสุ่ม
การแก้ไขที่สำคัญ:
ฉันลืมขั้นตอนการเข้ารหัสแบบสมมาตรในลายเซ็นแหวน ควรใช้การเข้ารหัสแบบสมมาตรระหว่างขั้นตอน xor สิ่งนี้ยังคงช่วยให้อัลลีสามารถกู้คืน $y_i$ เธอต้องการแต่ทำให้การโจมตีหนักขึ้น
สำหรับรายละเอียดเพิ่มเติมดูที่ วิกิพีเดีย