SPDZ และ MPC เชิงเลขคณิตบนส่วนแบ่งความลับ
ดำเนินการบวกและคูณร่วมกันบนจำนวนเต็มที่แบ่งเป็นความลับ
SPDZ และ MPC เชิงเลขคณิตบนส่วนแบ่งความลับ เป็นบทเรียน Cryptology Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Cryptology Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Cryptology Academy มีบทเรียนทั้งหมด 4 บทเรียน
MPC เชิงเลขคณิตเทียบกับ MPC แบบบูลีน
MPC แบบบูลีนทำงานกับบิต โดยใช้ XOR และ AND ส่วน MPC เชิงเลขคณิตทำงานกับจำนวนเต็มหรือสมาชิกฟิลด์ และรองรับการบวกกับการคูณโดยตรง จึงเหมาะกับแอปพลิเคชันด้านการเรียนรู้ของเครื่องและสถิติมากกว่า
การแบ่งปันความลับแบบบวกเหนือ Z_p
ค่า x ∈ Z_p จะถูกแบ่งเป็น x = x_1 + x_2 + ... + x_n mod p การบวกค่าที่ถูกแบ่งไม่มีค่าใช้จ่าย เพราะแต่ละฝ่ายบวกส่วนแบ่งของตนในเครื่องได้โดยไม่ต้องสื่อสาร
ทริปเปิลการคูณของบีเวอร์
ในการคูณส่วนแบ่ง [a] และ [b] ผู้เข้าร่วมจะแจกจ่าย ทริปเปิลบีเวอร์ ([a_t], [b_t], [c_t]) ไว้ล่วงหน้า โดยที่ c_t = a_t·b_t การคูณในระยะออนไลน์ใช้การสื่อสารเพียงหนึ่งรอบ
ภาพรวมโพรโทคอล SPDZ
SPDZ (ดัมการ์ด และคณะ 2012) = "การเข้ารหัสแบบโฮโมมอร์ฟิกบางส่วนเพื่อการแจกจ่ายแบบไม่เปิดเผยความรู้" ระยะออฟไลน์สร้างทริปเปิลที่รับรองความถูกต้องผ่าน SHE ส่วนระยะออนไลน์ประเมินค่าจากส่วนแบ่งแบบบวกได้อย่างรวดเร็ว
รหัสยืนยันข้อความใน SPDZ
ส่วนแบ่งแต่ละค่าจะมาพร้อมกับ MAC: MAC(x_i) = α·x mod p โดย α เป็นคีย์ลับส่วนกลาง วิธีนี้ป้องกันไม่ให้ผู้เข้าร่วมที่มุ่งร้ายแก้ไขส่วนแบ่งของตนโดยไม่มีใครตรวจพบ
ระยะออฟไลน์: การสร้างทริปเปิล
ระยะออฟไลน์ของ SPDZ ใช้การเข้ารหัสแบบโฮโมมอร์ฟิกบางส่วน (BGV/BFV) ผู้เข้าร่วมคูณส่วนแบ่งของตนแบบโฮโมมอร์ฟิกเพื่อสร้างทริปเปิลบีเวอร์ที่รับรองความถูกต้อง ระยะนี้ใช้การคำนวณมาก แต่สามารถทำงานขนานกันได้
ระยะออนไลน์: การคูณความเร็วสูง
เมื่อมีทริปเปิล ([a],[b],[c]) และอินพุต [x],[y] ให้เปิดเผย d=x-a และ e=y-b ซึ่งถูกปกปิดไว้ จึงไม่ทำให้ข้อมูลรั่วไหล จากนั้น [x·y] = [c] + d·[b] + e·[a] + d·e ใช้การสื่อสารหนึ่งรอบ
MASCOT: ระยะออฟไลน์ที่ใช้ OT
MASCOT แทนที่ระยะออฟไลน์ที่ใช้ SHE ด้วยส่วนขยาย OT ทำให้สร้างทริปเปิลได้เร็วขึ้นสำหรับฟิลด์ขนาดเล็ก และเป็นวิธีออฟไลน์ที่นิยมใช้สำหรับ SPDZ แบบสองฝ่าย
การใช้ SPDZ: สถิติส่วนตัว
โรงพยาบาลหลายแห่งคำนวณอายุเฉลี่ยของผู้ป่วยโดยไม่แบ่งปันระเบียน แต่ละแห่งเข้ารหัสข้อมูลของตนเป็นส่วนแบ่งเชิงเลขคณิต SPDZ ประเมินผลรวมและจำนวนรายการ ส่วนผู้เข้าร่วมจะเรียนรู้เฉพาะอัตราส่วน
ประสิทธิภาพและความสามารถในการขยายระบบ
SPDZ-2k (เครเมอร์ และคณะ 2018) ขยายไปยัง Z_{2^k} เพื่อรองรับเลขคณิตแบบจุดตรึงที่เหมาะกับการเรียนรู้ของเครื่อง ไลบรารี MP-SPDZ ทำความเร็วได้ 1 ล้านการคูณต่อวินาทีผ่าน LAN สำหรับผู้เข้าร่วมสองฝ่าย
แบบทดสอบความเข้าใจ
ทริปเปิลการคูณของบีเวอร์มีจุดประสงค์ใดใน MPC เชิงเลขคณิต
สรุปบทเรียน
MPC เชิงเลขคณิตใช้ส่วนแบ่งแบบบวกเหนือ Z_p การบวกไม่มีค่าใช้จ่าย ส่วนการคูณใช้ทริปเปิลบีเวอร์ในหนึ่งรอบ SPDZ เพิ่ม MAC เพื่อความปลอดภัยต่อผู้มุ่งร้าย MASCOT ใช้ OT เพื่อสร้างทริปเปิลได้รวดเร็ว และ MP-SPDZ นำวิธีเหล่านี้มาใช้งานจริง
คำถามที่พบบ่อย
บทเรียน “SPDZ และ MPC เชิงเลขคณิตบนส่วนแบ่งความลับ” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “SPDZ และ MPC เชิงเลขคณิตบนส่วนแบ่งความลับ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Cryptology Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Cryptology Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “SPDZ และ MPC เชิงเลขคณิตบนส่วนแบ่งความลับ”
ดำเนินการบวกและคูณร่วมกันบนจำนวนเต็มที่แบ่งเป็นความลับ คุณปฏิบัติ Cryptology Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Cryptology Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Cryptology Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน
บทเรียน “SPDZ และ MPC เชิงเลขคณิตบนส่วนแบ่งความลับ” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Cryptology Academy นี้ได้ไหม
ได้ บทเรียน Cryptology Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- ปัญหา MPC และวงจรบูลีนที่ทำให้สับสนของ Yao
- โพรโทคอล GMW และการถ่ายโอนแบบไม่รู้ตัว
- SPDZ และ MPC เชิงเลขคณิตบนส่วนแบ่งความลับ
- การประยุกต์ใช้ MPC: การหาจุดร่วมของเซตแบบรักษาความเป็นส่วนตัวและแมชชีนเลิร์นนิง