「隐语小课」两方安全计算ABY2.0 高效的2PC协议

简介: 「隐语小课」两方安全计算ABY2.0 高效的2PC协议


收录于合集#隐语小课23个

一、介绍

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 Protocol

Online阶段:

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:对于p*q矩阵与q*r矩阵的乘法,结果矩阵的维度是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://www.secretflow.org.cn隐语社区:https://github.com/secretflowhttps://gitee.com/secretflow联系我们:公众号:隐语的小剧场B站:隐语secretflow邮箱:secretflow-contact@service.alipay.co

收录于合集 #隐语小课

23

上一篇「隐语小课」深度学习下的DP-SGD下一篇「隐语小课」联邦学习之“隐私保护图神经网络”


相关文章
|
机器学习/深度学习 安全 算法
技术焦点篇|Cheetah猎豹及其在隐语中的实现
技术焦点篇|Cheetah猎豹及其在隐语中的实现
1317 1
|
数据采集 缓存 安全
隐语小课|非平衡隐私集合求交(Unbalanced PSI)协议介绍
隐语小课|非平衡隐私集合求交(Unbalanced PSI)协议介绍
1124 0
|
存储 Rust 并行计算
【密码学】一文读懂XTS模式
这篇文章的灵感来源于我偶然翻到的一个某U盘有关磁盘加密的一个介绍(这一篇不是广告蛤), 然后发现这个模式我之前还真没遇到过,因此呢,就学习了一下,就出来了这一篇文章。
6953 0
【密码学】一文读懂XTS模式
|
安全 测试技术
网站CSRF跨站漏洞修复方案
CSRF通俗来讲就是跨站伪造请求攻击,英文Cross-Site Request Forgery,在近几年的网站安全威胁排列中排前三,跨站攻击利用的是网站的用户在登陆的状态下,在用户不知不觉的情况下执行恶意代码以及执行网站的权限操作,CSRF窃取不了用户的数据,只能执行用户能操作的一些数据。比如在用户不知道的情况下, 把账户里的金额,以及银行卡号,体现功能,都转移到其他人账户里去。如果被攻击者是一个管理员的权限,那么就会对网站安全构成严重的危害。
1458 0
网站CSRF跨站漏洞修复方案
|
12月前
|
存储 算法 C语言
c语言实现HashTable
本文介绍了如何在C语言中实现哈希表(HashTable),包括定义节点结构、自定义哈希函数、创建节点、插入节点、搜索节点和删除节点的完整过程。
193 0
c语言实现HashTable
|
机器学习/深度学习 并行计算 PyTorch
【多GPU炼丹-绝对有用】PyTorch多GPU并行训练:深度解析与实战代码指南
本文介绍了PyTorch中利用多GPU进行深度学习的三种策略:数据并行、模型并行和两者结合。通过`DataParallel`实现数据拆分、模型不拆分,将数据批次在不同GPU上处理;数据不拆分、模型拆分则将模型组件分配到不同GPU,适用于复杂模型;数据和模型都拆分,适合大型模型,使用`DistributedDataParallel`结合`torch.distributed`进行分布式训练。代码示例展示了如何在实践中应用这些策略。
2841 2
【多GPU炼丹-绝对有用】PyTorch多GPU并行训练:深度解析与实战代码指南
|
机器学习/深度学习 人工智能 安全
安全多方计算之九:不经意传输
安全多方计算之九:不经意传输
|
机器学习/深度学习 算法 数据挖掘
社交网络分析7:社交网络舆情分析 、 社交网络舆情演化传播建模 、 社交网络舆情用户研究 意见领袖识别 情感分析 、结构洞 、 生命周期 、 舆情分析 知识图谱 主题图谱 、 异质平均场
社交网络分析7:社交网络舆情分析 、 社交网络舆情演化传播建模 、 社交网络舆情用户研究 意见领袖识别 情感分析 、结构洞 、 生命周期 、 舆情分析 知识图谱 主题图谱 、 异质平均场
1314 0
|
存储 算法 安全
「隐语小课」伪随机相关生成器与 OT/VOLE
「隐语小课」伪随机相关生成器与 OT/VOLE
2211 0
|
机器学习/深度学习 安全 算法
干货分享 :安全多方计算中的“半诚实性”与“恶意安全性”
干货分享 :安全多方计算中的“半诚实性”与“恶意安全性”
2993 0