ABY - A Framework for efficient Mixed-Protocol Secure Two-Party Computation 阅读笔记 Part I

less than 1 minute read

Published:

ABY - A Framework for efficient Mixed-Protocol Secure Two-Party Computation 阅读笔记 Part I

今天看了一下MPC的秘密共享框架ABY,主要看了Arithmetic部分,介绍了如何进行加法与乘法的计算,并介绍了如何用同态加密的方法以及不经意传输的方法生成Beaver三元组,但是OTBASE暂时没看懂,明天再看吧

1). Share Semantics:

1. Shared values:

对于一个数$x$的l字节Arithmetic共享$<x>^A$,我们有$<x> ^A_0 + <x>^A_1=<x>^A , <x>0^A,<x>_1^A\in Z{2^l} $

2. Sharing:

定义$Shri^A_i(x):$ $P_i$随机选$r\in Z_{2^l},$ 令$<x>i^A=x-r$,并发送r给$P{1-i}$,$P_{1-i}$ 将$<x>_{1-i}^{A}$ 设为r

3. Reconstruction:

定义$Rec_i^A(x):$ $P_{1-i}$ 将$<x>{1-i}^A$给$P{i}$,$P_i$计算$x=<x>_0^A+<x>_1^A$

2). Operations:

1. Addition

需要计算$<z>^A=<x>^A+<y>^A$,只需要$P_i$本地计算$<z>_i^A=<x>_i^A+<y>_i^A$

2. Multiplication

需要计算$<z>^A=<x>^A<y>^A$ 初始状态: $A: <x>^A_0,<y>^A_0$ $B:<x>^A_1,<y>_1^A$ 目标状态: $A:<z>^A_0$ $B:<z>^A_1$ $s.t. <z>^A_0+<z>^A_1=<z>_A=<x>_A\times<y>_A$ 方案如下:

  1. 准备三元组$(a,b,c=a\times b)$ 然后将$(a,b,c=a\times b)$ 加法共享给$P_0,P_1$(具体方案会在之后介绍) $A:\_0^A,\_0^A,\^A_0,\_0^A,\_0^A$ $B:\_1^A,\_1^A,\_1^A,\_1^A,\_1^A$</p></li>
  2. 两方各自计算$\^A_i=\^A_i-\^A_i,\_i^A=\^A_i-\^A_i$(盲化$\,\$) $A:_0^A,_0^A,^A_0,_0^A,_0^A,_0^A,_0^A$ $B:\_1^A,\_1^A,\_1^A,\_1^A,\_1^A,\^A_1,\_1^A$</p></li>

  3. 双方共享自己的$,$ $A:\_0^A,\_0^A,\^A_0,\_0^A,\_0^A,\^A,\^A$ $B:\_1^A,\_1^A,\_1^A,\_1^A,\_1^A,\^A,\^A$</p></li>

  4. 计算$\_0^A=f\times \^A_0+e\times \^A_0+\_0^A$与$\_1^A=e\times f+f\times \^A_1+e\times\^A_1+\_1^A$ 故有$\^A+\^B=e\times f+f\times a+e\times b+c=x\times y$</p></li> </ol>

    3. 生成三元组 $(a,b,c=a\times b)$

    (1). 通过同态加密实现

    注释:Pailler同态加密指的是$Enc_0(a+b)=Enc_0(a)\times Enc_0(b)$ 初始状态:$P_0,P_1$分别随机$_0^A,_1^A,_0^A,_1^A$,$P_1$随机一个随机数$r$ 需要获得一个$\_0^A,\^A_1$,使得$\_0^A+\_1^A=\^A=\^A\^A=(\^A_0+\^A_1)(\_0^A+\^A_1)$ 方案如下:

    1. $P_0$发送给$P_1$: $Enc_0(\_0^A), Enc_0(\^A_0)$ $P_0:\^A_0,\^A_0$ $P_1:\^A_0,\^A_1,r,Enc_0(\_0^A),Enc_0(\_0^A)$</p></li>
    2. $P_1$发给$P_0$: $d=Enc_0(\_0^A)^{\^A_1}\times Enc_0(\_0^A)^{\_1^A}\times Enc_0(r)$</p></li>

    3. $P_0$计算$\_0^A=\_0^A \_0^A+Dec_0(d)=\_0^A\^A_0+\_0^A\^A_1+\_1^A\_0^A+r$</p></li>

    4. $P_1$计算 $\_1^A=\_1^A\_1^A-r$</p></li> </ol>

      (2).通过OT实现

      暂时还不会 明天看!