半诚实的高吞吐量三方秘密分享

本文详细介绍了在计算领域中,三方参与者进行的秘密分享机制,其中每个参与者持有部分信息,通过交互计算可以在不泄露完整秘密的前提下进行加法和乘法等同态操作。关键概念包括半诚实假设、(2,3)门限秘密分享以及在Z2n或有限域上的计算过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

三方秘密分享

本文介绍在[1]中提出来的三方秘密分享。这里的三方秘密分享是指计算的参与者有三个。秘密拥有者将秘密分享给三个参与者,然后三个参与者通过交互计算关于秘密的一个多项式函数。文章中的假设是三个参与者都是半诚实的,会遵守协议的规则,但可能通过额外的计算尝试获取秘密的信息。任意两个参与方即可重构秘密,也就是这是一个(2,3)(2,3)(2,3)门限秘密分享。

需要注意的是,这里的计算是在Z2n\mathbb{Z}_{2^n}Z2n或者有限域上。当n=1n=1n=1时,该秘密分享变成布尔秘密分享。

假设秘密拥有者为OOO,参与者为P1,P2,P3P_1,P_2,P_3P1,P2,P3.下面介绍具体的秘密分享方案。

秘密分享

1、假设需要分享的秘密为vvv,拥有者OOO随机产生x1+x2+x3=0x_1+x_2+x_3=0x1+x2+x3=0.
2、OOO计算a1=x3−va_1=x_3-va1=x3v,然后将(x1,a1)(x_1,a_1)(x1,a1)发送给P1P_1P1
3、OOO计算a2=x1−va_2=x_1-va2=x1v,然后将(x2,a2)(x_2,a_2)(x2,a2)发送给P2P_2P2
4、OOO计算a3=x2−va_3=x_2-va3=x2v,然后将(x3,a3)(x_3,a_3)(x3,a3)发送给P3P_3P3.

秘密重建

我们讨论,任意两个参与者都可以重建秘密:
1、P1,P2P_1,P_2P1,P2,计算x1−a2=x1−(x1−v)=vx_1-a_2=x_1-(x_1-v)=vx1a2=x1(x1v)=v
2、P2,P3P_2,P_3P2,P3,计算x2−a3=x2−(x2−v)=vx_2-a_3=x_2-(x_2-v)=vx2a3=x2(x2v)=v
3、P1,p3P_1,p_3P1,p3,计算x3−a1=x3−(x3−v)=vx_3-a_1=x_3-(x_3-v)=vx3a1=x3(x3v)=v.

同态计算

秘密分享的同态计算指的是,在不重构秘密的情况下,计算函数值的秘密分享。一般最常见的是加法和乘法。

假设v1v_1v1的秘密分享为(xi,ai)(x_i,a_i)(xi,ai)v2v_2v2的秘密分享为(yi,bi)(y_i,b_i)(yi,bi),其中i=1,2,3i=1,2,3i=1,2,3. 下面讨论如何同态的计算v1+v2v_1+v_2v1+v2v1v2v_1v_2v1v2的秘密分享。

加法

加法是显然的,zi=xi+yi,ci=ai+biz_i=x_i+y_i,c_i=a_i+b_izi=xi+yi,ci=ai+bi,则(zi,ci)(z_i,c_i)(zi,ci)v1+v2v_1+v_2v1+v2的秘密分享。也就是每个参与者本地将v1,v2v_1,v_2v1,v2的秘密分享加起来就可以了。

证明:
1、c1=a1+b1=x3−v1+y3−v2=(x3+y3)−(v1+v2)=z3−(v1+v2)c_1=a_1+b_1=x_3-v_1+y_3-v_2=(x_3+y_3)-(v1+v_2)=z_3-(v_1+v_2)c1=a1+b1=x3v1+y3v2=(x3+y3)(v1+v2)=z3(v1+v2)
2、c2=a2+b2=x1−v1+y1−v2=(x1+y1)−(v1+v2)=z1−(v1+v2)c_2=a_2+b_2=x_1-v_1+y_1-v_2=(x_1+y_1)-(v_1+v_2)=z_1-(v_1+v_2)c2=a2+b2=x1v1+y1v2=(x1+y1)(v1+v2)=z1(v1+v2);
3、c3=a3+b3=x2−v1+y2−v2=(x2+y2)−(v1+v2)=z2−(v1+v2)c_3=a_3+b_3=x_2-v_1+y_2-v_2=(x_2+y_2)-(v_1+v_2)=z_2-(v_1+v_2)c3=a3+b3=x2v1+y2v2=(x2+y2)(v1+v2)=z2(v1+v2).

乘法

对于乘法,我们需要一组相关随机数α+β+γ=0\alpha+\beta+\gamma=0α+β+γ=0.

乘法分成两大步,第一步是得到乘法结果的(3,3)(3,3)(3,3)门限分享,第二步是重新分享为(2,3)(2,3)(2,3)门限。

一、计算
首先需要说明的是,在下面的计算中,我们会乘以3的逆元,在Z2n\mathbb{Z}_{2^n}Z2n和有限域中3的逆元是存在的。(2n2^n2n和3互素)
1、P1P_1P1计算r1=3−1⋅(a1b1−x1y1+α)r_1=3^{-1}\cdot(a_1b_1-x_1y_1+\alpha)r1=31(a1b1x1y1+α)
1、P2P_2P2计算r2=3−1⋅(a2b2−x2y2+β)r_2=3^{-1}\cdot(a_2b_2-x_2y_2+\beta)r2=31(a2b2x2y2+β)
1、P1P_1P1计算r3=3−1⋅(a3b3−x3y3+γ)r_3=3^{-1}\cdot(a_3b_3-x_3y_3+\gamma)r3=31(a3b3x3y3+γ).

我们证明r1+r2+r3=v1v2r_1+r_2+r_3=v_1v_2r1+r2+r3=v1v2.
证明:
3r1+3r2+3r3=a1b1−x1y1+α+a2b2−x2y2+β+a3b3−x3y3+γ=a1b1+a2b2+a3b3−x1y1−x2y2−x3y3=(x3−v1)(y3−v2)+(x1−v1)(y1−v2)+(x2−v1)(y2−v2)−x1y1−x2y2−x3y3=3v1v2−x3v2−y3v1−x1v2−y1v1−x2v2−y2v1=3v1v2−(x1+x2+x3)v2−(y1+y2+y3)v1=3v1v2\begin{aligned} 3r_1+3r_2+3r_3&=a_1b_1-x_1y_1+\alpha+a_2b_2-x_2y_2+\beta+a_3b_3-x_3y_3+\gamma\\ &=a_1b_1+a_2b_2+a_3b_3-x_1y_1-x_2y_2-x_3y_3\\ &=(x_3-v_1)(y_3-v_2)+(x_1-v_1)(y_1-v_2)+(x_2-v_1)(y_2-v_2)-x_1y_1-x_2y_2-x_3y_3\\ &=3v_1v_2-x_3v_2-y_3v_1-x_1v_2-y_1v_1-x_2v_2-y_2v_1\\ &=3v_1v_2-(x_1+x_2+x_3)v_2-(y_1+y_2+y_3)v_1\\ &=3v_1v_2 \end{aligned}3r1+3r2+3r3=a1b1x1y1+α+a2b2x2y2+β+a3b3x3y3+γ=a1b1+a2b2+a3b3x1y1x2y2x3y3=(x3v1)(y3v2)+(x1v1)(y1v2)+(x2v1)(y2v2)x1y1x2y2x3y3=3v1v2x3v2y3v1x1v2y1v1x2v2y2v1=3v1v2(x1+x2+x3)v2(y1+y2+y3)v1=3v1v2

二、重新分享
r1+r2+r3r_1+r_2+r_3r1+r2+r3构成一个常规的三方算术秘密分享,接下来,我们将算术秘密分享,重新分享为(2,3)(2,3)(2,3)门限的形式。

1、P3P_3P3r3r_3r3发送给P1P_1P1P1P_1P1计算t1=r3−r1,k1=−2r3−r1t_1=r_3-r_1,k_1=-2r_3-r_1t1=r3r1,k1=2r3r1
2、P1P_1P1r1r_1r1发送给P2P_2P2P2P_2P2计算t2=r1−r2,k2=−2r1−r2t_2=r_1-r_2,k_2=-2r_1-r_2t2=r1r2,k2=2r1r2
3、P2P_2P2r2r_2r2发送给P3P_3P3P3P_3P3计算t3=r2−r3,k3=−2r2−r3t_3=r_2-r_3,k_3=-2r_2-r_3t3=r2r3,k3=2r2r3.

证明:
1、k1=−2r3−r1=r2−r3−(r1+r2+r3)=t3−v1v2k_1=-2r_3-r_1=r_2-r_3-(r_1+r_2+r_3)=t_3-v_1v_2k1=2r3r1=r2r3(r1+r2+r3)=t3v1v2
2、k2=−2r1−r2=r3−r1−(r1+r2+r3)=t1−v1v2k_2=-2r_1-r_2=r_3-r_1-(r_1+r_2+r_3)=t_1-v_1v_2k2=2r1r2=r3r1(r1+r2+r3)=t1v1v2
3、k3=−2r2−r3=r1−r2−(r1+r2+r3)=t2−v1v2k_3=-2r_2-r_3=r_1-r_2-(r_1+r_2+r_3)=t_2-v_1v_2k3=2r2r3=r1r2(r1+r2+r3)=t2v1v2.

所以(ti,ki)(t_i,k_i)(ti,ki)v1v2v_1v_2v1v2(2,3)(2,3)(2,3)门限秘密分享。

参考文献

[1] Araki, Toshinori, et al. “High-throughput semi-honest secure three-party computation with an honest majority.” Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security. 2016.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值