ฉันคิดว่ามีความสับสนกับคำศัพท์ "การคำนวณที่ปลอดภัยจากการแบ่งปันข้อมูลลับ" ให้ฉันพยายามชี้แจง
มีการตั้งค่าหลักสองแบบสำหรับการคำนวณที่ปลอดภัย: การตั้งค่าเสียงส่วนใหญ่ที่เที่ยงตรง (จาก $n$ ปาร์ตี้มากที่สุด $(n-1)/2$ ไม่สุจริต) และการตั้งเสียงข้างมากไม่สุจริต (ไม่เกิน $n-1$ ฝ่ายทุจริตได้) การตั้งค่าทั้งสองมีความแตกต่างที่สำคัญมาก: การตั้งค่าแรกสามารถทำได้โดยไม่ต้องใช้การคำนวณใดๆ เนื่องจากสามารถป้องกันได้แม้กับบุคคลที่ไม่ซื่อสัตย์ซึ่งมีอำนาจในการคำนวณไม่จำกัด ในทางกลับกัน แบบที่สอง "จ่าย" การต่อต้านการคอร์รัปชันที่แข็งแกร่งขึ้น โดยจำเป็นต้องมีสมมติฐานทางการคำนวณ (โปรโตคอล MPC ส่วนใหญ่ที่ไม่ซื่อสัตย์ไม่สามารถป้องกันบุคคลที่ไม่มีขอบเขตทางการคำนวณ)
ที่นี่ คุณกำลังพูดถึงการเปรียบเทียบที่ปลอดภัยและอ้างอิงเอกสารของฉัน ดังนั้นฉันคิดว่าคุณกำลังพูดถึงการคำนวณสองฝ่ายที่ปลอดภัย แน่นอน การคำนวณสองฝ่ายจัดอยู่ในประเภทที่สอง: คุณไม่สามารถมีผู้เล่นส่วนใหญ่ที่ซื่อสัตย์ระหว่างผู้เล่นสองคนได้ (เว้นแต่ว่าทุกคนจะซื่อสัตย์ ในกรณีนี้จะไม่มีอะไรต้องปกป้อง) ซึ่งหมายความว่าคุณ ต้อง ใช้สมมติฐานการคำนวณ
แบ่งปันความลับคือ ไม่ สมมติฐานการคำนวณ การแบ่งปันความลับมีอยู่โดยไม่มีเงื่อนไข: การแบ่งปันความลับของ Shamir เป็นเพียงการแก้ไขพหุนาม ดังนั้นจึงเป็นที่พิสูจน์ได้ เป็นไปไม่ได้ เพื่อสร้างโปรโตคอลการคำนวณที่ปลอดภัยสำหรับ 2 ฝ่ายสำหรับการเปรียบเทียบโดยใช้การแชร์แบบลับเท่านั้น โปรโตคอลทั้งหมด ต้อง อาศัยสมมติฐานทางคอมพิวเตอร์ซึ่งอาจเป็นการเข้ารหัสแบบโฮโมมอร์ฟิก การถ่ายโอนแบบลืมเลือน หรืออย่างอื่น
ฉันคิดว่าแหล่งที่มาของความสับสนอาจมาจากคำศัพท์ทั่วไปใน MPC: หลายคนใช้คำศัพท์ "MPC ที่แบ่งปันความลับ" แม้ในการตั้งค่าเสียงข้างมากที่ไม่ซื่อสัตย์ แต่คำศัพท์นี้หมายถึงเทคนิคการแบ่งปันความลับเท่านั้น ใช้แล้ว ในโปรโตคอล มักจะคล้ายกับโปรโตคอล GMW อย่างไรก็ตาม ไม่ได้หมายความว่าโปรโตคอลจะใช้การแบ่งปันแบบลับเพียงอย่างเดียว เนื่องจากเป็นไปไม่ได้ โดยทั่วไปแล้ว เมื่อเราพูดว่า "MPC ที่ใช้การแชร์แบบลับ" เราหมายถึงโปรโตคอล MPC ที่ใช้เทคนิคการแชร์แบบลับและการถ่ายโอนแบบลืมเลือน
ดังนั้น "วิธีการที่ใช้การแบ่งปันความลับ" สำหรับการเปรียบเทียบที่ปลอดภัยก็เหมือนกับเอกสารของฉัน นั่นคือวิธีการที่ใช้การถ่ายโอนที่หลงลืมเป็นข้อสันนิษฐานในการคำนวณ หากคุณดูรายงานของฉันในหัวข้อ 1.5 ฉันยังเปรียบเทียบโปรโตคอลของฉันกับ "2PC ทั่วไปที่ใช้กับ [GSV07]" ในที่นี้ '2PC ทั่วไป' หมายถึง 2PC สไตล์ GMW มาตรฐาน ซึ่งเป็นสิ่งที่มักเรียกว่า 'การแชร์แบบลับตาม MPC' โปรโตคอลแบบ GMW ต้องการการแสดงวงจรบูลีนของฟังก์ชันเป้าหมาย นั่นเป็นเหตุผลที่ฉันพูดว่า "ใช้กับ [GSV07]" ซึ่งมีวงจรดังกล่าวอย่างแม่นยำ ดังนั้น ฉันจึงเปรียบเทียบงานของฉันกับสิ่งที่มักเรียกว่า 'การแบ่งปันความลับ MPC' - แต่ฉันไม่ได้ใช้คำศัพท์ที่ดูเหมือนจะเป็นสาเหตุของความสับสนของคุณ