安全多方计算之BGW算法
BGW算法由Ben-Or等人于1988年提出來的,是早期支持多方安全計算的協(xié)議之一,其算法原理是基于Shamir秘密共享機制,BGW算法支持加法、數(shù)乘以及乘法運算
Shamir秘密共享原理可參考:shamir算法原理
Shamir秘密共享算法實現(xiàn)可參考:shamir算法實現(xiàn)
基于Shamir秘密共享機制的MPC原理其實很簡單,看下面例子:
WXYZ分別擁有秘密abcd,現(xiàn)在想秘密計算abcd的和,可以這樣做,W將a分成四份,分別將a2/a3/a4發(fā)送給XYZ,XYZ執(zhí)行同樣操作;然后W計算a1+b1+c1+d1,XYZ執(zhí)行同樣的計算,最后匯聚WXYZ的計算結(jié)果即可秘密得到abcd的和
BGW思想和上述的例子差不多,n個參與者Pi(i=1,2,…,n)擁有各自的秘密si,pi采用隨機t次多項式fi(x)=si+a1,ix1+…+at,ixt將秘密si分享,并將<xj,fi(xj)>通過安全信道發(fā)送給pj,隨后n個參與者通過BGW算法可以計算秘密值之間的加法、數(shù)乘以及乘法
下面具體介紹BGW的加法、數(shù)乘以及乘法運算,為方便敘述,考察一個算術(shù)門G,其具有兩個輸入:a和b,a和b分別被分享在兩個t次多項式fa(x)和fb(x)上,并將<xi,yi=fa(xi),zi=fb(xi)>發(fā)送給Pi
fa(x)=a+a1X1+a2X2+...+atXtfb(x)=b+b1X1+b2X2+...+btXtf_a(x) = a + a_1X^1+a_2X^2+...+a_tX^t \\ f_b(x) = b + b_1X^1+b_2X^2+...+b_tX^t fa?(x)=a+a1?X1+a2?X2+...+at?Xtfb?(x)=b+b1?X1+b2?X2+...+bt?Xt
加法運算:a + b
? 令
H(x)=fa(x)+fb(x)H(x) = f_a(x)+f_b(x) H(x)=fa?(x)+fb?(x)
? 則
h(x)=∑i=1t+1yi∏j=1,j!=it+1x?xixi?xj+∑i=1t+1zi∏j=1,j!=it+1x?xixi?xj=∑i=1t+1(yi+zi)∏j=1,j!=it+1?xixi?xjh(x) = \sum_{i=1}^{t+1}{y_i\prod_{j=1,j!=i}^{t+1}{\frac{x-x_i}{x_i-x_j}}}+\sum_{i=1}^{t+1}{z_i\prod_{j=1,j!=i}^{t+1}{\frac{x-x_i}{x_i-x_j}}}=\sum_{i=1}^{t+1}{(y_i+z_i)\prod_{j=1,j!=i}^{t+1}{\frac{-x_i}{x_i-x_j}}} h(x)=i=1∑t+1?yi?j=1,j!=i∏t+1?xi??xj?x?xi??+i=1∑t+1?zi?j=1,j!=i∏t+1?xi??xj?x?xi??=i=1∑t+1?(yi?+zi?)j=1,j!=i∏t+1?xi??xj??xi??
? 所以t+1個參與者利用<xi,yi+zi>即可求得h(x),然后計算 h(0)即可得到a+b的和
數(shù)乘運算: c * a
? 同加法運算類似,令
H(x)=c?fa(x)H(x) = c*f_a(x) H(x)=c?fa?(x)
? 則t+1個參與者利用<xi,c * yi>即可求得h(x),然后計算 h(0)即可得到 c * a 的結(jié)果
?
乘法運算:
令
H(x)=fa(x)?fb(x)H(x) = f_a(x) * f_b(x) H(x)=fa?(x)?fb?(x)
由于兩個多項式相乘,h(x)的階最高可能達到2t,超過秘密恢復的閾值(BGW要求2t+1<=n),所以這時要進行降階處理,我們有如下等式成立
可知 A是一個范德蒙矩陣,其可逆,設(shè)逆為
則可得
ab=λ1?H(x1)+λ2?H(X2)+...λ2t+1?H(x2t+1)ab = \lambda_1*H(x_1)+\lambda_2*H(X_2) + ... \lambda_{2t+1}*H(x_{2t+1})ab=λ1??H(x1?)+λ2??H(X2?)+...λ2t+1??H(x2t+1?)
λ1、λ2、...、λ2t+1\lambda_1、\lambda_2、...、\lambda_{2t+1}λ1?、λ2?、...、λ2t+1?是公開參數(shù),Hx1、Hx2、...、Hx2t+1H_{x_1}、H_{x_2}、...、H_{x_{2t+1}}Hx1??、Hx2??、...、Hx2t+1??由各自的參與者Pi擁有,且不可泄露,然后上述問題可以看成每個參與者擁有秘密H(xi)的BGW加法和乘法問題,可以選擇新的t階多項式將秘密H(xi)分發(fā),從而達到階級效果
總結(jié)
以上是生活随笔為你收集整理的安全多方计算之BGW算法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 通过微信公众号实现内容变现有哪些方式?
- 下一篇: 想给MAC电脑换个壁纸?苹果电脑壁纸桌面