Score:0

พิสูจน์ข้อมูลที่เข้ารหัสด้วยคีย์ที่ตรงกัน

ธง in

สมมติว่าผู้ใช้ A เข้ารหัสข้อมูลบางอย่างโดยใช้รหัสสาธารณะและเก็บข้อมูลแบบสาธารณะ ผู้ใช้รายต่อมา A ต้องการถ่ายโอนข้อมูลเดียวกันนั้นไปยังผู้ใช้ B ต่อสาธารณะโดยการเข้ารหัสโดยใช้รหัสสาธารณะของผู้ใช้ B

วิธีที่ดีที่สุดในการตรวจสอบว่าข้อมูลเดียวกันถูกโอนไปยังผู้ใช้ B โดยไม่ทราบข้อมูล ผู้ใช้ A และคีย์ส่วนตัวของผู้ใช้ B คืออะไร

Ievgeni avatar
cn flag
มันเป็นการบ้าน?
in flag
ไม่ พยายามหาว่ามันเป็นไปได้ไหม และสิ่งที่ฉันควรอ่านเพิ่มเติมเกี่ยวกับอะไร ต้องการสร้างบางสิ่งในลักษณะนี้บน Ethereum เพื่อให้สามารถถ่ายโอนข้อมูลลับระหว่างผู้คนสู่สาธารณะได้อย่างปลอดภัย
Ievgeni avatar
cn flag
คำถาม : เป็นรูปแบบการเข้ารหัสที่กำหนดขึ้นหรือไม่?
in flag
ฉันไม่รู้ว่าจะเป็นไปได้หรือไม่ในตอนนี้ ดังนั้นจึงยังเร็วเกินไปที่จะกำหนดขอบเขตใดๆ จะดีกว่าถ้ามันกำหนดแม้ว่า
Ievgeni avatar
cn flag
คำถามอื่นๆ : $A$ ได้รับอนุญาตให้เพิ่มข้อมูลใหม่ (เช่น ZK-proofs) เพื่อช่วย B ในการตรวจสอบหรือไม่ ถ้าใช่ ข้อจำกัดด้านความปลอดภัยคืออะไร?
in flag
@levgeni ใช่ สามารถเพิ่มข้อมูลเพิ่มเติมได้ อย่างไรก็ตาม การยืนยันควรเกิดขึ้นก่อนการถ่ายโอน (ก่อนที่ผู้ใช้ B จะมีข้อมูล) ฉันกำลังมองหาสิ่งนี้: 1. ผู้ใช้ A -> เก็บข้อมูลที่เข้ารหัสด้วยรหัสสาธารณะของผู้ใช้ A ในสัญญาสาธารณะ 2. ผู้ใช้ A -> พยายามถ่ายโอนข้อมูลเดียวกันในครั้งนี้โดยเข้ารหัสโดยใช้รหัสสาธารณะของผู้ใช้ B ผ่านสัญญาสาธารณะเดียวกัน 3. สัญญาจะตรวจสอบว่าผู้ใช้ A ไม่ได้โกหก (ถ่ายโอนข้อมูลที่แตกต่างกัน)หากการยืนยันสำเร็จ ข้อมูลจะถูกเก็บไว้ มิฉะนั้น คำขอจะถูกปฏิเสธ สัญญาควรตรวจสอบสิ่งนี้ ไม่ใช่ผู้ใช้ B
in flag
^ ในตัวอย่างข้างต้น สัญญาไม่ทราบข้อมูลและไม่ทราบคีย์ส่วนตัวของผู้ใช้ A และผู้ใช้ B ทราบคีย์สาธารณะของ A และ B ข้อมูลที่เข้ารหัสโดยใช้คีย์สาธารณะของ A และข้อมูลเข้ารหัสโดยใช้ รหัสสาธารณะของ B คุณสามารถเพิ่มข้อมูลเมตาเพิ่มเติมเพื่อช่วยในการตรวจสอบนี้โดยไม่ต้องเปิดเผยข้อมูล
ming alex avatar
in flag
มีตัวอย่างสำหรับตอบคำถามของคุณในส่วน 20.2 ของ [หนังสือ](http://toc.cryptobook.us/book.pdf)
Score:1
ธง cn

การพิสูจน์ความรู้ที่ไม่มีศูนย์ดูเหมือนจะเหมาะสมกับเป้าหมายของคุณ $A$ ต้องพิสูจน์ว่ามีอยู่จริง $M$ ดังนั้น $C=Enc(M, pk_A)$, และ $C^\prime=Enc(M, pk_B)$. ZKP นี้สามารถทำได้โดยไม่ต้องเปิดเผยข้อมูลเกี่ยวกับข้อมูล $M$ (นั่นคือเหตุผลที่เราเรียกว่า Zero-Knowledge) สำหรับการยกตัวอย่างที่เป็นรูปธรรม คุณสามารถใช้การเข้ารหัส El Gamal และ เทคนิค Groth-Sahai ZK-proof :

https://en.wikipedia.org/wiki/ElGamal_encryption

https://eprint.iacr.org/2007/155

ขอให้สังเกตว่าคุณไม่จำเป็นต้องใช้รหัสส่วนตัวของ $B$ เพื่อตรวจสอบความเท่าเทียมกัน แต่ถ้าเป็นผู้ติดต่อที่ตรวจสอบได้ ก็น่าจะดีกว่า

โพสต์คำตอบ

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