日韩成人黄色,透逼一级毛片,狠狠躁天天躁中文字幕,久久久久久亚洲精品不卡,在线看国产美女毛片2019,黄片www.www,一级黄色毛a视频直播

一種具有容錯(cuò)功能的密碼學(xué)分布式計(jì)算與分步檢驗(yàn)方法

文檔序號:7694581閱讀:282來源:國知局
專利名稱:一種具有容錯(cuò)功能的密碼學(xué)分布式計(jì)算與分步檢驗(yàn)方法
技術(shù)領(lǐng)域
本發(fā)明涉及了一種具有容錯(cuò)功能的密碼學(xué)分布式計(jì)算與分步檢驗(yàn)方法,對于處理分布式系統(tǒng)中數(shù)據(jù)的安全處理,特別是多方安全數(shù)據(jù)處理,提供了一種高效的支持,且該方法具有很好的容錯(cuò)能力;此方法可以應(yīng)用到諸如容錯(cuò)計(jì)算、分布式計(jì)算、網(wǎng)格計(jì)算等領(lǐng)域。

背景技術(shù)
分布式計(jì)算是近年提出的一種新的計(jì)算方式。所謂分布式計(jì)算就指參與計(jì)算的不是一臺計(jì)算機(jī),而是一個(gè)由多臺計(jì)算機(jī)構(gòu)成的網(wǎng)絡(luò),這些計(jì)算機(jī)互相共享信息,并協(xié)同完成計(jì)算任務(wù)。分布式計(jì)算比起其它算法具有以下幾個(gè)優(yōu)點(diǎn)不同種類和不同地域間的數(shù)據(jù)資源動態(tài)獲取與共享;可把程序放在最適合運(yùn)行它的計(jì)算機(jī)上,實(shí)現(xiàn)計(jì)算負(fù)載平衡;其中,共享資源和平衡負(fù)載是計(jì)算機(jī)分布式計(jì)算的核心思想之一。分布式計(jì)算結(jié)構(gòu)是計(jì)算機(jī)與網(wǎng)絡(luò)發(fā)展的必然結(jié)果,能夠滿足開放、動態(tài)、松耦合的網(wǎng)絡(luò)環(huán)境下多層次、全方位的數(shù)據(jù)共享與協(xié)助處理,同時(shí)也是地域分散企事業(yè)單位的必然要求,如銀行或民航結(jié)算系統(tǒng)、政務(wù)系統(tǒng)、人口檔案系統(tǒng)、身份證管理系統(tǒng)等都具有分布式特征。
由于分布式系統(tǒng)中資源的開放性,分布式計(jì)算更易于受到攻擊,個(gè)別節(jié)點(diǎn)的異常能導(dǎo)致整個(gè)系統(tǒng)的癱瘓,因此分布式計(jì)算系統(tǒng)的安全一直是極為緊迫的問題。在現(xiàn)實(shí)生生活中,有許許多多的分布式計(jì)算系統(tǒng),不僅需要計(jì)算處理的速度較快,而且對于計(jì)算本身的安全性提出了很高的要求,這就要求我們既要考慮計(jì)算的實(shí)現(xiàn)效率,更要考慮計(jì)算的安全性和正確性。隨著網(wǎng)絡(luò)的進(jìn)一步發(fā)展和完善,網(wǎng)絡(luò)可以給提供越來越多的服務(wù),極大地方便了我們的生活,而如何保證這種網(wǎng)絡(luò)服務(wù)安全性也提出了很大的挑戰(zhàn)。
另一方面,分布式系統(tǒng)具有將計(jì)算任務(wù)問題在不同點(diǎn)上分散處理的特點(diǎn),也能夠提供一般計(jì)算機(jī)系統(tǒng)所沒有的安全性,例如,通過提供數(shù)據(jù)冗余并把數(shù)據(jù)分散存儲,可以避免單個(gè)或多個(gè)節(jié)點(diǎn)的癱瘓,實(shí)現(xiàn)容錯(cuò)容災(zāi)、災(zāi)難恢復(fù);再比如,可以通過布置多個(gè)節(jié)點(diǎn)構(gòu)成CA系統(tǒng)(CA是證書的簽發(fā)機(jī)構(gòu),它是PKI的核心),通過各個(gè)節(jié)點(diǎn)之間的合作計(jì)算可以實(shí)現(xiàn)所謂的“可信中心”,即便個(gè)別節(jié)點(diǎn)被敵手攻破,也不足以進(jìn)行欺騙和偽造。
鑒于以上分析,為了解決分布式計(jì)算中存在的安全隱患,同時(shí)充分利用分布式系統(tǒng)所具有的安全優(yōu)勢,本發(fā)明將涉及分布式計(jì)算環(huán)境下的數(shù)據(jù)共享方法、以及一種新的容錯(cuò)計(jì)算與分步檢驗(yàn)方法。本發(fā)明把網(wǎng)絡(luò)提供的每種服務(wù)視為一種計(jì)算過程的實(shí)現(xiàn),如同CPU實(shí)現(xiàn)簡單代數(shù)運(yùn)算一樣,分布式計(jì)算中的復(fù)雜任務(wù)也是由簡單地分布式代數(shù)運(yùn)算實(shí)現(xiàn)的,這些運(yùn)算包括有限域內(nèi)的加、減、乘、除運(yùn)算,而加與減、乘與除是相同的,因此,在實(shí)現(xiàn)中只需要考慮有限域內(nèi)的加法和乘法運(yùn)算。為此,本發(fā)明實(shí)現(xiàn)了一種分布式數(shù)據(jù)的安全共享方法,以及該共享下的快速“加法”和“乘法”算法,并為了實(shí)現(xiàn)安全性,該算法分步容錯(cuò)和檢驗(yàn)功能。這些安全分布式算法的實(shí)現(xiàn),將為其它分布式算法的構(gòu)造提供基礎(chǔ)。
對于分布式計(jì)算的安全性要求,可以考慮這樣一個(gè)情景在一個(gè)簡單網(wǎng)絡(luò)商品銷售中,參與者包括購買者、銷售商、銀行,購買者提供購買信息和電子貨幣、銷售商接收購買信息并請求銀行進(jìn)行貨幣轉(zhuǎn)賬、銀行將貨幣轉(zhuǎn)賬到銷售商、再由銷售商發(fā)送產(chǎn)品給購買者。這是一個(gè)典型的分布式系統(tǒng),在這一過程中,各參與者的輸入信息需要保護(hù)隱私,例如,購買者的電子貨幣及金額、銷售商銷售記錄、銀行賬戶信息就是隱私信息,需要進(jìn)行保密;同時(shí),該銷售過程是三方通過計(jì)算將用戶的電子貨幣中扣除購買商品金額,將該資金轉(zhuǎn)賬到銷售商,并將剩余電子貨幣返還購買者,這一計(jì)算過程要求保證計(jì)算結(jié)果的正確性。由此可知,一個(gè)分布式計(jì)算的基本安全要求包括兩部分 1、保證各計(jì)算參與方輸入秘密的隱私性; 2、保證分布式計(jì)算結(jié)果的正確性; 同時(shí),作為一種實(shí)用系統(tǒng)還要保證系統(tǒng)計(jì)算的高效率性。
本發(fā)明的目的在于提供一種分布式條件下的加法和乘法的高效安全數(shù)據(jù)處理方法。本發(fā)明借鑒了密碼學(xué)中安全多方計(jì)算的思想,安全多方計(jì)算是安全協(xié)議構(gòu)造的理論基礎(chǔ),這種算法可以應(yīng)用到近來興起的電子商務(wù)、電子政務(wù)、網(wǎng)上交易、甚至軍用網(wǎng)絡(luò)中。
安全多方計(jì)算協(xié)議要解決的問題可以描述如下n名互不相信的參與者(P1,P2,…,Pn),希望共同計(jì)算某個(gè)約定的函數(shù)y=f(x1,x2,…,xn),每個(gè)參與者Pi提供函數(shù)的一個(gè)輸入xi,出于安全考慮,要求參與者提供的輸入對其他人保密,最終,忠實(shí)成員獲得y。A.C.Yao于1982年最早提出了兩方安全計(jì)算協(xié)議。此后,Goldreich等提出了可以計(jì)算任意函數(shù)的基于密碼學(xué)安全模型的安全多方計(jì)算協(xié)議,證明了存在被動攻擊者時(shí)n-Secure的協(xié)議是存在的;存在主動攻擊時(shí)(n-1)-Secure的協(xié)議是存在的;D.Chaum,C.Crepeau和I.Damgard中對信息論安全模型下的安全多方計(jì)算進(jìn)行了研究,證明了在被動攻擊下(n-1)-Secure的協(xié)議是存在的,在主動攻擊下([n/2-1])-secure的協(xié)議是存在的。此后,許多學(xué)者在如何提高安全多方計(jì)算協(xié)議的效率,如何對安全多方計(jì)算進(jìn)行形式化的定義,如何對通用的安全多方計(jì)算協(xié)議進(jìn)行剪裁使之能更有效地適用于不同的應(yīng)用環(huán)境,新的安全多方計(jì)算協(xié)議的構(gòu)造方法,安全多方計(jì)算攻擊者結(jié)構(gòu)定義等方面進(jìn)行了研究。
目前所提方案通常都是基于Boolean代數(shù)的理論研究結(jié)果,目前國內(nèi)外尚沒有可以實(shí)用化的方案和系統(tǒng),研究還是主要針對被動敵手(竊聽)或是設(shè)備故障下的運(yùn)行安全,已有研究中存在的主要問題包括沒有考慮計(jì)算的連續(xù)性、主動攻擊下沒有較為系統(tǒng)的方法、無法支持一般數(shù)據(jù)共享下的計(jì)算、計(jì)算復(fù)雜性高、通信代價(jià)高等。特別是,已有計(jì)算方法建立在拜占庭一致協(xié)議之上,成員之間通信量較大,而且,這些方案易于受到主動攻擊,例如,數(shù)據(jù)篡改、增加延遲、非忠實(shí)執(zhí)行等。針對這些問題,本發(fā)明提出了一種分布式計(jì)算環(huán)境下的容錯(cuò)計(jì)算與分步檢驗(yàn)方法。


發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種具有容錯(cuò)功能的密碼學(xué)分布式計(jì)算與分步檢驗(yàn)方法,使得安全多方數(shù)據(jù)處理過程高效而準(zhǔn)確,既提高了效率,同時(shí)又保證了安全性和一致性。此外,本發(fā)明的方法還實(shí)現(xiàn)了對于傳輸信息的檢錯(cuò)和糾錯(cuò)的處理,在算法的執(zhí)行過程中,加入了糾錯(cuò)碼的思想,使得整個(gè)過程的正確性得到保證。
本發(fā)明的技術(shù)方案為 一種具有容錯(cuò)功能的密碼學(xué)分布式計(jì)算與分步檢驗(yàn)方法,其步驟為 1)每個(gè)成員獨(dú)立完成所具有共享的運(yùn)算; 2)各成員按照所需的訪問結(jié)構(gòu),通過數(shù)據(jù)隨機(jī)選擇生成隨機(jī)多項(xiàng)式或隨機(jī)矩陣,并對該隨機(jī)多項(xiàng)式或隨機(jī)矩陣誘導(dǎo)出的數(shù)據(jù)進(jìn)行相互間的交換; 3)各成員利用接收到的所述隨機(jī)多項(xiàng)式或隨機(jī)矩陣數(shù)據(jù)生成聯(lián)合隨機(jī)多項(xiàng)式或聯(lián)合隨機(jī)矩陣; 4)采用所述聯(lián)合隨機(jī)多項(xiàng)式或聯(lián)合隨機(jī)矩陣對步驟1)的計(jì)算結(jié)果進(jìn)行再共享,并將該再共享結(jié)果分發(fā)到各成員; 5)判斷整個(gè)計(jì)算任務(wù)是否結(jié)束,如果沒有結(jié)束則重復(fù)上述步驟1)~4),如果結(jié)束則每個(gè)成員對收到的再共享數(shù)據(jù)進(jìn)行組合與重構(gòu),獲得最終計(jì)算結(jié)果的新共享; 6)每個(gè)成員通過彼此交換所述新共享,重構(gòu)出真實(shí)的最終計(jì)算結(jié)果。
所述通過數(shù)據(jù)隨機(jī)選擇生成隨機(jī)多項(xiàng)式,并對該隨機(jī)多項(xiàng)式誘導(dǎo)出的數(shù)據(jù)進(jìn)行相互間的交換方法為任意成員Pi構(gòu)造一隨機(jī)二元多項(xiàng)式hi(x,y)=ξ′i,1xy+...+ξ′i,t-1(xy)t-1+v′i,1y+...+v′i,t-1yt-1,并將計(jì)算結(jié)果發(fā)送給每一個(gè)成員,其中xj和xk為成員標(biāo)識ID的數(shù)學(xué)表示,t為非正常成員總數(shù),且滿足n≥3t+1,k=1,2,...,n,i=1,2,...,n,j=1,2,...,n,n為參與計(jì)算的成員總數(shù)。
所述各成員利用接收到的所述隨機(jī)多項(xiàng)式數(shù)據(jù)生成聯(lián)合隨機(jī)多項(xiàng)式的方法為所述成員Pi根據(jù)接收到的n*n個(gè)數(shù)據(jù)hI(xi,xk)計(jì)算并根據(jù)獲得的n個(gè)數(shù)據(jù){hi(x1),hi(x2),...,hi(xn)}生成聯(lián)合隨機(jī)二元多項(xiàng)式hi(y)=ξ1xiy+...+ξt-1(xiy)t-1+v1y+...+vt-1yt-1,其中l(wèi)∈1,2,...,n,k∈1,2,...,n, 所述步驟4)的實(shí)現(xiàn)方法為所述成員Pi根據(jù)數(shù)據(jù){hi(x1),hi(x2),…,hi(xn)}計(jì)算生成一組共享片段

并將

發(fā)送給成員Pj。
所述步驟5)中新共享的生成方法為所述成員Pj利用接收的一組共享片段

計(jì)算其中,為重組向量。
所述方法中,采用基于糾錯(cuò)碼的檢驗(yàn)方法驗(yàn)證所述步驟2)中的隨機(jī)二元多項(xiàng)式,其方法為Pj利用接收的一組共享片段

計(jì)算r=1,2,...,n-2t+1,如果該等式不為零,即可找出出錯(cuò)的成員,進(jìn)而利用Reed-Solomon碼中的Welch-Berlekamp算法定位并改正錯(cuò)誤;其中,wi為成員標(biāo)識的數(shù)學(xué)表示。
所述步驟2)中,對該隨機(jī)多項(xiàng)式誘導(dǎo)出的數(shù)據(jù)進(jìn)行相互間的交換時(shí),當(dāng)某一成員Pj接收到成員Pi發(fā)送的隨機(jī)二元多項(xiàng)式hi(xj,xk)后,所述成員Pj檢測集合{hi(xj,x1),hi(xj,x2),...hi(xj,xn)}并糾正錯(cuò)誤;進(jìn)一步的,所述成員Pj利用所述聯(lián)合隨機(jī)二元多項(xiàng)式hi(x)檢測所述數(shù)據(jù)集合{hi(x1),hi(x2),...hi(xn)}上的錯(cuò)誤。
所述步驟4)中,將該再共享結(jié)果分發(fā)到各成員時(shí),每一個(gè)成員Pj通過檢驗(yàn)所述共享片段

驗(yàn)證共享的一致性。
所述方法中,采用一個(gè)誠實(shí)驗(yàn)證者并利用所有所述新共享驗(yàn)證所述最終計(jì)算結(jié)果的一致性。
進(jìn)一步的,所述步驟2)中,隨機(jī)多項(xiàng)式誘導(dǎo)出的數(shù)據(jù)進(jìn)行相互間的交換時(shí)遵循可驗(yàn)證安全分享協(xié)議 1)分享的分配發(fā)起者選取兩個(gè)Zq上的至多為t-1次的隨機(jī)多項(xiàng)式 其中,對于待檢驗(yàn)秘密值s,u,令a0=s,b0=u,發(fā)起者對多項(xiàng)式保密但公布相關(guān)的承諾發(fā)起者通過秘密信道將分享si=f(xi),ui=g(xi)分配給Pi; 2)分享的驗(yàn)證Pi利用Cj的值計(jì)算利用g,h,si,ui,Pi計(jì)算承諾并驗(yàn)證方程E(si,ui)=Ei,如果發(fā)起者收到來自參與者的抱怨則將拒絕本次執(zhí)行; 其中,aj和bj為多項(xiàng)式f(x)和g(x)的隨機(jī)系數(shù)(j=0,...,t-1),n為參與計(jì)算的成員總數(shù),t為非正常成員總數(shù),xk為成員標(biāo)識ID的數(shù)學(xué)表示;g為群Gp中的生成元,h是一個(gè)公開參數(shù),并滿足x=loggh,x作為密鑰被系統(tǒng)保密。
本發(fā)明是建立在分布式數(shù)據(jù)或秘密共享基礎(chǔ)之上,所謂數(shù)據(jù)共享或秘密共享是指一種將秘密分發(fā)到一組成員手中,使得只有指定的成員組合才能重構(gòu)出秘密,而其他成員或成員之間無法恢復(fù)出秘密的安全技術(shù)。而這種指定的成員組合被稱為“訪問結(jié)構(gòu)”,而且,不同的數(shù)據(jù)按照其安全要求確定訪問結(jié)構(gòu),因此不同數(shù)據(jù)所具有的訪問結(jié)構(gòu)是不同的。本發(fā)明的一個(gè)設(shè)計(jì)特點(diǎn)在于,能夠?qū)μ幱诠蚕頎顟B(tài)的數(shù)據(jù)進(jìn)行計(jì)算的同時(shí),并不限制具體的“數(shù)據(jù)共享方法”與“訪問結(jié)構(gòu)”。
本發(fā)明認(rèn)為任何復(fù)雜的分布式計(jì)算任務(wù)可分解為一系列簡單的分布式代數(shù)運(yùn)算,這些計(jì)算包括數(shù)值之間的加、減、乘、除,對于每個(gè)這種簡單代數(shù)運(yùn)算保持計(jì)算安全的情況,才能保證整個(gè)分布式運(yùn)算安全。因此,本發(fā)明主要解決這些簡單代數(shù)運(yùn)算的分布式運(yùn)算方法,具體而言,本發(fā)明對于每個(gè)分布式運(yùn)算分為下面5個(gè)階段 ●第1步,計(jì)算階段 分布式環(huán)境中的每個(gè)成員獨(dú)立完成所具有共享的運(yùn)算(加法、減法、乘法或除法等); ●第2步,配置階段 各成員按照所需的訪問結(jié)構(gòu),通過數(shù)據(jù)隨機(jī)選擇生成隨機(jī)多項(xiàng)式或隨機(jī)矩陣,并對該多項(xiàng)式或矩陣誘導(dǎo)出的數(shù)據(jù)進(jìn)行相互間的交換; ●第3步,重組合階段 各成員利用接收到的隨機(jī)多項(xiàng)式或隨機(jī)矩陣數(shù)據(jù),生成各成員共同生成的聯(lián)合隨機(jī)多項(xiàng)式或聯(lián)合隨機(jī)矩陣; ●第4步,再共享階段 對第一步計(jì)算結(jié)果,采用聯(lián)合隨機(jī)多項(xiàng)式或聯(lián)合隨機(jī)矩陣進(jìn)行再共享,并將該再分享結(jié)果分發(fā)到各成員; ●第5步,重構(gòu)階段 每個(gè)成員對收到的再分享數(shù)據(jù)進(jìn)行組合與重構(gòu),獲得最終計(jì)算結(jié)果的新共享。
對于上述五步運(yùn)算后的結(jié)果,每個(gè)成員可通過彼此交換共享,重構(gòu)出真實(shí)的計(jì)算結(jié)果。
本發(fā)明的一個(gè)特點(diǎn)在于,對參加計(jì)算的每名成員所執(zhí)行的計(jì)算過程是一樣的,并保證上述步驟在各成員內(nèi)部獨(dú)立執(zhí)行。整個(gè)運(yùn)算任務(wù)是通過各成員共同計(jì)算完成的,各成員運(yùn)行相同的5個(gè)階段,并通過上述5個(gè)步驟實(shí)現(xiàn)對于每個(gè)成員之間的協(xié)同。
本發(fā)明的一個(gè)顯著特征在于,所采用的聯(lián)合隨機(jī)多項(xiàng)式或矩陣,可以是一般二元隨機(jī)多項(xiàng)式、具有交叉項(xiàng)的精簡二元多項(xiàng)式、一般訪問結(jié)構(gòu)矩陣,可以達(dá)到抵御主動敵手攻擊的目的,也可以在被動敵手環(huán)境下采用一元多項(xiàng)式。
本發(fā)明的另一個(gè)特點(diǎn)在于,能夠保證安全計(jì)算的連續(xù)性,防止訪問結(jié)構(gòu)的改變,并能通過二次共享改變結(jié)果的訪問結(jié)構(gòu)。所謂計(jì)算連續(xù)性是指兩次或多次運(yùn)算之間是否能夠平穩(wěn)過渡。由于本文所述分布式計(jì)算依靠數(shù)據(jù)的共享方式,可以證明某些運(yùn)算將會使運(yùn)算前后的“訪問結(jié)構(gòu)”發(fā)生改變,從而無法使計(jì)算后的共享結(jié)果用于后續(xù)計(jì)算,即便是對于具有相同訪問結(jié)構(gòu)的兩個(gè)數(shù)據(jù)進(jìn)行運(yùn)算,也會產(chǎn)生訪問結(jié)構(gòu)上的變化,例如“乘除”運(yùn)算。本發(fā)明采用了“配置階段”、“重組合階段”和“再共享階段”對第一階段計(jì)算結(jié)果獲得的“訪問結(jié)構(gòu)”改變的共享進(jìn)行二次共享,并將通過“重構(gòu)階段”解除第一次共享,使得第二次共享的訪問結(jié)構(gòu)代替了第一次共享的訪問結(jié)構(gòu),這種方法所獲得的共享結(jié)構(gòu)是通過“二次共享”的訪問結(jié)構(gòu)指定的,因此能夠保證計(jì)算的連續(xù)性。此外,通常計(jì)算在上述步驟中只需完成前1至4步,第四步中的結(jié)果即可用于以后的運(yùn)算。而在每次運(yùn)算中第五步是可選的,只有在整個(gè)計(jì)算任務(wù)結(jié)束后可運(yùn)行最后一步,為所有成員提供最終計(jì)算結(jié)果。
本發(fā)明的另一個(gè)特點(diǎn)在于,能夠?qū)崿F(xiàn)對計(jì)算錯(cuò)誤、敵手攻擊的防范。在以上5個(gè)步驟中,需要進(jìn)行3次數(shù)據(jù)交換 ●第一次是第3步中隨機(jī)多項(xiàng)式或隨機(jī)矩陣交換; ●第二次是第4步中對聯(lián)合隨機(jī)多項(xiàng)式或聯(lián)合隨機(jī)矩陣; ●第三次是第5步中的再共享的交換與重構(gòu)。
本發(fā)明強(qiáng)調(diào)安全性的要求,在算法的執(zhí)行中利用了密碼學(xué)承諾驗(yàn)證和糾錯(cuò)碼的思想,加入了一個(gè)驗(yàn)證協(xié)議,做到在每一步的執(zhí)行中實(shí)現(xiàn)驗(yàn)證。驗(yàn)證協(xié)議的執(zhí)行也分為三個(gè)步驟 ●在第3步重組合階段,在每個(gè)成員收到信息之后,該成員可以利用糾錯(cuò)碼的方法檢測并糾正傳輸中的錯(cuò)誤; ●在第4步再共享階段,每個(gè)成員可以驗(yàn)證分享的一致性,因此可以找到一些配置階段和再分享階段中出現(xiàn)的偶然錯(cuò)誤和群組錯(cuò)誤; ●在第5步重構(gòu)階段,每個(gè)成員得到聯(lián)合隨機(jī)多項(xiàng)式或聯(lián)合隨機(jī)矩陣的共享,可以通過糾錯(cuò)碼驗(yàn)證結(jié)果的一致性。
本發(fā)明的另一個(gè)特點(diǎn)在于,只需要較少的計(jì)算復(fù)雜性和通信復(fù)雜性。本發(fā)明所采用的計(jì)算只涉及整數(shù)或有限域內(nèi)的隨機(jī)數(shù)選擇、加法、乘法、冪運(yùn)算,其中涉及到的冪運(yùn)算可分解為有限次的加法和乘法運(yùn)算,實(shí)現(xiàn)簡單。在上述5步驟中進(jìn)行了3次數(shù)據(jù)交換,考慮到第5步只在所有計(jì)算完成后使用,因此,每次運(yùn)算只需要完成2次交換,相比于多輪Byzantine協(xié)商協(xié)議,通信量又較大減少。
本發(fā)明的一個(gè)顯著特征在于,所提方法不限于基于“門限或閾值”訪問結(jié)構(gòu)的多項(xiàng)式分享下的多方計(jì)算方法,同樣適用于一般情況下的線性共享方案和訪問結(jié)構(gòu),例如,數(shù)據(jù)張成算法、信息擴(kuò)散算法、一般線性秘密共享、可乘線性秘密共享,并支持具有一般訪問結(jié)構(gòu)下的秘密共享構(gòu)造。
本發(fā)明的積極效果 綜上所述,本發(fā)明的方法和協(xié)議實(shí)現(xiàn)了算法的高效性、容錯(cuò)性和協(xié)議的安全性。在一般代數(shù)(包括加、減、乘、除)運(yùn)算過程中,本發(fā)明克服了傳統(tǒng)的算法中需要考慮拜占庭一致性協(xié)議執(zhí)行的通信量巨大,算法效率低下的問題;本發(fā)明的另一特點(diǎn)在于提出了乘除運(yùn)算的降階方法;在驗(yàn)證階段,本發(fā)明實(shí)現(xiàn)了對運(yùn)算每個(gè)步驟正確性的檢驗(yàn);在秘密分享階段,本發(fā)明采用了可驗(yàn)證的秘密分享體制,從而在秘密的分享之初便實(shí)現(xiàn)了算法正確性和合法性。



圖1是本發(fā)明方法的流程圖。
圖2是本發(fā)明方法具體實(shí)施時(shí)的示意圖。

具體實(shí)施例方式 下面結(jié)合具體的實(shí)施例和示意圖對本發(fā)明中的運(yùn)算過程做進(jìn)一步的描述,該過程適用于其他分布式代數(shù)運(yùn)算,如加、減、數(shù)乘、乘、除、冪運(yùn)算等。
在本實(shí)施例中,假定存在n名成員參與計(jì)算,兩兩成員之間存在一條鏈路,并且假定網(wǎng)絡(luò)時(shí)延可忽略不計(jì),每名成員具有一個(gè)唯一性身份標(biāo)識IDi,并且該標(biāo)識可表示為正數(shù)xi用于計(jì)算。同時(shí),假定上述系統(tǒng)中可能存在至多有t名成員可被敵手控制或出現(xiàn)了設(shè)備或網(wǎng)絡(luò)故障,并滿足n≥3t+1。
為了實(shí)現(xiàn)多方計(jì)算,首先需要將保密的計(jì)算輸入分發(fā)到各成員手中,這里采用了基于t次隨機(jī)多項(xiàng)式的分享方案,具體線性共享和重構(gòu)方法如下 線性共享與重構(gòu)在域Gq中,給定一個(gè)秘密值s,發(fā)送者隨機(jī)選取t-1個(gè)隨機(jī)數(shù)(r1,r2,...,ri-1),構(gòu)成方程fs(x)=s+r1x+...+ri-1xt-1。對于分布式計(jì)算中的任意成員Pi(其中i=[1,n],n為成員總數(shù)),具有身份標(biāo)識IDi,那么,該成員所獲得秘密s的共享值為ci=fs(IDi)。如果有m(m≥t)名成員希望由他們所具有的共享{s1,s2,...,sm}恢復(fù)出原始秘密值s,那么可求解出其中稱(r1,r2,...,rn)為一個(gè)重組向量。
在實(shí)現(xiàn)了將一些計(jì)算輸入分發(fā)到各成員手中之后,我們希望實(shí)現(xiàn)這些輸入之間的運(yùn)算,這里以加法和乘法為例進(jìn)行說明如下 通常的多方計(jì)算在域Gq中,給定兩個(gè)秘密值a,b,分別通過兩個(gè)t-1次多項(xiàng)式fa(x),fb(x)被分成分享片段a1,a2,...,an和b1,b2,...,bn,其中每個(gè)成員Pi具有ai,bi,i=1,2,...,n,成員希望計(jì)算a+b和ab。根據(jù)多項(xiàng)式的性質(zhì)可以得到 fa(x)和fb(x)的和為 fa+b(x)=fa(x)+fb(x)=(a+b)+γ1x+...+γi-1xt-1(1) fa(x)和fb(x)的乘積為 fab(x)=fa(x)fb(x)=ab+λ1x+...+λ2(t-1)x2(t-1)(2) Lagrange插值公式允許我們可以分別通過t和(2t-1)個(gè)不同的共享決定fa+b(x)和fab(x)。但是,為了計(jì)算連續(xù)性的需要,希望保持多項(xiàng)式的次數(shù)不變,即將(2)式變?yōu)閠-1次多項(xiàng)式。
為了實(shí)現(xiàn)本發(fā)明中的功能,將選擇一個(gè)關(guān)于x和y均為t-1次的二元隨機(jī)多項(xiàng)式g(x,y),其中g(shù)(0,0)=c,同時(shí),還要保證所有成員都能夠獲得該多項(xiàng)式,并且,該多項(xiàng)式是隨機(jī)生成的,而不是由某個(gè)成員指派的,因此,需要所有成員共同來構(gòu)造該多項(xiàng)式,并稱該多項(xiàng)式為“二元隨機(jī)聯(lián)合多項(xiàng)式”。不失一般性,假設(shè)對于任意成員Pi(i=1,2,...,n)有,可知,gi(y)是一個(gè)對于y的t-1次多項(xiàng)式。再由gi(y)生成得到g(x,y),為了防止發(fā)起者能夠得到他人信息,我們在運(yùn)算中加入一個(gè)配置階段,具體算法如下 計(jì)算協(xié)議(Computation Protocol) ■算法輸入n名成員共同完成運(yùn)算c=aΘb,其中,a和b為秘密輸入,Θ可表示加、減、乘、除等運(yùn)算。對于每名成員Pi(i=1,2,...,n),它具有秘密輸入的一對共享ai和bi; ■算法輸出計(jì)算得到結(jié)果c=aΘb,并且每名成員獲得結(jié)果c的分享c1,c2,...,cn。
●計(jì)算階段 已知兩個(gè)秘密值a,b的分享片段a1,a2,...,an和b1,b2,...,bn,對于i=1,2,...,n,任意成員Pi計(jì)算 ●配置階段 每一個(gè)成員Pi,采用偽隨機(jī)數(shù)算法構(gòu)造一個(gè)隨機(jī)二元多項(xiàng)式 hi(x,y)=ξ′i,1xy+...+ξ′i,t-1(xy)t-1+v′i,1y+...+v′i,t-1yt-1(4) 用于計(jì)算hi(xj,xk),其中,xj和xk為成員標(biāo)識ID的數(shù)學(xué)表示。并給成員Pj(j=1,2,...,n)發(fā)送hi(xj,xk),其中k=1,2,...,n。
●重組合階段 然后,Pi收集所有發(fā)送給他的hl(xi,xk),其中,l∈1,2,...,n和k∈1,2,...,n,即Pi總共接受到n*n個(gè)數(shù)據(jù),并根據(jù)上述數(shù)據(jù)計(jì)算 由此,Pi獲得n個(gè)數(shù)據(jù){hi(x1),hi(x2),...,hi(xn)}。它的生成多項(xiàng)式為聯(lián)合隨機(jī)二元多項(xiàng)式hi(y)=ξ1xiy+...+ξt-1(xiy)i-1+v1y+...+vt-1yt-1(6) 其中,和 ●再共享階段 任意成員Pi利用t-1次的聯(lián)合隨機(jī)二元多項(xiàng)式hi(y)對

進(jìn)行再共享,即對{hi(x1),hi(x2),...,hi(xn)}計(jì)算 最后生成一組共享片段

并將

發(fā)送給Pj。
●重構(gòu)階段 對于任意成員Pj(j=1,2,...,n),獲得一組共享片段

利用該組數(shù)據(jù)計(jì)算 其中,為重組向量。
通過上述步驟,每名成員Pi獲得c=aΘb的共享ci,所有共享c1,c2,...,cn決定c=ab。
在上述計(jì)算過程中,希望第2步中各成員生成的隨機(jī)多項(xiàng)式是真實(shí)的和可信的,而不是一些隨機(jī)數(shù),或者是敵手篡改后的數(shù)據(jù),并且,希望在不知道秘密或其分享的任何信息的情況下做到這種驗(yàn)證。顯然,可以利用密碼學(xué)中的零知識證明實(shí)現(xiàn),但可以利用一種更為簡單的驗(yàn)證方法,并保證沒有錯(cuò)誤概率,具體方法如下 (1)基于糾錯(cuò)碼的檢驗(yàn)方法 這里通過糾錯(cuò)碼(Error Correcting Codes)理論進(jìn)行驗(yàn)證。如果配置階段是正確的,并且在再分享階段Pi發(fā)送的分享到Pj;然后,當(dāng)Pj接收得到序列

該序列中數(shù)據(jù)應(yīng)該是同一個(gè)多項(xiàng)式fj(x)=g(x,wj)中的點(diǎn),該多項(xiàng)式關(guān)于x是2t-2次的。因此Pj可以通過利用接收的值計(jì)算方程 其中,wi為成員標(biāo)識的數(shù)學(xué)表示。如果該等式不為零,即可找出哪個(gè)值出錯(cuò)。進(jìn)而利用Reed-Solomon碼中的Welch-Berlekamp算法可定位并改正錯(cuò)誤。上述驗(yàn)證方法可以驗(yàn)證錯(cuò)誤并糾正錯(cuò)誤。
根據(jù)上述糾錯(cuò)碼思想并結(jié)合本發(fā)明,上述算法中的第2、4、5步分別包含一個(gè)校驗(yàn),分別記為V1,V2,V3準(zhǔn)則。這些準(zhǔn)則定義如下 驗(yàn)證協(xié)議(Verification Protocol) ●準(zhǔn)則V1在配置階段,每個(gè)成員Pj收到hi(xj,xk),i,k∈[1,n],他能夠利用糾錯(cuò)碼的理論在集合{hi(xj,x1),hi(xj,x2),...hi(xj,xn)}檢測并糾正錯(cuò)誤,因?yàn)檫@些元素通過生成多項(xiàng)式hi(x,y)連接。如果某個(gè)錯(cuò)誤發(fā)生,打印從數(shù)據(jù)Pi到Pj的數(shù)據(jù)。更進(jìn)一步,Pj可以通過多項(xiàng)式hi(x)檢測集合{hi(x1),hi(x2),...hi(xn)}上的錯(cuò)誤。
●準(zhǔn)則V2在再共享階段,每一個(gè)Pj通過檢驗(yàn)共享

驗(yàn)證共享的一致性,這些分享由二元多項(xiàng)式gi(x)=g(x,xi)生成。這樣的驗(yàn)證可以找到在配置和再共享階段的偶然性錯(cuò)誤和群組錯(cuò)誤。
●準(zhǔn)則V3在重構(gòu)階段,每個(gè)參與者Pi只得到降階多項(xiàng)式的一個(gè)共享ci,結(jié)果的一致性可以在一個(gè)誠實(shí)驗(yàn)證者的幫助下利用所有分享得到驗(yàn)證。
這些準(zhǔn)則沒有基于困難問題的假設(shè)而只依賴于糾錯(cuò)碼的概念。驗(yàn)證協(xié)議保證誠實(shí)成員可以解開唯一的秘密。
(2)基于可驗(yàn)證共享的檢驗(yàn)方法 可驗(yàn)證安全共享在協(xié)議構(gòu)造和安全多方計(jì)算中起著重要的作用。本發(fā)明所提實(shí)施例的另一個(gè)有效攻擊是對第二步中對隨機(jī)多項(xiàng)式結(jié)構(gòu)的修改,包括增加常數(shù)項(xiàng)、增加多項(xiàng)式次數(shù)、增加無關(guān)項(xiàng)等。如何檢驗(yàn)這些攻擊采用信息論安全是困難而且費(fèi)事的,這里我們提出一種基于計(jì)算安全的檢測方法。本方法是將多項(xiàng)式共享框架和Gp上的承諾函數(shù)(Commitment)結(jié)合起來設(shè)計(jì)實(shí)現(xiàn)的,并且依靠有限域上求解對數(shù)問題困難假設(shè),而不需要進(jìn)行成員間的交互,因此,該方法也稱為非交互性可驗(yàn)證安全共享協(xié)議。
在本實(shí)施例中,這種安全共享協(xié)議能夠保證成員將隨機(jī)多項(xiàng)式分配給系統(tǒng)中各成員,并且必須保證隨機(jī)多項(xiàng)式的正確性和合法性,同時(shí)他也解決了從域Gp中有效共享一個(gè)秘密的問題。為了達(dá)到此目標(biāo),假設(shè)群Gp,生成元為g,h是一個(gè)公開參數(shù),并滿足x=loggh,其中,x作為密鑰被系統(tǒng)保密。所提可驗(yàn)證安全分享協(xié)議定義如下 可驗(yàn)證安全分享協(xié)議(VSSP) ●分享的分配發(fā)起者選取兩個(gè)Zq上的至多為t-1次的隨機(jī)多項(xiàng)式 其中a0=s,b0=u。發(fā)起者對多項(xiàng)式保密但公布相關(guān)的承諾發(fā)起者通過秘密信道將分享si=f(xi),ui=g(xi)分配給Pi。
●分享的驗(yàn)證Pi利用Cj的值計(jì)算利用g,h,si,ui,Pi計(jì)算承諾并驗(yàn)證方程 E(si,ui)=Ei 如果發(fā)起者收到來自參與者的抱怨,他將拒絕這次執(zhí)行。
上面協(xié)議成立的原因在于在第二步中檢驗(yàn)隨機(jī)多項(xiàng)式時(shí),成員Pi須將等式f(x)改為等式(4)中的hi(x,y),這會導(dǎo)致多項(xiàng)式項(xiàng)數(shù)增加,g(x)也應(yīng)相應(yīng)調(diào)整為hi(x,y)形式,并保證同時(shí),另s=0,u=0,以保證常數(shù)項(xiàng)為空。再分享的驗(yàn)證中,
權(quán)利要求
1.一種具有容錯(cuò)功能的密碼學(xué)分布式計(jì)算與分步檢驗(yàn)方法,其步驟為
1)每個(gè)成員獨(dú)立完成所具有共享的運(yùn)算;
2)各成員按照所需的訪問結(jié)構(gòu),通過數(shù)據(jù)隨機(jī)選擇生成隨機(jī)多項(xiàng)式或隨機(jī)矩陣,并對該隨機(jī)多項(xiàng)式或隨機(jī)矩陣誘導(dǎo)出的數(shù)據(jù)進(jìn)行相互間的交換;
3)各成員利用接收到的所述隨機(jī)多項(xiàng)式或隨機(jī)矩陣數(shù)據(jù)生成聯(lián)合隨機(jī)多項(xiàng)式或聯(lián)合隨機(jī)矩陣;
4)采用所述聯(lián)合隨機(jī)多項(xiàng)式或聯(lián)合隨機(jī)矩陣對步驟1)的計(jì)算結(jié)果進(jìn)行再共享,并將該再共享結(jié)果分發(fā)到各成員;
5)判斷整個(gè)計(jì)算任務(wù)是否結(jié)束,如果沒有結(jié)束則重復(fù)上述步驟1)~4),如果結(jié)束則每個(gè)成員對收到的再共享數(shù)據(jù)進(jìn)行組合與重構(gòu),獲得最終計(jì)算結(jié)果的新共享;
6)每個(gè)成員通過彼此交換所述新共享,重構(gòu)出真實(shí)的最終計(jì)算結(jié)果。
2.如權(quán)利要求1所述的方法,其特征在于所述通過數(shù)據(jù)隨機(jī)選擇生成隨機(jī)多項(xiàng)式,并對該隨機(jī)多項(xiàng)式誘導(dǎo)出的數(shù)據(jù)進(jìn)行相互間的交換方法為任意成員Pi構(gòu)造一隨機(jī)二元多項(xiàng)式并將計(jì)算結(jié)果發(fā)送給每一個(gè)成員,其中xj和xk為成員標(biāo)識ID的數(shù)學(xué)表示,t為非正常成員總數(shù),且滿足n≥3t+1,k=1,2,...,n,i=1,2,...,n,j=1,2,...,n,n為參與計(jì)算的成員總數(shù)。
3.如權(quán)利要求2所述的方法,其特征在于所述各成員利用接收到的所述隨機(jī)多項(xiàng)式數(shù)據(jù)生成聯(lián)合隨機(jī)多項(xiàng)式的方法為所述成員Pi根據(jù)接收到的n*n個(gè)數(shù)據(jù)hl(xi,xk)計(jì)算并根據(jù)獲得的n個(gè)數(shù)據(jù){hi(x1),hi(x2),…,hi(xn)}生成聯(lián)合隨機(jī)二元多項(xiàng)式hi(y)=ξ1xiy+…+ξt-1(xiy)t-1+v1y+…+vt-1yt-1,其中l(wèi)∈1,2,…,n,k∈1,2,…,n,
4.如權(quán)利要求3所述的方法,其特征在于所述步驟4)的實(shí)現(xiàn)方法為所述成員Pi根據(jù)數(shù)據(jù){hi(x1),hi(x2),…,hi(xn)}計(jì)算生成一組共享片段
并將
發(fā)送給成員Pj。
5.如權(quán)利要求4所述的方法,其特征在于所述步驟5)中新共享的生成方法為所述成員Pj利用接收的一組共享片段
計(jì)算其中,為重組向量。
6.如權(quán)利要求4所述的方法,其特征在于采用基于糾錯(cuò)碼的檢驗(yàn)方法驗(yàn)證所述步驟2)中的隨機(jī)二元多項(xiàng)式,其方法為Pj利用接收的一組共享片段
計(jì)算如果該等式不為零,即可找出出錯(cuò)的成員,進(jìn)而利用Reed-Solomon碼中的Welch-Berlekamp算法定位并改正錯(cuò)誤;其中,wi為成員標(biāo)識的數(shù)學(xué)表示。
7.如權(quán)利要求3所述的方法,其特征在于所述步驟2)中,對該隨機(jī)多項(xiàng)式誘導(dǎo)出的數(shù)據(jù)進(jìn)行相互間的交換時(shí),當(dāng)某一成員Pj接收到成員Pi發(fā)送的隨機(jī)二元多項(xiàng)式hi(xj,xk)后,所述成員Pj檢測集合{hi(xj,x1),hi(xj,x2),…h(huán)i(xj,xn)}并糾正錯(cuò)誤;進(jìn)一步的,所述成員Pj利用所述聯(lián)合隨機(jī)二元多項(xiàng)式hi(x)檢測所述數(shù)據(jù)集合{hi(x1),hi(x2),…h(huán)i(xn)}上的錯(cuò)誤。
8.如權(quán)利要求4所述的方法,其特征在于所述步驟4)中,將該再共享結(jié)果分發(fā)到各成員時(shí),每一個(gè)成員Pj通過檢驗(yàn)所述共享片段
驗(yàn)證共享的一致性。
9.如權(quán)利要求1所述的方法,其特征在于采用一個(gè)誠實(shí)驗(yàn)證者并利用所有所述新共享驗(yàn)證所述最終計(jì)算結(jié)果的一致性。
10.如權(quán)利要求1所述的方法,其特征在于所述步驟2)中,隨機(jī)多項(xiàng)式誘導(dǎo)出的數(shù)據(jù)進(jìn)行相互間的交換時(shí)遵循可驗(yàn)證安全分享協(xié)議
1)分享的分配發(fā)起者選取兩個(gè)Zq上的至多為t-1次的隨機(jī)多項(xiàng)式
其中,對于待檢驗(yàn)秘密值s,u,令a0=s,b0=u,發(fā)起者對多項(xiàng)式保密但公布相關(guān)的承諾發(fā)起者通過秘密信道將分享si=f(xi),ui=g(xi)分配給Pi;
2)分享的驗(yàn)證Pi利用Cj的值計(jì)算利用g,h,si,ui,Pi計(jì)算承諾并驗(yàn)證方程E(si,ui)=Ei,如果發(fā)起者收到來自參與者的抱怨則將拒絕本次執(zhí)行;
其中,aj和bj為多項(xiàng)式f(x)和g(x)的隨機(jī)系數(shù)(j=0,…,t-1),n為參與計(jì)算的成員總數(shù),t為非正常成員總數(shù),xk為成員標(biāo)識ID的數(shù)學(xué)表示;g為群Gp中的生成元,h是一個(gè)公開參數(shù),并滿足x=loggh,作為密鑰被系統(tǒng)保密。
全文摘要
本發(fā)明公開了一種具有容錯(cuò)功能的密碼學(xué)分布式計(jì)算與分步檢驗(yàn)方法,屬于分布式計(jì)算領(lǐng)域,本發(fā)明的方法為1)每個(gè)成員獨(dú)立完成所具有共享的運(yùn)算;2)各成員按照所需的訪問結(jié)構(gòu),生成隨機(jī)多項(xiàng)式并對該隨機(jī)多項(xiàng)式誘導(dǎo)出的數(shù)據(jù)進(jìn)行交換;3)各成員利用接收到的隨機(jī)多項(xiàng)式數(shù)據(jù)共同生成的聯(lián)合隨機(jī)多項(xiàng)式;4)采用聯(lián)合隨機(jī)多項(xiàng)式對步驟1)的計(jì)算結(jié)果進(jìn)行再共享,并將該再共享結(jié)果分發(fā)到各成員;5)每個(gè)成員對收到的再共享數(shù)據(jù)進(jìn)行組合與重構(gòu),獲得最終計(jì)算結(jié)果的新共享;6)每個(gè)成員通過交換新共享,重構(gòu)出真實(shí)的計(jì)算結(jié)果。本發(fā)明的方法具有高效性、容錯(cuò)性和協(xié)議的安全性,克服了傳統(tǒng)算法通信量巨大、效率低的問題,同時(shí)保證安全計(jì)算的連續(xù)性。
文檔編號H04L29/08GK101325596SQ200810111190
公開日2008年12月17日 申請日期2008年6月12日 優(yōu)先權(quán)日2007年11月13日
發(fā)明者巖 朱, 王懷習(xí), 馮榮權(quán), 維 鄒 申請人:北京大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1