本篇文章,是必读的隐私计算内容。我的感受是:读着读着你忽然心灵一颤,卧槽,奇才!话不多说,直奔主题:
一.解决的问题以及有点:
1.小数问题:之前解决的方法基本是缩放,这样将带来误差。
2.三方隐私计算:三个参与方,至少一个腐败方。
3.电路转换:算数电路,布尔电路,混淆电路计算各有利弊,转换会带来计算优化。
4.效率:所有计算都是建立在效率的基础上,总之ABY3将大大提高效率。
二.秘密分享:
1.算数电路:
(1)x = x1+x2+x3,y = y1+y2+y3
x和y都分享成功,任何两个参与方即可恢复秘密,拥有常见计算:
接下来计算x·y:
将z1发送给P3, z2发送给P1,z3发送给P2。任何一个参与方拥有两个秘密,也可以恢复秘密。但是存在隐私问题,z1,z2,z3,会秘密泄露,所以需要加入随机数进行盲化,α1 + α2 + α3 = 0。
接下来介绍一下 α产生方法和优化方案:
每个人产生一个伪随机种子,并将自己的种子发送给下一家。这样每个人拥有两个种子,对于任何一个数,产生两个随机数做差
这样所有参与方不需要交互直接产生秘密分享,---->零分享完成。
同理继续思考:对于每一个数,是不是压根不需要计算就可以分享,所有人本身就有0的分享,任何参与只需要在自己的随机数上加上要分享的x,实现分享。。这种方法可以减少频繁的交互。
2.布尔电路:
和 算数分享类似,但是计算在模2上。加法和乘法对应为抑或(⊕)和与(∧)。
3.混淆电路:
(1)双方的混淆电路:混淆电路
优化:三种方案主要看free-xor --->优化