定义:三个秘密分享的数[a]、[b]、[c],其中a和b是随机和未知的,c=ab
作用:通过低效地乘法协议使两个随机值进行乘法运算,后面就可以使得两个秘密分享的数不需要低效的乘法协议而进行乘法运算
问题:
对于多方安全计算中的乘法运算[ab] = [a]×[b],会使用可能不高效的乘法协议,会产生通信,但是不会泄露a和b。
假设需要多方计算z = xy,那么beaver triple在秘密值乘法运算的过程:
1. 预处理阶段,参与方们生成一个三元组[a]、[b]、[c]。(由每个参与方生成随机值[ai],最后相加所有份额而得到[a])
2. online阶段,计算
此时所有服务器得到了公开常数A和B,并且不会暴露x和y
3. 最后,计算
于是,两个秘密值[x]、[y]的乘法运算就变成了只有[y]的常数乘法和其它的常数项
显然一次乘法运算会消耗一个三元组,如果多次使用,可能会不安全