สมมติ $n$ ปาร์ตี้ที่ไหน $t$ มีความซื่อสัตย์ต้องการทำโปรโตคอลการสร้างคีย์แบบกระจาย มีโครงร่างที่มีอยู่มากมาย ในการตั้งค่าที่เรียบง่ายซึ่งทั้งหมด $n$ ฝ่ายต่างๆ ต้องออนไลน์ มิฉะนั้นโปรโตคอลจะยกเลิก แผนง่ายๆ ต่อไปนี้เพียงพอหรือไม่
- แต่ละฝ่าย $i$ ตัวอย่าง $x_i \gets \mathbb{Z}_p$
- คำนวณ $X_i \ได้ g^{x_i}$
- สร้างหลักฐานความรู้เป็นศูนย์สำหรับความสัมพันธ์ลอการิทึมแบบไม่ต่อเนื่อง $(x_i, X_i)$เรียกสิ่งนี้ว่าหลักฐาน $\sigma_i$
- ออกอากาศ $(X_i, \sigma_i)$
- เมื่อได้รับ $n$ ข้อความตรวจสอบหลักฐานและคำนวณรหัสสาธารณะเป็น $pk \gets \sum_i X_i$
การเข้ารหัสดำเนินการโดยใช้ ElGamal จากนั้นทำการถอดรหัสแบบกระจายสำหรับข้อความเข้ารหัส $ค$ทุกฝ่ายเพียงแค่ออกอากาศผลการถอดรหัส ElGamal จากนั้นรวมผลลัพธ์เพื่อรับข้อความธรรมดาสุดท้าย เห็นได้ชัดว่าฝ่ายตรงข้ามสามารถหยุดฝ่ายที่ซื่อสัตย์ไม่ให้เรียนรู้ข้อความธรรมดาได้โดยการไม่ส่งส่วนถอดรหัสของเขา แต่นอกเหนือจากนั้น นี่จะเป็นโปรโตคอล DKG ที่ปลอดภัยหรือไม่ หากฉันไม่ต้องการสนับสนุนเกณฑ์ตามอำเภอใจ