แนวคิดของคุณเกี่ยวกับวิธีการเข้ารหัสรวมถึง nonce และวิธีที่ Alice ไม่สามารถกู้คืน nonce นั้นใช้ได้จริง แต่มันไม่ได้แก้ปัญหาของคุณ
ความเป็นไปได้อย่างหนึ่งคือความแตกต่างของ เอล กามาล; ในระบบนี้ คีย์สาธารณะของอลิซคือค่า $A= G^a \bmod p$, กับ $a$ เป็นกุญแจส่วนตัวของอลิซและ $G, p$ เป็นพารามิเตอร์สาธารณะ (ด้วย $p$ เป็นเซฟไพรม์และ $G$ สารตกค้างกำลังสอง)
เพื่อเข้ารหัสข้อความ $M < พี/2$, Bob จะเลือกค่าสุ่ม $r$และสร้างไซเฟอร์เท็กซ์ $G^r \bmod p, M^2 \cdot A^r \bmod p$.
เพื่อถอดรหัสคู่ $X, Y$อลิซจะคำนวณ $M^2 = Y \cdot X^{-a} \bmod p$ (แล้วหารากที่สองแบบโมดูลาร์ของ $ม^2$ การกู้คืน $M$).
ถ้าอลิสได้คู่ $X, Y$เธอไม่รู้ค่า $r$และอื่น ๆ ในแวบแรกแสดงให้เห็นว่า $G, A = G^a, X = G^r, Y \cdot M^{-2} = G^{ar}$ เป็นชุด DH คือปัญหาการตัดสินใจ Diffie-Hellman ซึ่งโดยทั่วไปยาก เธอสามารถทำได้โดยเปิดเผย $a$แต่สำหรับเธอ นั่นจะทำให้เป้าหมายนั้นล้มเหลว
อย่างไรก็ตาม สิ่งที่เธอทำได้คือสร้างหลักฐานที่ไม่มีความรู้ $G^x = A$ และ $X^x = Y \cdot M^{-2}$ มีวิธีแก้ปัญหาร่วมกัน $x$ (ซึ่งเธอทำได้ เพราะเธอรู้ว่าวิธีแก้ปัญหาทั่วไปคืออะไร); การพิสูจน์ความรู้ที่ไม่มีศูนย์นี้จะแสดงให้เห็นว่า $M$ เป็นการถอดรหัสโดยไม่เปิดเผยคีย์ส่วนตัวของเธอ
สิ่งนี้นำไปสู่การสังเกตโดยทั่วไปมากขึ้น ถ้าอัลกอริทึมการถอดรหัส $D$ และการสร้างกุญแจสาธารณะ $เจน$ ทั้งสองทำงานใน polytime แล้วคำสั่งที่ $D(a, C) = M \land (a, A) = Gen(เมล็ด)$ (สำหรับประชาชน $C$ และ $M$ ที่อลิซอ้างว่าเป็นการถอดรหัสนั้นเป็นคำสั่งใน NP (พร้อม $a$ และ $เมล็ดพันธุ์$ เป็น 'พยาน') และสำหรับข้อความดังกล่าวภายใน NP เราสามารถสร้างหลักฐานที่ไม่มีความรู้ซึ่งแสดงว่า $M$ เป็นการถอดรหัสที่ถูกต้อง
ดังนั้น เว้นแต่บ็อบจะอ้างได้ว่าเขาไม่ได้ส่งไซเฟอร์เท็กซ์จริงๆ $C$ (และฉันคิดว่าอย่างใดก็สันนิษฐานว่าทุกคนรู้ว่าเขาทำ) มันไม่ได้ฟังดูเหมือนปัญหาที่แก้ไขได้