ในส่วน 3.12 ของ หนังสือ เขียนโดย Boneh และ Shoup ความมุ่งมั่นของ Bit จาก PRGs ที่ปลอดภัยมีดังต่อไปนี้:
บ๊อบมุ่งมั่นที่จะกัด $b_0\in_R\{0,1\}$:
ขั้นตอนที่ 1: อลิซเลือกแบบสุ่ม $r\ ใน R$ และส่ง $r$ ถึงบ๊อบ
ขั้นตอนที่ 2: Bob เลือกแบบสุ่ม $s\ ใน S$ และคอมพิวเตอร์ $c=com(s,r,b_0)$, ที่ไหน $com(s,r,b_0)$ เป็นฟังก์ชันที่อนุญาต:
$c=com(s,r,b_0):=\left\{ \begin{array}{rcl}G(s) & \mbox{if}& b_0=0 \ G(s)\oplus r & \ mbox{if} & b_0=1 \ \end{array}\right.$, ที่ไหน $G:S\ถึง R$ เป็น PRG ที่ปลอดภัยและ $|R|\geq |S|^3$.
เอาต์พุตของบ็อบ $ค$ เป็นสตริงความมุ่งมั่นและการใช้งาน $s$ เป็นสตริงเปิด
ในขั้นตอนการเปิดเผยเมื่อได้รับ $s$ และ $b_0$ จาก Bob อลิซสามารถตรวจสอบได้อย่างแน่นอน $c=com(s,r,b_0)$.
ดังนั้น คำถามของฉันก็คือ ถ้าเราเอาค่าออก $r$ จากโครงร่างข้างต้น ซึ่งหมายความว่า:
- ในขั้นตอนที่ 1 อลิซไม่ต้องส่งค่าแบบสุ่มให้ Bob ซึ่งทำให้แบบแผนไม่มีการโต้ตอบ
- ในขั้นตอนที่ 2 ถ้า $b_0=1$ จากนั้น Bob ก็คำนวณ $c=G(s)\oบวก k$, ที่ไหน $k=0...01\ใน R$ เป็นค่าคงที่ที่รู้จักกันดีและเป็นอันดับแรก $|k|-1$ บิตของ $k$ เป็นศูนย์ทั้งหมด
เวอร์ชันที่แก้ไขยังคงปลอดภัยหรือไม่? หรืออีกนัยหนึ่ง Bob สามารถโกงอลิซได้หรือไม่?