手机手机网站建设,html静态网站开发个人博客,吉安网站建设343000,网页网站设计与制作ABY3中采用replicated secret sharing#xff08;复制秘密分享#xff09;机制#xff0c;即2-out-of-3秘密分享#xff0c;三个参与方的每一方都拥有share中的两份。下面来看一下这样做有什么好处。
2-out-of-3秘密分享
有 x , y x, y x,y两个操作数#xff0c;先进行秘…ABY3中采用replicated secret sharing复制秘密分享机制即2-out-of-3秘密分享三个参与方的每一方都拥有share中的两份。下面来看一下这样做有什么好处。
2-out-of-3秘密分享
有 x , y x, y x,y两个操作数先进行秘密分享 P 1 P_1 P1拥有 ( x 1 , x 2 ) , ( y 1 , y 2 ) (x_1, x_2), (y_1, y_2) (x1,x2),(y1,y2) P 2 P_2 P2拥有 ( x 2 , x 3 ) , ( y 2 , y 3 ) (x_2, x_3), (y_2, y_3) (x2,x3),(y2,y3) P 3 P_3 P3拥有 ( x 3 , x 1 ) , ( y 3 , y 1 ) (x_3, x_1), (y_3, y_1) (x3,x1),(y3,y1)
常见的计算
1 加法 ⟨ x y ⟩ ( x 1 y 1 , x 2 y 2 , x 3 y 3 ) \langle xy\rangle(x_1y_1, x_2y_2, x_3y_3) ⟨xy⟩(x1y1,x2y2,x3y3)
2 加常数 ⟨ x ⟩ c ( x 1 c , x 2 , x 3 ) \langle x\ranglec(x_1c, x_2, x_3) ⟨x⟩c(x1c,x2,x3)注意只需要加一次 c c c
3 数乘 ⟨ c x ⟩ ( c x 1 , c x 2 , c x 3 ) \langle cx\rangle(cx_1, cx_2, cx_3) ⟨cx⟩(cx1,cx2,cx3)
4 乘法 ⟨ x y ⟩ ( x 1 x 2 x 3 ) ( y 1 y 2 y 3 ) ( x 1 y 1 x 1 y 2 x 1 y 3 ) ( x 2 y 1 x 2 y 2 x 2 y 3 ) ( x 3 y 1 x 3 y 2 x 3 y 3 ) 调整一下顺序 ( x 1 y 1 x 1 y 2 x 2 y 1 ) α 1 [ P 1 → z 1 ] ( x 3 y 2 x 2 y 2 x 2 y 3 ) α 2 [ P 2 → z 2 ] ( x 3 y 1 x 1 y 3 x 3 y 3 ) α 3 [ P 3 → z 3 ] \langle xy\rangle(x_1x_2x_3)(y_1y_2y_3)\\(x_1y_1x_1y_2x_1y_3)\\(x_2y_1 x_2y_2 x_2y_3)\\(x_3y_1 x_3y_2 x_3y_3)\\调整一下顺序\\(x_1y_1x_1y_2x_2y_1)\alpha_1 [P_1\rightarrow z_1]\\(x_3y_2 x_2y_2 x_2y_3)\alpha_2 [P_2\rightarrow z_2]\\(x_3y_1 x_1y_3 x_3y_3)\alpha_3 [P_3\rightarrow z_3] ⟨xy⟩(x1x2x3)(y1y2y3)(x1y1x1y2x1y3)(x2y1x2y2x2y3)(x3y1x3y2x3y3)调整一下顺序(x1y1x1y2x2y1)α1[P1→z1](x3y2x2y2x2y3)α2[P2→z2](x3y1x1y3x3y3)α3[P3→z3] 暂不管 α \alpha α可以看到三个参与方可以分别在本地计算出 z 1 , z 2 , z 3 z_1, z_2, z_3 z1,z2,z3也就是交叉项的结果。 然而我们要求各方都持有三份share中的两份所以需要re-sharing操作也就是 P i P_i Pi将 z i z_i zi发给 P i − 1 P_{i-1} Pi−1。 现在来看 α \alpha α的作用 α \alpha α用于随机化 z z z我们需要让 α \alpha α满足 α 1 α 2 α 3 0 \alpha_1\alpha_2\alpha_30 α1α2α30。每一方都完全知道这三个值中的一个这样的三元组 ( α 1 , α 2 , α 3 ) (\alpha_1, \alpha_2, \alpha_3) (α1,α2,α3)被称为zero-sharing零共享在one-time setup后的计算无需任何交互。 那么如何生成三元组基于伪随机函数PRF生成这部分本文不展开。
由此可见3PC和2PC都在本地计算加法他们最大的不同就是乘法在2PC乘法中交叉项需要借助OT或HE计算带来巨大的通信或计算开销而基于复制秘密分享的3PC乘法完全在本地计算交叉项无需通信在re-sharing时需要少量的通信。
5 截断
方法1 Π T r u n c 1 \Pi_{Trunc1} ΠTrunc1 核心想法是在一方不参与的情况下运行两方协议。 令各方有 ⟨ x ′ ⟩ ⟨ y ⟩ ⟨ z ⟩ \langle x^\prime\rangle\langle y\rangle \langle z\rangle ⟨x′⟩⟨y⟩⟨z⟩的2-out-of-3的share上面乘法后的结果现在的目的是计算截断 ⟨ x ⟩ ⟨ x ′ ⟩ / 2 d \langle x\rangle\langle x^\prime \rangle/2^d ⟨x⟩⟨x′⟩/2d。 定义 P 1 , P 2 P_1, P_2 P1,P2之间的2-out-of-2 share为 ( x 1 ′ , x 2 ′ x 3 ′ ) (x_1^\prime, x_2^\primex_3^\prime) (x1′,x2′x3′)然后双方在本地截断 ( x 1 ′ / 2 d , ( x 2 ′ x 3 ′ ) / 2 d ) (x_1^\prime/2^d, (x_2^\primex_3^\prime)/2^d) (x1′/2d,(x2′x3′)/2d)最后的结果为 ⟨ x ⟩ : ( x 1 , x 2 , x 3 ) ( x 1 ′ / 2 d , ( x 2 ′ x 3 ′ ) / 2 d − r , r ) \langle x\rangle:(x_1, x_2, x_3)(x_1^\prime/2^d, (x_2^\primex_3^\prime)/2^d-r, r) ⟨x⟩:(x1,x2,x3)(x1′/2d,(x2′x3′)/2d−r,r)其中 r ∈ Z 2 k r\in\mathbb Z^k_2 r∈Z2k是一个 P 2 , P 3 P_2, P_3 P2,P3知道的随机数。最后为了让三方拥有两份share需要再做一次re-sharing操作。 这个方法的局限性是两轮计算需要乘法和截断。 方法2 Π T r u n c 2 \Pi_{Trunc2} ΠTrunc2