Beaver三元组用于乘法共享
Beaver 三元组(Beaver triples)是安全多方计算(MPC)中一个超级聪明、实用的技巧,用来安全地做乘法
通俗类比:就好像你和朋友要乘两个私密数字,但你们提前准备了一个万能“乘法模板”,可以安全又正确地偷偷算出结果。
Motivation
在安全多方计算里:
- 加法很容易做:每个人把自己数据碎片加一下就行。
- 但乘法就麻烦了,因为:
- 两个秘密数的乘积不能直接从碎片算
- 又不能暴露真实数值
- 所以需要巧妙地”绕过去“
Beaver 三元组应运而生
Defination
Beaver 三元组表示为:
- 所有参与方各自拿到这些数的“碎片”,但不知道完整的值。
- 它跟我们真正要计算的
没有关系,只是一个通用的乘法工具。
Algorithm
假设两位参与方想计算:
但每人都只知道自己的秘密(
步骤如下:
每人拿到
和 的秘密共享,还有一个 Beaver 三元组 ,满足 本地计算(在共享上进行):
公布
和 (这不会泄露 和 ,因为 和 是随机的) 使用下面的公式计算结果:
安全性说明:
虽然你公开了