“隐语”是开源的可信隐衷计算框架,内置 MPC、TEE、同态等多种密态计算虚构设施供灵便抉择,提供丰盛的联邦学习算法和差分隐衷机制。
开源我的项目:
https://github.com/secretflow
https://gitee.com/secretflow
一、介绍
ABY2.0定义了新的sharing,扩大两输出乘法门到多输出乘法门,且其online阶段通信量与输出个数无关。在此基础上,结构了各种高效的原语,如内积、矩阵乘、比拟、最大/小池化、相等判断等。
ABY2.0与ABY均是在半诚恳模型下的两方平安计算框架,分为setup和online阶段,ABY2.0相比ABY进步了online阶段的效率。
二、更高效的2PC
ABY2.0与ABY的区别在于Arithmetic Share和Boolean Share,而Yao Share并无区别。
Boolean Share的技术与Arithmetic Share统一,只是环和的区别,本文只介绍Arithmetic Share。
1、Sharing Semantics
:对于,有,持有:对于,有,
可联合下图了解:
ABY用的是[ ]-sharing,ABY2.0用的是< >-sharing。
并且,< >能够本地转换为[ ],比方使
[ ]转换为< >须要通信,是通过之后讲述的Sharing Protocol来实现的。
论文中某些计算就是通过把< >转换为[ ]后,采纳之前的办法计算,而后间接或者变相把[ ]转换为< >。
2、Sharing Protocol
Setup阶段:生成随机数
独特生成随机数,因而,晓得值。
Online阶段:
3、Reconstruction Protocol
Online阶段:
4、Additional ProtocolOnline阶段:
5、Multiplication Protocol
setupMULT协定用来生成乘法三元组,即依据生成,并且满足,有基于OT和HE两种形式,细节见论文。
6、High level overview of Multiplication Gate
下面左图中是ABY中的MULT,对输出[a]、[b]应用随机数mask后,调用Reconstruction协定复原出而后求后果[c]。
下面右图中是ABY2.0中的MULT,变为已知,本地计算即可求出[c],调用Reconstruction协定复原出,从而求出<c>。
新MULT显著的长处是通信量减半,毛病是乘法三元组须要依据具体的电路构造提前生成好,而不能再轻易取一个乘法三元组来计算了。
7、Multi-Input Multiplication Protocol
公式的推导如下图:
Setup阶段:须要生成四个[ ]-sharing,其中的setupMULT3与setupMULT相似。与MULT相比拟,生成的sharing个数从1变为了4。
Online阶段:长处是Constant Communication。
Setup阶段:须要生成11个[ ]-sharing,曾经有点夸大了。
Online阶段:长处仍然是Constant Communication。
由MULT3和MULT4可看出,对于多输出乘法,Online阶段的通信量始终是Constant,只是Setup阶段的预计算量会呈指数增长。
三、更高效的ABY Share转换
在大多数转换协定中,ABY须要在online阶段调用OT操作,而ABY2.0只需在setup阶段调用OT操作,因而进步了效率。转换协定细节见论文,此处略去。
更高效的基本操作
在前述协定的根底上,文中构建了多个高效的基本操作。高效的起因有两点:
- 新形的sharing容许合并一些计算与通信
- 应用Multi-input MULT/AND Gate能够缩小电路层数
简要介绍如下:
1、Scalar Product
与单个MULT相似,内积其实是执行了多个MULT,并且合并使得只需一次通信即可。
2、Matrix Multiplication
Setup:应用setupMULT生成矩阵相乘时两两元素的乘法三元组,在此基础上结构出后果矩阵的[]-shares。
Online:对于pq矩阵与qr矩阵的乘法,后果矩阵的维度是p*r,通信量是O(pr),相比之前协定的O(pqr)有了很大的晋升。
3、Depth-Optimized Circuits
通过应用多输出门能够缩小电路层数。
上图中的8-bit PPA加法器,通过应用MULT3/MULT4,从3层电路变为了2层电路。64-bit电路、求最高位电路与此相似。
4、Comparison
为求,先计算,转换,再把通过Share Protocol转换为,而后就能够应用Depth-optimized Circuits中的求最高位电路。
5、Truncation
< >-sharing转换为[ ]-sharing,应用论文SecureML中的本地截断办法,而后再转回< >-sharing。
6、MAX2/MIN2
应用了Comparison。
7、MAX3/MIN3
应用了Comparison。
8、Non-linear Activation Functions
ReLU应用了上述的MAX: ReLU(v) = max(0, v)Sigmoid用了分段函数:
9、Maxpool and Minpool
应用了MAX3/MIN3结构三叉树,来缩小树的层数。
10、Equality Testing
对两操作数先求异或,再对所有位执行与操作。
应用了AND4 gate(AND4即为下的MULT4)来缩小树的层数。
四、性能
文中测试了LR与NN的性能,与SecureML做了比照,性能有大幅提高,如下图:
五、与Cheetah比照
ABY2.0 | Cheetah |
Semi-honest secure | |
Two-party computation | |
Mixed-Protocol (A、B、Y) | Hybrid system (HE-based Linear Layers and Secret Sharing-based Non-linear Layers) or (A、B、H) |
Use IKNP-style OT | Use Silent-OT |
Function-dependent Preprocessing | No Preprocessing |
General Protocol for MPC (e.g. ABY、Turbospdz 、 ABY2.0) | Special Protocol for DNN Inference (e.g. Delphi、CryptFlow2、Cheetah) |
总之,ABY2.0与Cheetah都是高效的半诚恳两方协定,实现技术不同,指标也不同,有点相似于CPU与GPU的比照。
六、总结
ABY2.0具备以下优缺点,其预计算过程需当时晓得要计算的函数,这是应用时须要留神的中央。
长处:
- Constant online cost of 2 ring elements for N-input MUL/AND Gates
- Better mixed protocol conversions
- Set of efficient building blocks
毛病:
- Function-dependent preprocessing
- More complicated preprocessing
七、参考文献
ABY2.0
https://www.usenix.org/system/files/sec21summer_patra.pdf
ABY2.0_slides
https://www.usenix.org/system/files/sec21_slides_patra.pdf
Cheetah
https://www.usenix.org/system/files/sec22-huang-zhicong.pdf
隐语社区:
https://github.com/secretflow
https://gitee.com/secretflow
https://www.secretflow.org.cn(官网)
欢送关注:
公众号:隐语的小剧场
B站:隐语secretflow
邮箱:secretflow-contact@service.alipay.com