安全多方计算之六:秘密共享

简介: 安全多方计算之六:秘密共享


1. 秘密共享简介

秘密共享通过将秘密以适当的方式拆分,拆分后的每一个份额由不同的参与者管理,单个参与者无法恢复秘密信息,只有若干个参与者一同协作才能恢复秘密消息。

秘密共享定义如下:秘密持有者S SS需要将原始秘密m mm在参与者集合中P 1 , P 2 , . . . , P n P_1,P_2,...,P_nP1,P2,...,Pn分享,S SS分发给P 1 P_1P1子秘密m p i m_{p_i}mpi,使得只有特定参与者的集合才能够从他们的子秘密中恢复秘密m mm,而其他参与者不能得到秘密m mm的任何信息。

能够计算出秘密m mm的参与者集合P PP的一个子集A ⊆ P A \subseteq PAP,称为一个授权子集。令Γ \GammaΓ为所有授权子集构成的集合,则称Γ \GammaΓ访问结构。

秘密共享方案一般描述如下:将共享的秘密m mm分割成n nn个子秘密,并将其分发至n nn个参与者,使得授权子集Γ \GammaΓ中的参与者可共同恢出复秘密m mm,而非授权子集中的参与者无法得到关于秘密m mm的任何信息。

2. Shamir秘密共享方案

Adi Shamir于1979年提出了基于拉格朗日(Lagrange)插值定理的( t , n ) (t,n)(t,n)-门限方案。该方案利用有限域上的次随机多项式来分享秘密,被分享的秘密为多项式的零次系数,恢复秘密至少需要t个多项式上的点。

方案描述如下:

G F ( q ) G F(q)GF(q) 是一个有限域, q qq为公开大素数, 共享的密钥 k ∈ G F ( q ) k \in G F(q)kGF(q), 可信中心给 n ( n < q ) n(n< q)n(n<q)个共享者 P i ( 1 ≤ i ≤ n ) P_i(1 \leq i \leq n)Pi(1in) 分配共享的过程如下:

(1) 秘密分发

可信中心随机选取多项式 f ( x ) = a t − 1 x t − 1 + … + a 2 x 2 + a 1 x + a 0 ∈ f(x)=a_{t-1} x^{t-1}+\ldots+a_2 x^2+a_1 x+a_0 \inf(x)=at1xt1++a2x2+a1x+a0 G F ( q ) [ x ] G F(q)[x]GF(q)[x], 常数 a 0 = k a_0=ka0=k 为要分享的秘密。

可信中心在 G F ( q ) G F(q)GF(q) 中选择 n nn 个非零的互不相同的 元素 x 1 , x 2 , … , x n x_1, x_2, \ldots, x_nx1,x2,,xn, 计算 y i = f ( x i ) , 1 ≤ i ≤ n y_i=f\left(x_i\right), 1 \leq i \leq nyi=f(xi),1in, 将子密钥 ( x i , y i ) \left(x_i, y_i\right)(xi,yi) 分配给共享者 P i ( x i P_i\left(x_i\right.Pi(xi 是公开的, y i y_iyiP i P_iPi 的秘密共享)。

(2) 秘密重构

给定 t tt 个共享 y i s ( 1 ≤ s ≤ t ) y_{i_s}(1 \leq s \leq t)yis(1st), 从Lagrange多项式重构的

f ( x ) = ∑ s = 1 t y i s ∏ j = 1 , j ≠ s t x − x j x i s − x i j , k = a 0 = f ( 0 ) = ∑ s = 1 t y i s ∏ j = 1 , j ≠ s t − x j x i s − x i j = ∑ s = 1 t b s y i s , f(x)=ts=1yistj=1,jsxxjxisxij,k=a0=f(0)=ts=1yistj=1,jsxjxisxij=ts=1bsyis,

\begin{aligned} & f(x)=\sum_{s=1}^t y_{i_s} \prod_{j=1, j \neq s}^t \frac{x-x_j}{x_{i_s}-x_{i_j}}, \\ & k=a_0=f(0)=\sum_{s=1}^t y_{i_s} \prod_{j=1, j \neq s}^t \frac{-x_j}{x_{i_s}-x_{i_j}}=\sum_{s=1}^t b_s y_{i_s}, \end{aligned} f ( x ) = s=1 t y is j=1,j=s t x is x ij x x j , k = a 0 = f ( 0 ) = s=1 t y is j=1,j=s t x is x ij x j = s=1 t b s y is ,其中, b s = Π j = 1 , j ≠ s t − x j x i s − x i j b_s=\Pi_{j=1, j \neq s}^t \frac{-x_j}{x_{i_s}-x_{i_j}} b s = Π j=1,j=s t xisxij xj (Lagrange插值系数), 运算都是 G F ( q ) G F(q) GF ( q )上的运算。

Egt = 3 , n = 5 , q = 19 , k = 11 t=3, n=5, q=19, k=11t=3,n=5,q=19,k=11, 随机选取 a 1 = 2 , a 2 = 7 a_1=2, a_2=7a1=2,a2=7, 得多项式为h ( x ) = ( 7 x 2 + 2 x + 11 )   m o d   19 h(x)=\left(7 x^2+2 x+11\right) \bmod 19h(x)=(7x2+2x+11)mod19选择 x i = i x_i=ixi=i, 则由 y i = h ( x i ) , 1 ≤ i ≤ 5 y_i=h\left(x_i\right), \quad 1 \leq i \leq 5yi=h(xi),1i5, 很容易得到5 55个子密钥h ( 1 ) = 1 , h ( 2 ) = 5 , h ( 3 ) = 4 , h ( 4 ) = 17 , h ( 5 ) = 6 h(1)=1, h(2)=5, h(3)=4, h(4)=17, h(5)=6h(1)=1,h(2)=5,h(3)=4,h(4)=17,h(5)=6如果知道其中 3 个子密钥 h ( 2 ) = 5 , h ( 3 ) = 4 , h ( 5 ) = 6 h(2)=5, h(3)=4, h(5)=6h(2)=5,h(3)=4,h(5)=6{ 4 a 2 + 2 a 1 + a 0 = 5 9 a 2 + 3 a 1 + a 0 = 4 25 a 2 + 5 a 1 + a 0 = 6 {4a2+2a1+a0=59a2+3a1+a0=425a2+5a1+a0=6

\begin{cases} 4 a_2+2 a_1+a_0=5 \\ 9 a_2+3 a_1+a_0=4 \\ 25 a_2+5 a_1+a_0=6\end{cases} 4 a 2 + 2 a 1 + a 0 = 5 9 a 2 + 3 a 1 + a 0 = 4 25 a 2 + 5 a 1 + a 0 = 6从而解得 k = a 0 = 11 k=a_0=11 k = a 0 = 11

3. Asmuth-Bloom方案

Asmuth和Bloom于1980年提出了一个基于中国剩余定理的( t , n ) (t,n)(t,n)-门限方案。该方案中,成员的共享是由秘密 S SS 得出的数 y yy 对于不同模数 m 1 , m 2 , … , m n m_1, m_2, \ldots, m_nm1,m2,,mn 的剩余。

p , d 1 , d 2 , … , d n p, d_1, d_2, \ldots, d_np,d1,d2,,dn 是满足下列条件的一组正整数:p > k ; d 1 < d 2 < … < d n p>k ; \quad d_1p>k;d1<d2<<dn对所有的 i , gcd ⁡ ( p , d i ) = 1 ; i, \operatorname{gcd}\left(p, d_i\right)=1 ;i,gcd(p,di)=1;

i ≠ j , gcd ⁡ ( d i , d j ) = 1 ; d 1 d 2 ⋯ d t > i \neq j, \operatorname{gcd}\left(d_i, d_j\right)=1 ; d_1 d_2 \cdots d_t>i=j,gcd(di,dj)=1;d1d2dt> p d n − t + 2 d n − t + 3 ⋯ d n p d_{n-t+2} d_{n-t+3} \cdots d_npdnt+2dnt+3dn

N = d 1 d 2 ⋯ d t N=d_1 d_2 \cdots d_tN=d1d2dtt tt 个最小整数之积,则 N / p N / pN/p 大于任意 t − 1 t-1t1d i d_idi 。令 r rr 是区间 [ 0 , ⌊ N / p ⌋ − 1 ] [0,\lfloor N / p\rfloor-1][0,N/p1] 中的一个随机整数, 并公布 p , r p, rp,r

(1) 秘密分发

k kk 划分为 n nn 个共享, 计算 k ′ = k + r p k^{\prime}=k+r pk=k+rp, 则 k ′ ∈ [ 0 , N − 1 ] 。 n k^{\prime} \in[0, N-1] 。 nk[0,N1]n 个共享 为 k i = k ′ modd ⁡ i , i = 1 , 2 , … , n k_i=k^{\prime} \operatorname{modd}_i, i=1,2, \ldots, nki=kmoddi,i=1,2,,n, 将子密钥 ( d i , k i ) \left(d_i, k_i\right)(di,ki) 分配给共享者 P i ( d i P_i\left(d_i\right.Pi(di 是公开的, k i k_ikiP i P_iPi

(2) 秘密重构

若给定 t tt 个共享 k i 1 , … , … , k i t k_{i_1}, \ldots, \ldots, k_{i_t}ki1,,,kit, 则由中国剩余定理可知, 同余方程组{ x ′ ≡ k i 1 mod ⁡ d i 1 x ′ ≡ k i 2 mod ⁡ d i 2 ⋯ x ′ ≡ k i t mod ⁡ d i t {xki1moddi1xki2moddi2xkitmoddit

\begin{cases} x^{\prime} \equiv k_{i_1} \operatorname{mod} d_{i_1} \\ x^{\prime} \equiv k_{i_2} \operatorname{mod} d_{i_2} \\ \cdots \\ x^{\prime} \equiv k_{i_t} \operatorname{mod} d_{i_t} \end{cases} x k i1 mod d i1 x k i2 mod d i2 x k it mod d it关于模 N 1 = d i 1 d i 2 ⋯ d i t N_1=d_{i_1} d_{i_2} \cdots d_{i_t} N 1 = d i1 d i2 d it[ 0 , N 1 − 1 ] \left[0, N_1-1\right] [ 0 , N 1 1 ] 内有唯一解 x x x, 因为 N 1 ≥ N ≥ k ′ N_1 \geq N \geq k^{\prime} N 1 N k , 推出 k ′ = x k^{\prime}=x k = x 。 最后计算出 k = k ′ − r p k=k^{\prime}-r p k = k r p, 即 k = k ′   m o d   p k=k^{\prime} \bmod p k = k mod p

Egt = 2 , n = 3 , p = 7 , k = 4 , d 1 = 9 , d 2 = 11 , d 3 = 13 t=2, n=3, p=7, k=4, d_1=9, d_2=11, d_3=13t=2,n=3,p=7,k=4,d1=9,d2=11,d3=13, 则N = d 1 d 2 = 99 > 91 = 7 ⋅ 13 = p ⋅ d 3 . N=d_1 d_2=99>91=7 \cdot 13=p \cdot d_3 .N=d1d2=99>91=713=pd3.[ 0 , [ 99 / 7 ] − 1 ] = [ 0 , 13 ] [0,[99 / 7]-1]=[0,13][0,[99/7]1]=[0,13] 之间随机取 r = 10 , k ′ = k + r p = 4 + 10 × 7 = 74 r=10, k^{\prime}=k+r p=4+10 \times 7=74r=10,k=k+rp=4+10×7=74,k 1 ≡ k ′  modd  d 1 ≡ 74   m o d   9 ≡ 2 k 2 ≡ k ′   m o d   d 2 ≡ 74   m o d   11 ≡ 8 k 3 ≡ k ′   m o d   d 3 ≡ 74   m o d   13 ≡ 9 k1k modd d174mod92k2kmodd274mod118k3kmodd374mod139

\begin{aligned} & k_1 \equiv k^{\prime} \text { modd } d_1 \equiv 74 \bmod 9 \equiv 2 \\ & k_2 \equiv k^{\prime} \bmod d_2 \equiv 74 \bmod 11 \equiv 8 \\ & k_3 \equiv k^{\prime} \bmod d_3 \equiv 74 \bmod 13 \equiv 9\end{aligned} k 1 k modd d 1 74 mod 9 2 k 2 k mod d 2 74 mod 11 8 k 3 k mod d 3 74 mod 13 93 个子密钥为 { ( 9 , 2 ) , ( 11 , 8 ) , ( 13 , 9 ) } \{(9,2),(11,8),(13,9)\} {( 9 , 2 ) , ( 11 , 8 ) , ( 13 , 9 )}

若知道 { ( 9 , 2 ) , ( 11 , 8 ) } \{(9,2),(11,8)\}{(9,2),(11,8)}, 可建立方程组:{ k ′ ≡ 2 mod ⁡ 9 k ′ ≡ 8 mod ⁡ 11 {k2mod9k8mod11

\begin{cases} k^{\prime} \equiv 2 \operatorname{mod} 9 \\ k^{\prime} \equiv 8 \operatorname{mod} 11 \\\end{cases} { k 2 mod 9 k 8 mod 11根据中国剩余定理,解得: k ′ ≡ ( 11 × 5 × 2 + 9 × 5 × 8 )   m o d   ≡ 74 k^{\prime} \equiv(11 \times 5 \times 2+9 \times 5 \times 8) \bmod \equiv 74 k ( 11 × 5 × 2 + 9 × 5 × 8 ) mod 74因此 k ′ ≡ k   m o d   p = 4 k^{\prime} \equiv k \bmod p=4 k k mod p = 4

4. 可验证的秘密共享

可验证的秘密共享VSS方案是对传统秘密共享方案的修正,在通常的秘密分享方案基础上附加验证操作构成,主要用于解决不诚实的分发中心问题。

在VSS方案中,分发者不但分发秘密的碎片,而且广播对秘密碎片的承诺,当个成员收到其碎片时,要验证其碎片是否正确;在秘密重构阶段,每个参与者也采用同样方法验证其他成员秘密碎片的正确性。

VSS主要抵抗以下两种主动攻击:

  • 分发者在秘密分发协议中发送错误碎片给部分或全部参与者。
  • 协议参与者在秘密重构协议中提交错误碎片。

常见的可验证的秘密共享方案包括Feldman的VSS方案以及Pedersen方案。

4.1 Feldman的VSS方案

(1)秘密分发

可信中心选取阶随机多项式:f ( x ) = a t − 1 x t − 1 + … + a 2 x 2 + a 1 x + a 0 ∈ G F ( q ) [ x ] f(x)=a_{t-1} x^{t-1}+\ldots+a_{2} x^{2}+a_{1} x+a_{0} \in G F(q)[x]f(x)=at1xt1++a2x2+a1x+a0GF(q)[x]常数a 0 = s a_{0}=sa0=s为要分发的秘密;

可信中心选择n nn个非零的互不相同的元素x 1 , x 2 , … , x n ∈ G F ( q ) x_{1}, x_{2}, \ldots, x_{n} \in G F(q)x1,x2,,xnGF(q),计算y i = f ( x i ) , 1 ≤ i ≤ n y_{i}=f\left(x_{i}\right), 1 \leq i \leq nyi=f(xi),1in , 将子密钥 ( x i , y i ) \left(x_{i}, y_{i}\right)(xi,yi) 分配给共享者 P i P_{i}Pi(( x i ) \left(x_{i}\right)(xi)是公开的,y i y_{i}yiP i P_{i}Pi的秘密共享),可信中心计算并广播承诺B j = g a j , 0 ≤ j < t B_{j}=g^{a_{j}}, 0 \leq jBj=gaj,0j<t

参与者P i P_{i}Pi收到自己的碎片y i y_{i}yi后, 判断g y i = Π j = 0 t − 1 B j x i j g^{y_{i}}=\Pi_{j=0}^{t-1} B_{j}^{x_{i}^{j}}gyi=Πj=0t1Bjxij是否成立, 如果成立, 则接受该 碎片为有效; 否则,P i P_{i}Pi 请求可信中心重新发送正确的碎片。

若可信中心向 P i P_{i}Pi 传送了正确的碎片 y i y_{i}yi, 则有g y i = g f ( x i ) = g a t − 1 r i t − 1 + … + a 2 x i 2 + a 1 x i + a 0 = g a t − 1 x i t − 1 … g a 2 x i 2 g a 1 x i g a 0 = B t − 1 x i t − 1 … B 2 x i 2 B 7 x i B 0 = Π j = 0 t − 1 B j x i j gyi=gf(xi)=gat1rt1i++a2x2i+a1xi+a0=gat1xt1iga2x2iga1xiga0=Bxt1it1Bx2i2Bxi7B0=Πt1j=0Bxjij

\begin{aligned} g^{y_{i}=g^{f\left(x_{i}\right)}} & =g^{a_{t-1} r_{i}^{t-1}+\ldots+a_{2} x_{i}^{2}+a_{1} x_{i}+a_{0}} \\ & =g^{a_{t-1} x_{i}^{t-1}} \ldots g^{a_{2} x_{i}^{2}} g^{a_{1} x_{i}} g^{a_{0}} \\ & =B_{t-1}^{x_{i}^{t-1}} \ldots B_{2}^{x_{i}^{2}} B_{7}^{x_{i}} B_{0} \\ & =\Pi_{j=0}^{t-1} B_{j}^{x_{i}^{j}} \end{aligned} g yi=gf(xi) = g at1rit1++a2xi2+a1xi+a0 = g at1xit1 g a2xi2 g a1xi g a0 = B t1 xit1 B 2 xi2 B 7 xi B 0 = Π j=0 t1 B j xij (2)秘密重构

假设每个参与者都接受到正确的碎片, 他们中的任意t tt个可执行 Shamir门限秘密分享方案中的重构算法恢复出院时秘密, 即P i P_{i}Pi向参与重构的其他人广播自己的碎片,这样每个参与重构的成员均可验证所接收到的碎片的有效性,然后使用Lagrange揷值公式计算出秘密S SS

Feldman的VSS方案中, 由于可信中心在广播承诺时将B 0 = g a 0 = g s B_{0}=g^{a_{0}}=g^{s}B0=ga0=gs也作为一个承诺发出, 因此方案仅是计算安全的。

4.2 Pedersen的VSS方案

Pedersen扩展了Feldman的方案,将Shamir秘密共享方案与承诺方案相结合,构造出了一个高效、安全的非交互式可验证秘密共享方案,且验证信息不会直接泄露秘密k kk,因此是信息论安全的。

(1)秘密分发

可信中心选取两个t tt阶随机多项式:a ( x ) = a t − 1 x t − 1 + … + a 2 x 2 + a 7 x + a 0 ∈ G F ( q ) [ x ] b ( x ) = b t − 1 x t − 1 + … + b 2 x 2 + b 1 x + b 0 ∈ G F ( q ) [ x ] a(x)=at1xt1++a2x2+a7x+a0GF(q)[x]b(x)=bt1xt1++b2x2+b1x+b0GF(q)[x]

\begin{array}{l} a(x)=a_{t-1} x^{t-1}+\ldots+a_{2} x^{2}+a_{7} x+a_{0} \in G F(q)[x] \\ b(x)=b_{t-1} x^{t-1}+\ldots+b_{2} x^{2}+b_{1} x+b_{0} \in G F(q)[x] \end{array} a ( x ) = a t1 x t1 + + a 2 x 2 + a 7 x + a 0 GF ( q ) [ x ] b ( x ) = b t1 x t1 + + b 2 x 2 + b 1 x + b 0 GF ( q ) [ x ]常数 a 0 = s a_{0}=s a 0 = s为要分发的秘密。

可信中心选择n nn个非零的互不相同的元素 x 1 , x 2 , … , x n ∈ G F ( q ) x_{1}, x_{2}, \ldots, x_{n} \in G F(q)x1,x2,,xnGF(q) ,计算 y i = ( s i , s i 2 ) = ( a ( x i ) , b ( x i ) ) , 1 ≤ i ≤ n y_{i}=\left(s_{i}, s_{i 2}\right)=\left(a\left(x_{i}\right), b\left(x_{i}\right)\right), 1 \leq i \leq nyi=(si,si2)=(a(xi),b(xi)),1in 将子密钥( x i , y i ) \left(x_{i}, y_{i}\right)(xi,yi)分配给共享者 P i P_{i}Pi(x i x_{i}xi是公开的,y i y_{i}yiP i P_{i}Pi的秘密共享)。可信中心计算并广播承诺C j = g a j h b j , 0 ≤ j < t C_{j}=g^{a_{j}} h^{b_{j}}, 0 \leq jCj=gajhbj,0j<t

参与者P i P_{i}Pi 收到自己的碎片 y i y_{i}yi 后, 判断 g s i ⌝ h s i 2 = ∏ j = 0 t − 1 C j x i j g^{s_{i\urcorner}} h^{s_{i 2}}=\prod_{j=0}^{t-1} C_{j}^{x_{i}^{j}}gsihsi2=j=0t1Cjxij 是否成立。如果成立, 则接受 该碎片为有效; 否则, P i P_{i}Pi 请求可信中心重新发送正确的碎片。

若可信中心向P i P_{i}Pi传送了正确的碎片y i y_{i}yi, 则有g s i ⌝ h s i 2 = g a ( x i ) h b ( x i ) = ( g a t − 1 x i t − 1 + … + a 2 x i 2 + a 1 x i + a 0 ) ( h b t − 1 x i t − 1 + … + b 2 x i 2 + b 1 x i + b 0 ) = ( g a t − 1 h b t − 1 ) x i t − 1 … ( g a 2 h b 2 ) x i 2 ( g a a h b 1 ) x i g a 0 h b 0 = C t − 1 x i t − 1 … C 2 x i 2 C 1 x i C 0 = ∏ j = 0 t − 1 C j x i j gsihsi2=ga(xi)hb(xi)=(gat1xt1i++a2x2i+a1xi+a0)(hbt1xt1i++b2x2i+b1xi+b0)=(gat1hbt1)xt1i(ga2hb2)x2i(gaahb1)xiga0hb0=Cxt1it1Cx2i2Cxi1C0=t1j=0Cxjij

\begin{aligned} g^{s_{i\urcorner}} h^{s_{i 2}}= & g^{a\left(x_{i}\right)} h^{b\left(x_{i}\right)}=\left(g^{a_{t-1} x_{i}^{t-1}+\ldots+a_{2} x_{i}^{2}+a_{1} x_{i}+a_{0}}\right)\left(h^{b_{t-1} x_{i}^{t-1}+\ldots+b_{2} x_{i}^{2}+b_{1} x_{i}+b_{0}}\right) \\ & =\left(g^{a} t-1 h^{b_{t-1}}\right)^{x_{i}^{t-1}} \ldots\left(g^{a_{2}} h^{b_{2}}\right)^{x_{i}^{2}}\left(g^{a^{a}} h^{b_{1}}\right)^{x_{i}} g^{a_{0}} h^{b_{0}} \\ & =C_{t-1}^{x_{i}^{t-1}} \ldots C_{2}^{x_{i}^{2}} C_{1}^{x_{i}} C_{0} \\ & =\prod_{j=0}^{t-1} C_{j}^{x_{i}^{j}} \end{aligned} g si h si2 = g a(xi) h b(xi) = ( g at1xit1++a2xi2+a1xi+a0 ) ( h bt1xit1++b2xi2+b1xi+b0 ) = ( g a t 1 h bt1 ) xit1 ( g a2 h b2 ) xi2 ( g aa h b1 ) xi g a0 h b0 = C t1 xit1 C 2 xi2 C 1 xi C 0 = j=0 t1 C j xij (2)秘密重构

假设每个参与者都接受到正确的碎片, 他们中的任意t tt个可执行 Shamir门限秘密分享方案中的重构算法恢复出院时秘密, 即P i P_{i}Pi向参与重构的其他人广播自己的碎片, 这样每个参与重构的成员均可验证所接收到的碎片的有效性, 然后使用Lagrange揷值公式计算出秘密s ss

Pedersen的VSS方案中,可信中心在广播承诺时与秘密s ss相关的信息仅为C 0 = g s h b 0 C_{0}=g^{s} h^{b_{0}}C0=gshb0,没有泄露关于s ss的任何信息,因此方案是信息论安全的。

5. 无分发者的随机秘密共享

在该秘密体制中不存在秘密分发者,仅有参与者P 1 , P 2 , . . . , P n P_1,P_2,...,P_nP1,P2,...,Pn,他们以交互的方式协商出一个随机秘密s ss,并各自得到该秘密的一个碎片s i s_isi,但每个参与者都不知道这个随机秘密的具体值,除非他们公布自己的碎片并重构该秘密。

基于Shamir的秘密分享体制的一个无秘密分发者的( t , n ) (t,n)(t,n)秘密分享体制,称为Joint-Shamir-RSS方案(Joint Shamir Random Secret Sharing)。

(1) 每个参与者 P i P_iPi 选择一个 t − 1 t-1t1 次随机多项式 f i ( x ) = a i , t − 1 x t − 1 + … + a i 2 x 2 + a i 1 x + a i 0 ∈ G F ( q ) [ x ] f_i(x)=a_{i, t-1} x^{t-1}+\ldots+a_{i 2} x^2+a_{i1} x+a_{i0} \in G F(q)[x]fi(x)=ai,t1xt1++ai2x2+ai1x+ai0GF(q)[x], 以 a i 0 = f i ( 0 ) a_{i 0}=f_i(0)ai0=fi(0) 作为自己要让 P 1 , P 2 , … , P n P_1, P_2, \ldots, P_nP1,P2,,Pn 分享的秘密。

(2) P i P_iPi 计算 s i j = f i ( x j ) s_{ij}=f_i\left(x_j\right)sij=fi(xj), 发送给 P j , j = 1 , 2 , … , n P_j, j=1,2, \ldots, nPj,j=1,2,,n, 如下所示:P 1 P 2 P j P n P 1 f 1 ( x 1 ) f 7 ( x 2 ) f 7 ( x j ) f 1 ( x n ) P 2 f 2 ( x 1 ) f 2 ( x 2 ) f 2 ( x j ) f 2 ( x n ) P i f i ( x 1 ) f i ( x 2 ) f i ( x j ) f i ( x n ) P n f n ( x 1 ) f n ( x 2 ) f n ( x j ) f n ( x n ) P1P2PjPnP1f1(x1)f7(x2)f7(xj)f1(xn)P2f2(x1)f2(x2)f2(xj)f2(xn)Pifi(x1)fi(x2)fi(xj)fi(xn)Pnfn(x1)fn(x2)fn(xj)fn(xn)

\begin{array}{llllll} & P_1 & P_2 & P_j & P_n \\ P_1 & f_1\left(x_1\right) & f_7\left(x_2\right) & f_7\left(x_j\right) & f_1\left(x_n\right) \\ P_2 & f_2\left(x_1\right) & f_2\left(x_2\right) & f_2\left(x_j\right) & f_2\left(x_n\right) \\ P_i & f_i\left(x_1\right) & f_i\left(x_2\right) & f_i\left(x_j\right) & f_i\left(x_n\right) \\ P_n & f_n\left(x_1\right) & f_n\left(x_2\right) & f_n\left(x_j\right) & f_n\left(x_n\right) \end{array} P 1 P 2 P i P n P 1 f 1 ( x 1 ) f 2 ( x 1 ) f i ( x 1 ) f n ( x 1 ) P 2 f 7 ( x 2 ) f 2 ( x 2 ) f i ( x 2 ) f n ( x 2 ) P j f 7 ( x j ) f 2 ( x j ) f i ( x j ) f n ( x j ) P n f 1 ( x n ) f 2 ( x n ) f i ( x n ) f n ( x n )(3) P j P_j P j 收到其他参与者的值 s i j = f i ( x j ) , i = 1 , 2 , … , n s_{i j}=f_i\left(x_j\right), i=1,2, \ldots, n s ij = f i ( x j ) , i = 1 , 2 , , n, 计算 s j = ∑ i = 1 n f i ( x j ) s_j=\sum_{i=1}^n f_i\left(x_j\right) s j = i=1 n f i ( x j ) 作为 自己最终分享秘密的碎片。

从协议中可以看出, 若令 f ( x ) = ∑ i = 1 n f i ( x ) f(x)=\sum_{i=1}^n f_i(x)f(x)=i=1nfi(x), 则 f ( x j ) = ∑ i = 1 n f i ( x j ) f\left(x_j\right)=\sum_{i=1}^n f_i\left(x_j\right)f(xj)=i=1nfi(xj)

秘密重构阶段,只需任意t tt个参与者使用自己拥有的秘密碎片s i s_isi执行Shamir秘密分享体制的秘密重构即可。

相关文章
|
7月前
|
机器学习/深度学习 算法 数据可视化
# 隐私计算实训营note#3 详解隐私计算框架及技术要点
这一讲的内容是介绍蚂蚁的SecretFlow框架[第3讲:详解隐私计算框架及技术要点](https://www.bilibili.com/video/BV1dJ4m1b7AX/)。
|
7月前
|
机器学习/深度学习 安全 算法
安全多方计算之三:同态加密
安全多方计算之三:同态加密
1184 42
|
7月前
|
算法 安全
基于价值认同的需求侧电能共享分布式交易策略(matlab完全复现)
基于价值认同的需求侧电能共享分布式交易策略(matlab完全复现)
|
7月前
|
SQL 算法 安全
隐私计算实训营 第三讲 详解隐私计算框架及技术要点
隐语架构包括产品、算法、计算、资源和硬件层。产品层关注可视化和模块化API,服务于集成商和研究人员。算法层涉及PSI/PIR、安全数据分析及联邦学习。计算层有混合编译调度、SPU、HEU、TEEU和YACL。资源层采用kuscia,基于K8s的隐私计算框架。硬件层未详述。互通互联提供黑盒和白盒模式,跨域管控实施三权分置、秘态存储和全栈审计。该架构设计便于集成和使用。
79 0
隐私计算实训营 第三讲 详解隐私计算框架及技术要点
|
机器学习/深度学习 安全 算法
「机密计算-隐私计算」科普
「机密计算-隐私计算」科普
730 0
|
7月前
|
算法
隐私计算实训营 第1期-详解隐私计算框架的架构和技术要点
本文简要介绍了隐语技术架构的五层结构:产品层、算法层、计算层、资源层和硬件层。每层分别涉及模块功能、定位和人群画像,旨在使不同角色的用户能轻松理解和使用,降低隐私计算的入门难度。此外,隐语产品设计具有开放性和前瞻性,易于集成。
|
7月前
|
机器学习/深度学习 安全 物联网
安全多方计算之十:联邦学习与安全多方计算
安全多方计算之十:联邦学习与安全多方计算
|
7月前
|
安全 算法 数据安全/隐私保护
安全多方计算之四:比特承诺
安全多方计算之四:比特承诺
|
7月前
|
机器学习/深度学习 人工智能 安全
安全多方计算之五:零知识证明(从入门到入土。。)
安全多方计算之五:零知识证明(从入门到入土。。)
|
安全 Cloud Native Go
开源与隐私:一个复杂的关系
开源与隐私:一个复杂的关系
116 0