ใช้สัญกรณ์ในลิงก์ Wikipedia ของคุณเพื่อความสอดคล้อง ซึ่งอาจเป็นการโกง ผู้ตรวจสอบ $วี^*$คุณต้องการสร้างเครื่องจำลอง $S$ ซึ่งให้เข้าถึงเฉพาะเศษซากกำลังสองเท่านั้น $v$ (แต่ไม่ใช่รากที่สอง $s$) สร้างผลลัพธ์ที่แยกไม่ออกจากมุมมองของผู้ตรวจสอบในการโต้ตอบกับผู้พิสูจน์ที่ซื่อสัตย์
วิธีที่คุณทำในกรณีนี้คือการคาดเดาเล็กน้อย $e$ ผู้ตรวจสอบจะส่ง คุณสุ่มตัวอย่างอย่างสม่ำเสมอ $y\in(\mathbb{Z}/N\mathbb{Z})^*$เช่นเดียวกับ $e'\in\{0,1\}$และตั้งค่า $r=y^2\cdot v^{-e'}$. ในทั้งสองกรณี, $r$ เป็นเรซิดิวกำลังสองที่สุ่มกลับค่าแบบสุ่มอย่างสม่ำเสมอ ดังนั้นการกระจายของ $V^*(ร)$ ไม่สามารถขึ้นอยู่กับบิต $e'$, และดังนั้นจึง, $e=e'$ เกิดขึ้นด้วยความน่าจะเป็นอย่างแน่นอน $1/2$ โดยไม่คำนึงถึงกลยุทธ์ของ $วี^*$. หากค่าเท่ากัน เครื่องจำลองจะแสดงผลออกมา $(r,y)$ และเริ่มต้นใหม่ (หรือยกเลิก ขึ้นอยู่กับคำจำกัดความที่ชัดเจนของคุณเกี่ยวกับความรู้เป็นศูนย์ ไม่สำคัญ)
ในกรณีที่ประสบความสำเร็จ $(r,y)$ มีการแจกจ่ายเหมือนกับการโต้ตอบกับผู้พิสูจน์ที่ซื่อสัตย์: $r$ เป็นเครื่องแบบใน $QR_N$, $y$ เป็นเครื่องแบบใน $(\mathbb{Z}/N\mathbb{Z})^*$และพวกเขาก็พอใจ $y^2 = r\cdot v^e$. ยิ่งไปกว่านั้น ความสำเร็จนั้นเกิดขึ้นได้ด้วยความน่าจะเป็นอย่างท่วมท้นหลังจากการทำซ้ำหลายครั้งแบบพหุนาม (ในขนาด $N$). สิ่งนี้ทำให้มั่นใจได้ว่าโปรโตคอลนั้นไม่มีความรู้ที่สมบูรณ์แบบ