System.ArgumentOutOfRangeException: 索引和長(zhǎng)度必須引用該字符串內(nèi)的位置。 參數(shù)名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術(shù)實(shí)現(xiàn)步驟摘要】
本專利技術(shù)涉及網(wǎng)絡(luò)通信,更具體的說(shuō)是涉及一種用于秘密共享的乘法三元組的生成方法和系統(tǒng)。
技術(shù)介紹
1、互聯(lián)網(wǎng)的普及和移動(dòng)互聯(lián)的發(fā)展使得生產(chǎn)經(jīng)營(yíng)、日常生活都在源源不斷的產(chǎn)生數(shù)據(jù)。海量數(shù)據(jù)已成為企業(yè)的資產(chǎn),同時(shí)由于這些數(shù)據(jù)中常常包含用戶的敏感信息,保護(hù)這些數(shù)據(jù)也成為企業(yè)的責(zé)任。而有些數(shù)據(jù)挖掘項(xiàng)目需要以不同企業(yè)的數(shù)據(jù)為基礎(chǔ),在企業(yè)參與這樣的數(shù)據(jù)挖掘項(xiàng)目時(shí),要確保己方的原始數(shù)據(jù)不會(huì)泄露。
2、安全多方計(jì)算(mpc,secure?muti-party?computation)針對(duì)這種數(shù)據(jù)孤島現(xiàn)象提供了一種解決方案,允許多個(gè)數(shù)據(jù)所有者在互不信任的情況下進(jìn)行協(xié)同計(jì)算,輸出計(jì)算結(jié)果,并保證任何一方均無(wú)法得到除應(yīng)得的計(jì)算結(jié)果之外的其他任何信息,mpc能夠讓多個(gè)數(shù)據(jù)所有者在保護(hù)各自原始數(shù)據(jù)內(nèi)容隱私的條件下可以獲取所有數(shù)據(jù)的使用價(jià)值。因此,安全多方計(jì)算在電子選舉、電子投票、秘密共享、門(mén)限簽名等場(chǎng)景中有著重要的作用。
3、現(xiàn)有基于秘密共享的乘法運(yùn)算中,一種常見(jiàn)的方式便是通過(guò)三元組進(jìn)行操作,現(xiàn)有專利cn202110101403.5,由兩個(gè)計(jì)算方交互生成三元組,要求通信兩方具有一定的算力,且需要多次交互才能生成乘法三元組,計(jì)算復(fù)雜,cn202110808954.5三元組直接由tee生成,其安全性依賴于原始種子的選取,當(dāng)原始種子比較短時(shí),很快就會(huì)出現(xiàn)周期性重復(fù)。三元組完全由可靠第三方生成,太過(guò)于集中化。
4、因此,如何提供一種高效安全的用于秘密共享的乘法三元組的生成方法是本領(lǐng)域技術(shù)人員亟需解決的問(wèn)題。
1、有鑒于此,本專利技術(shù)提供了一種用于秘密共享的乘法三元組的生成方法和系統(tǒng),安全高效。
2、為了實(shí)現(xiàn)上述目的,本專利技術(shù)采用如下技術(shù)方案:
3、一種用于秘密共享的乘法三元組的生成方法,包括:
4、s1:第一通信方基于第一隱私數(shù)據(jù)隨機(jī)生成部分三元組秘密分享塊[a]a、[b]a并存儲(chǔ)至本地,將部分三元組秘密分享塊[a]a、[b]a通過(guò)安全通道加密后發(fā)送至可信執(zhí)行環(huán)境tee;
5、第二通信方基于第二隱私數(shù)據(jù)隨機(jī)生成部分三元組秘密分享塊[a]b、[b]b并存儲(chǔ)至本地,將部分三元組秘密分享塊[a]b、[b]b通過(guò)安全通道加密后發(fā)送至可信執(zhí)行環(huán)境tee;
6、s2:可信執(zhí)行環(huán)境tee對(duì)部分三元組秘密分享塊[a]a、[b]a和部分三元組秘密分享塊[a]b、[b]b進(jìn)行解密,并進(jìn)行加法運(yùn)算a=[a]a+[a]b、b=[b]a+[b]b,計(jì)算c=a*b,對(duì)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)行哈希運(yùn)算后的哈希值hash([a]a)和哈希值hash([b]a)存儲(chǔ)至哈希樹(shù)上,并把hash([a]a)和哈希值hash([b]a)發(fā)送給第二通信方;
9、第二通信方將部分三元組秘密分享塊[a]b、[b]b進(jìn)行哈希運(yùn)算后的哈希值hash([a]b)和哈希值hash([b]b)存儲(chǔ)至哈希樹(shù)上,并把哈希值hash([a]b)和哈希值hash([b]b)發(fā)送給第一通信方;
10、可信執(zhí)行環(huán)境tee將分塊[c]a和分塊[c]b進(jìn)行哈希運(yùn)算后得到哈希值hash([c]a)和哈希值hash([c]b),并將哈希值hash([c]a)和哈希值hash([c]b)分別發(fā)送給第一通信方和第二通信方;
11、第一通信方和第二通信方均執(zhí)行以下步驟:
12、對(duì)0進(jìn)行哈希運(yùn)算后得到哈希值哈希值hash(0);
13、對(duì)哈希值hash([a]a)和哈希值hash([a]b)拼接后再進(jìn)行哈希運(yùn)算得到哈希值hash1,對(duì)哈希值hash([b]a)和哈希值hash([b]b)拼接后再進(jìn)行哈希運(yùn)算得到的哈希值hash2;對(duì)哈希值hash1和哈希值hash2拼接后再進(jìn)行哈希運(yùn)算得到哈希值hash5;
14、對(duì)哈希值hash([c]a)和哈希值hash([c]b)拼接后再進(jìn)行哈希運(yùn)算得到哈希值hash3,對(duì)兩個(gè)哈希值hash(0)拼接后再進(jìn)行哈希運(yùn)算得到哈希值hash4;對(duì)哈希值hash3和哈希值hash4拼接后再進(jìn)行哈希運(yùn)算得到哈希值hash6;
15、對(duì)哈希值hash5和哈希值hash6拼接后再進(jìn)行哈希運(yùn)算得到根哈希。
16、優(yōu)選地,加密數(shù)據(jù)均通過(guò)可信執(zhí)行環(huán)境tee產(chǎn)生的對(duì)稱密鑰進(jìn)行處理。
17、一種用于秘密共享的乘法三元組的生成系統(tǒng),包括:第一通信方、第二通信方和可信執(zhí)行環(huán)境tee;
18、第一通信方包括第一秘密分享塊單元和第一通信單元;
19、第二通信方包括第二秘密分享塊單元和第二通信單元;
20、第一秘密分享塊單元基于第一隱私數(shù)據(jù)隨機(jī)生成部分三元組秘密分享塊[a]a、[b]a并存儲(chǔ)至本地;
21、第一通信單元用于將部分三元組秘密分享塊[a]a、[b]a通過(guò)安全通道加密后發(fā)送至可信執(zhí)行環(huán)境tee;
22、第二秘密分享塊單元基于第二隱私數(shù)據(jù)隨機(jī)生成部分三元組秘密分享塊[a]b、[b]b并存儲(chǔ)至本地;
23、第二通信單元用于將部分三元組秘密分享塊[a]b、[b]b通過(guò)安全通道加密后發(fā)送至可信執(zhí)行環(huán)境tee;
24、可信執(zhí)行環(huán)境tee對(duì)部分三元組秘密分享塊[a]a、[b]a和部分三元組秘密分享塊[a]b、[b]b進(jìn)行解密,并進(jìn)行加法運(yùn)算a=[a]a+[a]b、b=[b]a+[b]b,計(jì)算c=a*b,對(duì)c進(jìn)行分塊獲得分塊[c]a和分塊[c]b,并通過(guò)第一通信單元將分塊[c]a加密后發(fā)送至第一通信方,通過(guò)第二通信單元將分塊[c]b加密后發(fā)送至第二通信方,[a]a[b]a[c]a與[a]b[b]b[c]b為三元組秘密分享塊。
25、優(yōu)選地,第一通信方還包括第一哈希樹(shù)計(jì)算單元,用于將部分三元組秘密分享塊[a]a、[b]a進(jìn)行哈希運(yùn)算后的哈希值hash([a]a)和哈希值hash([b]a)存儲(chǔ)至哈希樹(shù)上,并把hash([a]a)和哈希值hash([b]a)發(fā)送給第二通信方;
26、第二通信方還包括第二哈希樹(shù)計(jì)算單元,用于將部分三元組秘密分享塊[a]b、[b]b進(jìn)行哈希運(yùn)算后的哈希值hash([a]b)和哈希值hash([b]b)存儲(chǔ)至哈希樹(shù)上,并把哈希值hash([a]b)和哈希值hash([b]b)發(fā)送給第一通信方;
27、可信執(zhí)行環(huán)境tee將分塊[c]a和分塊[c]b進(jìn)行哈希運(yùn)算后得到哈希值hash([c]a)和哈希值hash([c]b)存儲(chǔ)至哈希樹(shù)上,并將哈希值hash([c]a)和哈希值hash([c]b)分別通過(guò)第一通信單元和第二通信單元發(fā)送給第一通信方和第二通信方;
28、第一哈希樹(shù)計(jì)算單元和第二哈希樹(shù)計(jì)算單元本文檔來(lái)自技高網(wǎng)...
【技術(shù)保護(hù)點(diǎn)】
1.一種用于秘密共享的乘法三元組的生成方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的一種用于秘密共享的乘法三元組的生成方法,其特征在于,還包括:
3.根據(jù)權(quán)利要求1所述的一種用于秘密共享的乘法三元組的生成方法,其特征在于,加密數(shù)據(jù)均通過(guò)可信執(zhí)行環(huán)境TEE產(chǎn)生的對(duì)稱密鑰進(jìn)行處理。
4.一種用于秘密共享的乘法三元組的生成系統(tǒng),其特征在于,包括:第一通信方、第二通信方和可信執(zhí)行環(huán)境TEE;
5.根據(jù)權(quán)利要求4所述的一種用于秘密共享的乘法三元組的生成系統(tǒng),其特征在于,第一通信方還包括第一哈希樹(shù)計(jì)算單元,用于將部分三元組秘密分享塊[a]A、[b]A進(jìn)行哈希運(yùn)算后的哈希值Hash([a]A)和哈希值Hash([b]A)存儲(chǔ)至哈希樹(shù)上,并把Hash([a]A)和哈希值Hash([b]A)發(fā)送給第二通信方;
6.根據(jù)權(quán)利要求4所述的一種用于秘密共享的乘法三元組的生成系統(tǒng),其特征在于,加密數(shù)據(jù)均通過(guò)可信執(zhí)行環(huán)境TEE產(chǎn)生的對(duì)稱密鑰進(jìn)行處理。
【技術(shù)特征摘要】
1.一種用于秘密共享的乘法三元組的生成方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的一種用于秘密共享的乘法三元組的生成方法,其特征在于,還包括:
3.根據(jù)權(quán)利要求1所述的一種用于秘密共享的乘法三元組的生成方法,其特征在于,加密數(shù)據(jù)均通過(guò)可信執(zhí)行環(huán)境tee產(chǎn)生的對(duì)稱密鑰進(jìn)行處理。
4.一種用于秘密共享的乘法三元組的生成系統(tǒng),其特征在于,包括:第一通信方、第二通信方和可信執(zhí)行環(huán)境tee;
5.根據(jù)權(quán)...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:請(qǐng)求不公布姓名,請(qǐng)求不公布姓名,請(qǐng)求不公布姓名,
申請(qǐng)(專利權(quán))人:北京微芯感知科技有限公司,
類型:發(fā)明
國(guó)別省市:
還沒(méi)有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。