ดังที่มาร์กกล่าวไว้ ในทางทฤษฎีแล้ว มันเป็นปัญหาที่แก้ไขได้ (เรารู้วิธีการแก้ปัญหา วิธีการที่ทราบนั้นไม่ง่าย)
อย่างไรก็ตาม ด้วยการปรับแต่งเล็กน้อย เราสามารถทำให้ปัญหานี้ง่ายขึ้น
วิธีการแก้ปัญหาของฉันขึ้นอยู่กับความมุ่งมั่นของ Pedersen; สิ่งเหล่านี้ขึ้นอยู่กับกลุ่มขนาดเฉพาะขนาดใหญ่ (ซึ่งปัญหาการบันทึกแบบแยกส่วนนั้นยาก) และสมาชิกกลุ่มสองคน $g$ และ $h$ (ซึ่งไม่ทราบความสัมพันธ์ โดยเฉพาะไม่มีใครทราบวิธีแก้ปัญหา $x$ ถึง $g^x = h$).
ความมุ่งมั่นของ Pedersen ต่อคุณค่า $x$ คือค่า $g^xh^r$สำหรับการสุ่ม $r$; คุณสมบัติ; เราสามารถออกข้อผูกมัดได้ (โดยการเผยแพร่ค่า $g^xh^r$) จากนั้นจึงเปิดข้อผูกมัด (โดยการเผยแพร่ค่าต่างๆ $x, r$; ทุกคนสามารถตรวจสอบได้ว่าค่าเหล่านั้นให้คำมั่นสัญญา
มีคนมอง $g^xh^r$ ไม่สามารถกำหนดอะไรได้ $x$ คือ (อันที่จริง สำหรับค่าใดๆ ที่เป็นไปได้ของ $x$มีค่า $r$ ที่จะให้ค่าความมุ่งมั่นนั้น)
ผู้ออกไม่สามารถเปิดข้อผูกพันได้สองทาง นั่นคือถ้าเขาให้คำมั่นสัญญา $g^xh^r$เขาไม่สามารถหาค่าได้ $r'$ ดังนั้น $g^{x'} h^{r'}$ ประเมินเป็นค่าเดียวกัน
ด้วยพื้นฐานดังกล่าว เขาคือข้อเสนอของฉัน:
Charlie ส่งค่าต่อไปนี้ให้อลิซ:
$x_1$ และ $x_2$
ความมุ่งมั่นที่ลงนามในค่านิยมเหล่านั้น นั่นคือ สำเนาที่ลงนามแล้วของ $g^{x_1} ชั่วโมง^{r_1}$ และ $g^{x_2}h^{r_2}$
ค่าสุ่ม $r_1$ และ $r_2$ (เพราะเขาได้ให้ค่าตามที่เขากำหนดไว้แล้ว การให้ค่าแบบสุ่มเหล่านี้จึงไม่เป็นอันตราย)
รหัสสาธารณะของเขา
จากนั้นอลิซก็คำนวณ $x = x_1 + x_2$และสร้างการพิสูจน์ที่ไม่มีความรู้ว่าผลรวมของค่าสองค่าที่กระทำโดย $g^{x_1} ชั่วโมง^{r_1}$ และ $g^{x_2}h^{r_2}$ เป็น $x$. สิ่งนี้สามารถทำได้โดยสร้างหลักฐานความรู้ว่าอลิซรู้คุณค่า $s$ ดังนั้น $h^s = g^{x_1} h^{r_1} \cdot g^{x_2}h^{r_2} \cdot g^{-x}$; อลิซสามารถสร้างหลักฐานดังกล่าวได้ก็ต่อเมื่อ $x_1 + x_2 = x$
อลิสก็ส่งต่อให้บ๊อบค่า $x$สัญญาผูกมัดสองรายการที่ลงนาม คีย์สาธารณะ (เพื่อให้ Bob สามารถตรวจสอบลายเซ็นได้) และหลักฐานที่ไม่มีความรู้ (ซึ่ง Bob สามารถตรวจสอบได้เช่นกัน)
สิ่งนี้ดูเหมือนจะมุ่งสู่เป้าหมายสุดท้าย (และค่อนข้างเรียบง่าย มีรายละเอียดบางอย่างที่ฉันแค่โบกมือให้อย่างคลุมเครือ อย่างไรก็ตาม การวิจัยเล็กน้อยจะทำให้สิ่งเหล่านี้ดีขึ้น)