「隐语小课」两方安全计算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下一篇「隐语小课」联邦学习之“隐私保护图神经网络”


目录
打赏
0
0
0
0
1031
分享
相关文章
隐语实训营-第3讲:详解隐私计算框架的架构和技术要点
主要介绍隐语的隐私计算架构,并对每个模块进行拆解、分析,以期望不同使用者找到适合自己的模块,快速入手。
182 4
课3-详解隐私计算框架的架构和技术要点
隐语架构涵盖产品、算法、计算、资源和硬件五层,旨在实现互联互通和跨域管控。产品层包括SecretPad等,简化用户和集成商体验。算法层涉及PSI/PIR、SCQL和联邦学习,提供隐私保护的数据分析和学习。计算层如RayFed、SPU、HEU等,支持分布式计算和密态处理。资源层的KUSCIA用于跨机构任务编排,硬件层涉及FPGA等加速器。互联互通支持黑盒和白盒模式,确保不同平台协作。跨域管控则强调数据流转控制,保护数据权益。
|
9月前
|
IM跨平台技术学习(十二):万字长文详解QQ Linux端实时音视频背后的跨平台实践
本文详细记录了新版QQ音视频通话在 Linux 平台适配开发过程中的技术方案与实现细节,希望能帮助大家理解在 Linux 平台从 0 到 1 实现音视频通话能力的过程。
267 2
IM开发者的零基础通信技术入门(十三):为什么手机信号差?一文即懂!
本系列文章尽量使用最浅显易懂的文字、图片来组织内容,力求通信技术零基础的人群也能看懂。但个人建议,至少稍微了解过网络通信方面的知识后再看,会更有收获。如果您大学学习过《计算机网络》这门课,那么一定不要错过本系列文章。
90 0
如何搭建一个高效稳定的体育直播系统?通用架构源码分享
分享一套东莞梦幻网络科技研发体育直播系统通用架构源码,该系统涵盖多个平台,包括Android、iOS、PC和H5。
体育直播软件开发和技术数据对接的差别
由于直播技术的不断发展,体育直播软件成为了体育爱好者们观看体育赛事和获取赛事信息及的重要渠道。下面我们就讨论体育直播软件开发和技术数据对接的差别,以及他们怎样相互实现功能和数据的完美结合组成体育直播平台。
IM开发者的零基础通信技术入门(十):零基础,史上最强5G技术扫盲
那么作为IM开发者,或者移动端开发者来说,提前了解5G技术显然是很有必要的。那么什么是5G技术?技术原理是怎么样的?5G技术将带来哪些技术革新?本文将以零基础的应用程序开发者为阅读对象,帮你找到这些问题的答案。
164 0
IM开发者的零基础通信技术入门(十):零基础,史上最强5G技术扫盲
启明云端分享:基于工业级嵌入式核心板卡制作而成的核心模块
WT-ARM9X25-S2 核心模块是基于 ATMEL AT91SAM9X25 ARM9 处理器的工业级嵌入式核心板卡,采用表贴式邮票口封装, 4cm X 4cm 超小尺寸, 108 引脚。该产品主要面向工业控制,仪表仪器,医疗电子,物联网网关等应用, 可以帮助客户快速开发高可靠性产品。
220 0
启明云端分享:基于工业级嵌入式核心板卡制作而成的核心模块
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等