日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

安全多方计算之BGW算法

發(fā)布時間:2023/12/14 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 安全多方计算之BGW算法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

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=1t+1?yi?j=1,j!=it+1?xi??xj?x?xi??+i=1t+1?zi?j=1,j!=it+1?xi??xj?x?xi??=i=1t+1?(yi?+zi?)j=1,j!=it+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)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。