[發明專利]一種基于共享秘密的計算方法有效
| 申請號: | 201810057559.6 | 申請日: | 2018-01-22 |
| 公開(公告)號: | CN110071796B | 公開(公告)日: | 2021-09-03 |
| 發明(設計)人: | 劉翔宇;張方國 | 申請(專利權)人: | 中山大學 |
| 主分類號: | H04L9/08 | 分類號: | H04L9/08;H04L29/06 |
| 代理公司: | 廣州市深研專利事務所(普通合伙) 44229 | 代理人: | 陳雅平 |
| 地址: | 510275 廣東*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 共享 秘密 計算方法 | ||
1.一種基于共享秘密的計算方法,其特征在于,兩個參與方Alice和Bob以多項式的形式共享了秘密s、s1、p,并且公開知道一個除數N,分別調用Multiply、DivideConst、Divide和Mod方法,雙方求出s·s1、和s mod p的結果并分別以多項式的形式共享這些結果;
所述Multiply方法中,兩個參與方Alice和Bob分別計算出結果res1、res2,且res1、res2以多項式的形式共享秘密s·s1,具體過程如下:
A1)Alice和Bob以多項式f(x)=s+tx和g1(x)=s1+t1x的形式共享了秘密s和s1,Alice擁有f(1)、g1(1),Bob擁有f(2)、g1(2);Alice輸入f(1)、g1(1),Bob輸入f(2)、g1(2),Alice計算得到res1,Bob計算得到res2;定義多項式h(x)=s·s1+(s·t1+t·s1)x+t·t1x2,Alice計算h(1)=f(1)·g1(1),Bob計算h(2)=f(2)·g1(2);
A2)Alice選擇隨機數r1、r2,將temp1=f(1)+r1、temp2=g1(1)+r2發送給Bob;
A3)Bob計算temp3=f(2)-temp1、temp4=g1(2)-temp2;
A4)調用SumProduct方法,Alice輸入r1、r2,Bob輸入temp3、temp4,雙方共同計算出多項式h(x)的二次項系數t·t1,所述二次項系數t·t1用X表示,且X=(r1+temp3)(r2+temp4),所述SumProduct方法計算過程如下:
(A41)Alice自定義公鑰同態加密算法ΓA的公私鑰對,公鑰pk公開,私鑰sk自己秘密保存;
(A42)Alice輸入r1、r2,Bob輸入temp3、temp4,雙方希望在各自保證r1、r2、temp3、temp4秘密的情況下計算出X=(r1+temp3)(r2+temp4);
(A43)Alice利用pk將r1、r2、r1r2加密為ΓA(r1)、ΓA(r2)、ΓA(r1r2)后發送給Bob;
(A44)Bob利用pk將temp3·temp4加密為ΓA(temp3·temp4);
(A45)Bob計算發送給Alice;
(A46)Alice利用sk解密ΓA(X)得到X并公開給Bob;
A5)Alice計算res1=h(1)-X,Bob計算res2=h(2)-4X,并且有多項式k(x)=s·s1+(s·t1+t·s1)x使得res1=k(1),res2=k(2),計算完畢;
所述DivideConst方法中,兩個參與方Alice和Bob分別計算出結果res3、res4,且res3、res4以多項式的形式共享秘密具體過程如下:
B1)Alice和Bob以多項式的形式共享秘密s,對于多項式f(x)=s+tx,Alice擁有f(1),Bob擁有f(2),并且公開除數N,Alice輸入f(1)和N,Bob輸入f(2)和N;
B2)Alice和Bob雙方進行帶余除法計算,Alice計算f(1)=d1·N+c1,Bob計算f(2)=d2·N+c2;其中c1之0,c2<0;
B3)雙方第一次調用“姚氏百萬富翁協議”,Alice輸入2c1,Bob輸入c3=2N+c2,若執行結果為“1”或“0”,則d2=d2-2,并跳轉至步驟B5),否則跳轉至步驟B4);
B4)雙方第二次調用“姚氏百萬富翁協議”,Alice輸入2c1,Bob輸入c4=N+c2,若執行結果為“1”或“0”,那么d2=d2-1;
B5)Alice計算res3=d1,Bob計算res4=d2,且res3、res4以多項式的形式共享秘密
B6)所述“姚氏百萬富翁協議”具體為解決“姚氏百萬富翁”問題的一個兩方協議,Alice輸入秘密a,Bob輸入秘密b,當a>b時,協議輸出1,當a=b時,協議輸出0,當a<b時,協議輸出-1;
所述Divide方法中,兩個參與方Alice和Bob分別計算出結果res5、res6,且res5、res6以多項式的形式共享秘密具體過程如下:
C1)Alice和Bob分別以多項式的形式共享了s和p,對于秘密多項式f(x)=s+tx和g(x)=p+t2x,Alice擁有f(1)和g(1),Bob擁有f(2)和g(2);
C2)調用Inverse方法,Alice輸入g(1),Bob輸入g(2),Alice計算得到pp1,Bob計算得到pp2,且pp1、pp2以多項式的形式共享秘密其中λ為Inverse方法中計算得到的大公開參數;所述Inverse方法具體過程如下:
(C21)Alice和Bob以多項式的形式共享了p,假定其中Alice擁有p1,Bob擁有p2;
(C22)Alice和Bob分別公布各自共享秘密的bit長度α1和α2,取α=max(α1,α2),β=max(4α,60),λ=α+β;
(C23)Alice置[u0]1=2β,Bob置[u0]2=2β,則[u0]1和[u0]2以多項式的形式共享秘密u0=2β;
(C24)循環執行下述步驟:
(a)調用所述Multiply方法,雙方以多項式的形式共享計算結果zi+1=ui·p;
(b)調用所述DivideConst方法,雙方以多項式的形式共享計算結果
(c)調用所述Multiply方法,雙方以多項式的形式共享計算結果vi+1=2β+1·ui-ui·wi+1;
(d)調用所述DivideConst方法,雙方以多項式的形式共享計算結果
(C25)輸出結果,雙方以多項式的形式共享計算結果ui+1,所述計算結果ui+1也就是的近似值;
(C3)調用所述Multiply和所述DivideConst方法,Alice輸入f(1)、pp1和2λ,Bob輸入f(2)、pp2和2λ,Alice計算出res5,Bob計算出res6,且res5、res6以多項式的形式共享秘密計算完畢;
所述Mod方法中,兩個參與方Alice和Bob分別計算出結果res7、res8,且res7、res8以多項式的形式共享秘密s mod p,具體過程如下:
D1)Alice和Bob分別以多項式的形式共享了s和p,對于秘密多項式f(x)=s+tx和g(x)=p+t2x,Alice擁有f(1)、g(1),Bob擁有f(2)、g(2);
D2)調用所述Inverse方法,Alice輸入g(1),Bob輸入g(2),Alice計算得到pp1,Bob計算得到pp2,其中pp1、pp2以多項式的形式共享秘密λ為所述Inverse方法中的大公開參數;
D3)調用所述Multiply和所述DivideConst方法,Alice輸入f(1)、pp1和λ,Bob輸入f(2)、pp2和λ,雙方以多項式的形式共享計算結果Alice擁有q1,Bob擁有q2;
D4)調用所述Multiply方法,Alice輸入g(1)和q1,Bob輸入g(2)和q2,雙方以多項式的形式共享了計算結果q′=q·p,Alice擁有q′1,Bob擁有q′2;
D5)Alice計算res7=f(1)-q′1,Bob計算res8=f(2)-q′2,且res7、res8以多項式的形式共享秘密s mod p,計算完畢。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中山大學,未經中山大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810057559.6/1.html,轉載請聲明來源鉆瓜專利網。





