Score:0

หลักฐานความรู้เป็นศูนย์ของการเข้ารหัส ElGamal ที่ถูกต้อง

ธง do

สมมติว่า $sk = x$, $pk = g^x$ เราเข้ารหัสข้อความ $m$ ด้วยการเข้ารหัส ElGamal เป็น $(g^r,m\cdot pk^r)$. เป้าหมายของฉันคือการพิสูจน์ว่าฉันทำการเข้ารหัสอย่างถูกต้อง กล่าวคือ เหมือนกัน $r$ ถูกใช้ข้าม $g^r$ และ $m\cdot pk^r$.

ฉันคิดแบบง่ายๆ $\ซิกม่า$-โปรโตคอลเพื่อแสดงสิ่งนี้ดังต่อไปนี้:

  1. ตัวอย่างผู้พิสูจน์ $q_1,q_2$,คำนวณ $R_1 = q_1\cdot pk^{q_2}$ และ $R_2 = ก^{q_2}$ และส่ง $R_1, R_2$ เพื่อยืนยัน
  2. ผู้ตรวจสอบส่งคำท้าแบบสุ่ม $e$ เพื่อพิสูจน์
  3. Prover คำนวณ $z_1 = q_1 \cdot m^e$ และ $z_2 = q_2 + e\cdot r$. ส่ง $z_1$ และ $z_2$ เพื่อตรวจสอบ
  4. Verifier ตรวจสอบว่า $R_1 \cdot (m \cdot pk^r)^e= z_1 \cdot pk^{z_2}$ และ $R_2 \cdot (g^r)^e = g^{z_2}$

ด้วยปากกาและกระดาษ คณิตศาสตร์จะตรวจสอบ แต่ฉันไม่แน่ใจว่าฉันพลาดอะไรไปหรือเปล่า (คำถามนี้เป็นคำถามต่อเนื่องจากคำถามเก่าที่เกี่ยวข้องของฉัน: การพิสูจน์ความถูกต้องของการเข้ารหัส ElGamal ที่ได้รับจากรหัสสาธารณะเฉพาะ). ตัวอย่างเช่นมีโอกาสที่ $z_1$ ในทางปฏิบัติอาจทำให้ข้อมูลเกี่ยวกับข้อความรั่วไหลได้ $m$?

Score:1
ธง my

การพิสูจน์ใช้ไม่ได้ (แม้ว่าคุณจะแก้ไขด้วยการส่งผู้พิสูจน์ในตอนแรก $R_1, R_2$, ค่อนข้างมากกว่า $q_1, q_2$ที่คุณน่าจะตั้งใจไว้); เจ้าของคีย์ส่วนตัวสามารถสร้างหลักฐานที่ถูกต้องแม้ว่าข้อความเข้ารหัสจะไม่ได้ถอดรหัสเป็นข้อความธรรมดาก็ตาม

สมมติว่าผู้พิสูจน์มีรหัสสาธารณะ $pk$ (และคีย์ส่วนตัวที่เกี่ยวข้อง); เขามีข้อความ $M'$ ที่ไม่เกี่ยวข้องกับไซเฟอร์เท็กซ์ $C$. จากนั้น นี่คือวิธีที่เขาสามารถสร้าง 'หลักฐาน':

  • ขั้นตอนที่ 1, 2 ดำเนินการตามที่กำหนด

  • ในขั้นตอนที่ 3 เขาคำนวณ $z_2 = q_2 + e \cdot r$ (ตามที่กำหนด) แล้วแต่จะคำนวณ $z_1 = R_1 \cdot C^e \cdot pk^{-z_2}$

  • ในขั้นตอนที่ 4 ผู้ตรวจสอบจะสังเกตว่าทั้งสองมีความสัมพันธ์กัน

(ผู้ตรวจสอบไม่เคยใช้ค่าของข้อความธรรมดาที่ควรค่าแก่การพิสูจน์ควรจะเพียงพอที่จะแสดงว่ามีบางอย่างขาดหายไปที่นี่...)

do flag
ขอบคุณ แก้ไข $R_1, R_2$ แล้ว เป้าหมายแรกของฉันคือการแสดงให้เห็นว่าผู้พิสูจน์ใช้การสุ่มแบบเดียวกัน $r$ สำหรับไซเฟอร์เท็กซ์ ElGamal สองตัว การพิสูจน์นี้จะป้องกันไม่ให้ผู้พิสูจน์ส่งสิ่งที่ต้องการ $(g^r, m \cdot pk^{r'}$ และ $r \neq r'$ หรือไม่
Manish Adhikari avatar
us flag
@Panos $m$ ควรเป็นที่รู้จักในการตรวจสอบ หากไม่ใช่คำสั่งที่ไม่สำคัญ: $m$ จะมีอยู่เสมอ และจริง ๆ แล้วเป็นการพิสูจน์ความรู้ของ $m$ โดยผู้ที่ไม่ได้ถือคีย์ส่วนตัว ในกรณีนี้ก็ดูดี (ฉันไม่เห็นเวอร์ชันดั้งเดิม): มีทั้งตัวจำลองการยืนยันความถูกต้องและตัวแยกข้อมูลที่มีอยู่ มิฉะนั้น จะมีโปรโตคอล sigma สำหรับทูเพิล DDH คุณอาจใช้มันได้

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา