本發(fā)明涉及網(wǎng)絡(luò)通信,更具體的說是涉及一種用于秘密共享的乘法三元組的生成方法和系統(tǒng)。
背景技術(shù):
1、互聯(lián)網(wǎng)的普及和移動互聯(lián)的發(fā)展使得生產(chǎn)經(jīng)營、日常生活都在源源不斷的產(chǎn)生數(shù)據(jù)。海量數(shù)據(jù)已成為企業(yè)的資產(chǎn),同時由于這些數(shù)據(jù)中常常包含用戶的敏感信息,保護(hù)這些數(shù)據(jù)也成為企業(yè)的責(zé)任。而有些數(shù)據(jù)挖掘項目需要以不同企業(yè)的數(shù)據(jù)為基礎(chǔ),在企業(yè)參與這樣的數(shù)據(jù)挖掘項目時,要確保己方的原始數(shù)據(jù)不會泄露。
2、安全多方計算(mpc,secure?muti-party?computation)針對這種數(shù)據(jù)孤島現(xiàn)象提供了一種解決方案,允許多個數(shù)據(jù)所有者在互不信任的情況下進(jìn)行協(xié)同計算,輸出計算結(jié)果,并保證任何一方均無法得到除應(yīng)得的計算結(jié)果之外的其他任何信息,mpc能夠讓多個數(shù)據(jù)所有者在保護(hù)各自原始數(shù)據(jù)內(nèi)容隱私的條件下可以獲取所有數(shù)據(jù)的使用價值。因此,安全多方計算在電子選舉、電子投票、秘密共享、門限簽名等場景中有著重要的作用。
3、現(xiàn)有基于秘密共享的乘法運算中,一種常見的方式便是通過三元組進(jìn)行操作,現(xiàn)有專利cn202110101403.5,由兩個計算方交互生成三元組,要求通信兩方具有一定的算力,且需要多次交互才能生成乘法三元組,計算復(fù)雜,cn202110808954.5三元組直接由tee生成,其安全性依賴于原始種子的選取,當(dāng)原始種子比較短時,很快就會出現(xiàn)周期性重復(fù)。三元組完全由可靠第三方生成,太過于集中化。
4、因此,如何提供一種高效安全的用于秘密共享的乘法三元組的生成方法是本領(lǐng)域技術(shù)人員亟需解決的問題。
技術(shù)實現(xiàn)思路
1、有鑒于此,本發(fā)明提供了一種用于秘密共享的乘法三元組的生成方法和系統(tǒng),安全高效。
2、為了實現(xiàn)上述目的,本發(fā)明采用如下技術(shù)方案:
3、一種用于秘密共享的乘法三元組的生成方法,包括:
4、s1:第一通信方基于第一隱私數(shù)據(jù)隨機(jī)生成部分三元組秘密分享塊[a]a、[b]a并存儲至本地,將部分三元組秘密分享塊[a]a、[b]a通過安全通道加密后發(fā)送至可信執(zhí)行環(huán)境tee;
5、第二通信方基于第二隱私數(shù)據(jù)隨機(jī)生成部分三元組秘密分享塊[a]b、[b]b并存儲至本地,將部分三元組秘密分享塊[a]b、[b]b通過安全通道加密后發(fā)送至可信執(zhí)行環(huán)境tee;
6、s2:可信執(zhí)行環(huán)境tee對部分三元組秘密分享塊[a]a、[b]a和部分三元組秘密分享塊[a]b、[b]b進(jìn)行解密,并進(jìn)行加法運算a=[a]a+[a]b、b=[b]a+[b]b,計算c=a*b,對c進(jìn)行分塊獲得分塊[c]a和分塊[c]b,并將分塊[c]a加密后發(fā)送至第一通信方,將分塊[c]b加密后發(fā)送至第二通信方,[a]a[b]a[c]a與[a]b[b]b[c]b為三元組秘密分享塊。
7、優(yōu)選地,還包括:
8、s3:第一通信方將部分三元組秘密分享塊[a]a、[b]a進(jìn)行哈希運算后的哈希值hash([a]a)和哈希值hash([b]a)存儲至哈希樹上,并把hash([a]a)和哈希值hash([b]a)發(fā)送給第二通信方;
9、第二通信方將部分三元組秘密分享塊[a]b、[b]b進(jìn)行哈希運算后的哈希值hash([a]b)和哈希值hash([b]b)存儲至哈希樹上,并把哈希值hash([a]b)和哈希值hash([b]b)發(fā)送給第一通信方;
10、可信執(zhí)行環(huán)境tee將分塊[c]a和分塊[c]b進(jìn)行哈希運算后得到哈希值hash([c]a)和哈希值hash([c]b),并將哈希值hash([c]a)和哈希值hash([c]b)分別發(fā)送給第一通信方和第二通信方;
11、第一通信方和第二通信方均執(zhí)行以下步驟:
12、對0進(jìn)行哈希運算后得到哈希值哈希值hash(0);
13、對哈希值hash([a]a)和哈希值hash([a]b)拼接后再進(jìn)行哈希運算得到哈希值hash1,對哈希值hash([b]a)和哈希值hash([b]b)拼接后再進(jìn)行哈希運算得到的哈希值hash2;對哈希值hash1和哈希值hash2拼接后再進(jìn)行哈希運算得到哈希值hash5;
14、對哈希值hash([c]a)和哈希值hash([c]b)拼接后再進(jìn)行哈希運算得到哈希值hash3,對兩個哈希值hash(0)拼接后再進(jìn)行哈希運算得到哈希值hash4;對哈希值hash3和哈希值hash4拼接后再進(jìn)行哈希運算得到哈希值hash6;
15、對哈希值hash5和哈希值hash6拼接后再進(jìn)行哈希運算得到根哈希。
16、優(yōu)選地,加密數(shù)據(jù)均通過可信執(zhí)行環(huán)境tee產(chǎn)生的對稱密鑰進(jìn)行處理。
17、一種用于秘密共享的乘法三元組的生成系統(tǒng),包括:第一通信方、第二通信方和可信執(zhí)行環(huán)境tee;
18、第一通信方包括第一秘密分享塊單元和第一通信單元;
19、第二通信方包括第二秘密分享塊單元和第二通信單元;
20、第一秘密分享塊單元基于第一隱私數(shù)據(jù)隨機(jī)生成部分三元組秘密分享塊[a]a、[b]a并存儲至本地;
21、第一通信單元用于將部分三元組秘密分享塊[a]a、[b]a通過安全通道加密后發(fā)送至可信執(zhí)行環(huán)境tee;
22、第二秘密分享塊單元基于第二隱私數(shù)據(jù)隨機(jī)生成部分三元組秘密分享塊[a]b、[b]b并存儲至本地;
23、第二通信單元用于將部分三元組秘密分享塊[a]b、[b]b通過安全通道加密后發(fā)送至可信執(zhí)行環(huán)境tee;
24、可信執(zhí)行環(huán)境tee對部分三元組秘密分享塊[a]a、[b]a和部分三元組秘密分享塊[a]b、[b]b進(jìn)行解密,并進(jìn)行加法運算a=[a]a+[a]b、b=[b]a+[b]b,計算c=a*b,對c進(jìn)行分塊獲得分塊[c]a和分塊[c]b,并通過第一通信單元將分塊[c]a加密后發(fā)送至第一通信方,通過第二通信單元將分塊[c]b加密后發(fā)送至第二通信方,[a]a[b]a[c]a與[a]b[b]b[c]b為三元組秘密分享塊。
25、優(yōu)選地,第一通信方還包括第一哈希樹計算單元,用于將部分三元組秘密分享塊[a]a、[b]a進(jìn)行哈希運算后的哈希值hash([a]a)和哈希值hash([b]a)存儲至哈希樹上,并把hash([a]a)和哈希值hash([b]a)發(fā)送給第二通信方;
26、第二通信方還包括第二哈希樹計算單元,用于將部分三元組秘密分享塊[a]b、[b]b進(jìn)行哈希運算后的哈希值hash([a]b)和哈希值hash([b]b)存儲至哈希樹上,并把哈希值hash([a]b)和哈希值hash([b]b)發(fā)送給第一通信方;
27、可信執(zhí)行環(huán)境tee將分塊[c]a和分塊[c]b進(jìn)行哈希運算后得到哈希值hash([c]a)和哈希值hash([c]b)存儲至哈希樹上,并將哈希值hash([c]a)和哈希值hash([c]b)分別通過第一通信單元和第二通信單元發(fā)送給第一通信方和第二通信方;
28、第一哈希樹計算單元和第二哈希樹計算單元還用于計算一下步驟:
29、對0進(jìn)行哈希運算后得到哈希值哈希值hash(0);
30、對哈希值hash([a]a)和哈希值hash([a]b)拼接后再進(jìn)行哈希運算得到哈希值hash1,對哈希值hash([b]a)和哈希值hash([b]b)拼接后再進(jìn)行哈希運算得到的哈希值hash2;對哈希值hash1和哈希值hash2拼接后再進(jìn)行哈希運算得到哈希值hash5;
31、對哈希值hash([c]a)和哈希值hash([c]b)拼接后再進(jìn)行哈希運算得到哈希值hash3,對兩個哈希值hash(0)拼接后再進(jìn)行哈希運算得到哈希值hash4;對哈希值hash3和哈希值hash4拼接后再進(jìn)行哈希運算得到哈希值hash6;
32、對哈希值hash5和哈希值hash6拼接后再進(jìn)行哈希運算得到根哈希。
33、優(yōu)選地,加密數(shù)據(jù)均通過可信執(zhí)行環(huán)境tee產(chǎn)生的對稱密鑰進(jìn)行處理。
34、經(jīng)由上述的技術(shù)方案可知,與現(xiàn)有技術(shù)相比,本發(fā)明公開提供了一種用于秘密共享的乘法三元組的生成方法和系統(tǒng),通過tee的加密與安全計算功能,保證了三元組的安全性與高效性,同時使用merkle?tree進(jìn)行完整性驗證,提高了算法安全性。