关于隐私:隐语小课|两方安全计算ABY20-高效的2PC协议

3次阅读

共计 3285 个字符,预计需要花费 9 分钟才能阅读完成。

“隐语”是开源的可信隐衷计算框架,内置 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 协定复原出而后求后果。
下面右图中是 ABY2.0 中的 MULT,变为已知,本地计算即可求出,调用 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://github.com/secretflow
https://gitee.com/secretflow
https://www.secretflow.org.cn(官网)

👇欢送关注:
公众号:隐语的小剧场
B 站:隐语 secretflow
邮箱:secretflow-contact@service.alipay.com

正文完
 0