專利名稱:采用加法同態(tài)加密方法進(jìn)行安全計(jì)算雙方持有數(shù)和的指數(shù)的方法
技術(shù)領(lǐng)域:
本發(fā)明屬于安全多方計(jì)算領(lǐng)域,特別涉及安全兩方計(jì)算領(lǐng)域,具體涉及一種采用同態(tài)加密技術(shù),設(shè)計(jì)出在不泄漏任何個(gè)人隱私信息的前提下,兩參與方合作求所持?jǐn)?shù)據(jù)之和的t次冪的方法。
背景技術(shù):
安全多方計(jì)算技術(shù)的發(fā)展使得人們可以在不泄漏個(gè)人私有信息的前提下,合作去完成一系列有意義的計(jì)算。為保護(hù)隱私數(shù)據(jù)挖掘以及其他數(shù)據(jù)處理技術(shù)的發(fā)展奠定了堅(jiān)實(shí)的基礎(chǔ)。Yao在文獻(xiàn)“How to generate and exchange secrets”中首次提出了安全兩方計(jì)算的概念,并且設(shè)計(jì)出了第一個(gè)安全兩方比較協(xié)議-百萬富翁協(xié)議。該協(xié)議使得兩個(gè)參與方能夠在不泄露個(gè)人輸入的情況下,比較出兩方所持有數(shù)據(jù)的大小關(guān)系。他同時(shí)在該文獻(xiàn)中指出,任何安全兩方的計(jì)算協(xié)議,均可以通過電路門實(shí)現(xiàn)。隨后,O. Goldreich將安全兩方計(jì)算技術(shù)推廣到了多方情況,并且給出了安全模型以及形式化的安全性證明方法。盡管任何安全多方計(jì)算協(xié)議均可通過電路門的方法實(shí)現(xiàn),但由于通信和計(jì)算復(fù)雜度過高,導(dǎo)致這種實(shí)現(xiàn)方法的效率極低。因而,對(duì)于特定的安全多方計(jì)算問題,仍需要設(shè)計(jì)出特定的協(xié)議來高效完成。到目前為止,學(xué)者們已經(jīng)設(shè)計(jì)出包括安全比較協(xié)議、安全兩方求除、安全兩方求集合的交、安全兩方求集合的并,以及點(diǎn)積協(xié)議在內(nèi)的諸多安全多方計(jì)算基礎(chǔ)協(xié)議。這些高效協(xié)議的產(chǎn)生,為很多大型的保護(hù)隱私協(xié)議的設(shè)計(jì)奠定了基礎(chǔ)。然而,目前仍有一些基礎(chǔ)的安全多方計(jì)算問題尚未得到妥善的解決。而這些問題的解決與否直接關(guān)系著一部分大型保護(hù)隱私協(xié)議能否得以解決。比如,安全兩方根號(hào)運(yùn)算是安全計(jì)算歐幾里德距離的必要子協(xié)議;高效的安全兩方求倒數(shù)協(xié)議可應(yīng)用于安全兩方求除協(xié)議,并使得除法協(xié)議的效率得到明顯的提升。因而,給出這兩個(gè)問題的解決方案十分必要。
發(fā)明內(nèi)容
本發(fā)明目的在于給出一個(gè)通用的安全兩方求指數(shù)協(xié)議。此協(xié)議可以安全、高效的完成安全兩方對(duì)于求任何次冪的運(yùn)算。一種采用加法同態(tài)加密方法進(jìn)行安全計(jì)算雙方持有數(shù)和的指數(shù)的方法,其特征在于所述方法中安全計(jì)算的參與方為A方和B方,A方持有的數(shù)為a, B方持有的數(shù)為b,且滿足a+b>0,雙方持有數(shù)和的指數(shù)為c+d= (a+b)',其中t為任意實(shí)數(shù),c為隨機(jī)數(shù);所述方法包括以下步驟(I) B方以加法同態(tài)加密方法產(chǎn)生密鑰對(duì)(E,D ),并進(jìn)行加密計(jì)算得到E (b),將E(b)以及公鑰E發(fā)送給A方;(2) A方接收B方的E (b)和公鑰E后,通過加法同態(tài)加密方法進(jìn)行加密計(jì)算獲得E (pa) * E(b)p,將 E(pa) * E(b)p 發(fā)送給 B 方;
(3)B方接收A方的E(pa) * E (b)p后,利用私鑰D對(duì)E (pa) *E(b)p進(jìn)行解密得到pa+pb,然后進(jìn)行加密運(yùn)算得到E ((pa+pb) ^,并將E ((pa+pb) ^發(fā)送給A方;(4) A方接收B方的E((pa+pb) t)后,通過加法同態(tài)加密方法進(jìn)行加密計(jì)算獲得I二 (E ((pa+pb) ”)1/pt -k E (_c),將 y 發(fā)送給 B 方;(5)B方接收A方的y后,利用私鑰D對(duì)y進(jìn)行解密得到d=D (7);而六方獲得(;其中P為隨機(jī)產(chǎn)生的隨機(jī)數(shù)P,P不為零;z=p_t。優(yōu)選的,所述方法中t=0. 5或I。優(yōu)選的,所述方法中加法同態(tài)加密方法為通過加法同態(tài)加密系統(tǒng)生成加法同態(tài)加密密鑰對(duì)(E, D),且滿足 E (m) * E (n) =E (m+n)以及 E (ms) =E (m)s,則 D (E (m) * E (η)) =m+n 以及 D (E (m)s) =ms。
本發(fā)明技術(shù)方案將兩個(gè)參與方分別稱為A方和B方。問題的形式化定義如下A方和B方分別持有數(shù)a和b,滿足a+b>0。他們希望通過合作計(jì)算以和的形式共享a+b的t次方(其中t為非零參數(shù))。具體來說,協(xié)議目的是在不泄漏參與方任何輸入信息的前提下,A方和B方分別得到數(shù)值c和d,滿足K+dMa+br。本發(fā)明主要基于加法同態(tài)加密系統(tǒng)。此系統(tǒng)由Paillier在文獻(xiàn)iiPublic-KeyCryptosystems Based on Composite Degree Residuosity Classes,,中提出。假設(shè)A方產(chǎn)生加法同態(tài)加密密鑰對(duì)(E,D),此加密系統(tǒng)滿足E (m) * E (n) =E (m+n)以及E(ms)=E(m)s,即有,D(E(m) * E (η)) =m+n以及D (E (m)s) =ms。這一加密系統(tǒng)的產(chǎn)生對(duì)安全多方計(jì)算技術(shù)的發(fā)展起到了極大的促進(jìn)作用。本發(fā)明采用同態(tài)加密技術(shù),設(shè)計(jì)出在不泄漏任何個(gè)人隱私信息的前提下,兩參與方合作求所持?jǐn)?shù)據(jù)之和的t次冪的方法。方法具體包括兩大部分兩參與方合作計(jì)算,使得一方產(chǎn)生隨機(jī)數(shù),另一方得到此隨機(jī)數(shù)與他們兩方所持有數(shù)據(jù)之和的乘積;兩參與方利用前面得到的結(jié)果繼續(xù)合作計(jì)算,使得他們所持?jǐn)?shù)據(jù)之和的t次冪以和的形式共享在二人手中。其特征在于所述方法具體包括以下步驟記兩參與方分別為A方和B方,記所持?jǐn)?shù)據(jù)分別為a和b。(I)首先,A方產(chǎn)生一個(gè)大于O的隨機(jī)數(shù)P和一隨機(jī)數(shù)r。B方產(chǎn)生加法同態(tài)加密密鑰對(duì)(E,D),并且將加密后的數(shù)值E (b)以及公鑰E發(fā)送給A方。然后,A方計(jì)算E(pa) * E(b)p,并將計(jì)算結(jié)果發(fā)送給B方。最后,B方利用私鑰D對(duì)E(pa) *E(b)p進(jìn)行解密,得到pa+pb。(2)首先,B方計(jì)算E((pa+pb)t),并將計(jì)算結(jié)果發(fā)送給A方。然后,A方計(jì)算(E((pa+pb)t))1/pt * E(-r),并將計(jì)算結(jié)果發(fā)送給B方。最后,A方將r作為輸出C。B方利用私鑰D對(duì)(E( (pa+pb) t))1/pt * E(-r)進(jìn)行解密,并將解密結(jié)果作為輸出d。所述方法中將兩參與方所持?jǐn)?shù)據(jù)的和以積的形式共享在二人手中,這樣就將計(jì)算兩參與方所持?jǐn)?shù)據(jù)之和的t次冪問題轉(zhuǎn)化為了計(jì)算兩參與方所持?jǐn)?shù)據(jù)之積的t次冪,而此時(shí)所需計(jì)算的結(jié)果等于兩參與方新持有數(shù)據(jù)分別求t次冪后再求乘積。兩參與方可安全計(jì)算所持?jǐn)?shù)據(jù)的任意次方(即t可取任意實(shí)數(shù))。本發(fā)明的方法一方利用加密而另一方利用加入隨機(jī)數(shù)來分別保護(hù)己方隱私數(shù)據(jù)不被泄漏,而所需通信復(fù)雜度極低。安全方面從本發(fā)明技術(shù)方案可以看出,只需分析兩參與方能否通過接收到的另一方所發(fā)送的信息來推斷出其私有數(shù)據(jù)信息,若不能,則可說明方法是安全的。首先分析參與方A方的私有信息a是否會(huì)泄漏。A方在步驟2和步驟4中向B方發(fā)送了信息。步驟2中,B方通過對(duì)收到信息進(jìn)行解密運(yùn)算,得到pa+pb的值。由于存在隨機(jī)數(shù)P的保護(hù),B方無法得知關(guān)于A方私有數(shù)據(jù)a的任何信息。步驟4中,B方得到數(shù)據(jù)(E( (pa+pb) t))1/pt *E(-r),進(jìn)行解密后得到(a+b)t-r。此時(shí)同樣存在一個(gè)隨機(jī)數(shù)!■對(duì)A方的私有數(shù)據(jù)a進(jìn)行保護(hù),B方依然無法得知關(guān)于a的任何信息。因而,A方的安全性得到了保證。接下來分析參與方B方的私有信息是否會(huì)泄漏。B方給A方發(fā)送信息發(fā)生在步驟I和步驟3中。由于B方發(fā)送給A方的信息都是通過公鑰E加密后的密文,而A方又無法得到私鑰D,基于密碼學(xué)的安全理論,A方將不會(huì)得到關(guān)于B方私有數(shù)據(jù)b的任何信息。因而,B方的安全性也得到了保證。綜上所述,本發(fā)明無任何隱私信息泄漏,是具有安全保證的。效率方面假設(shè)所使用的密鑰長(zhǎng)度為K位,完成整個(gè)協(xié)議所需要的通信量為2K+K+K+K=5K位??梢姡景l(fā)明的方法效率極高。
本發(fā)明的突出的實(shí)質(zhì)性特點(diǎn)和顯著地進(jìn)步主要體現(xiàn)在本發(fā)明可以使得兩個(gè)參與方安全、高效的計(jì)算出兩個(gè)數(shù)的任意次冪,計(jì)算結(jié)果以和的形式共享在這兩個(gè)參與方手中。這為大型的保護(hù)隱私數(shù)據(jù)處理技術(shù)奠定了基礎(chǔ),同時(shí)也會(huì)為設(shè)計(jì)出更高效的安全多方計(jì)算協(xié)議提供了必要的技術(shù)手段。該發(fā)明提供了一種高效的安全兩方合作計(jì)算協(xié)議,該協(xié)議可以高效的計(jì)算出兩參與方所持?jǐn)?shù)據(jù)之和的t次冪(其中t可取不為零的任意實(shí)數(shù)),并使得計(jì)算結(jié)果以和的形式共享在兩個(gè)參與方手中。假設(shè)兩參與方所持?jǐn)?shù)據(jù)分別為a和b,該協(xié)議的具體實(shí)施方案包括以下兩個(gè)階段首先,其中一方隨機(jī)產(chǎn)生一大于零的數(shù)P,雙方采用同態(tài)加密技術(shù)計(jì)算,使得另一方得到P(a+b)的值。隨后,兩參與方分別采用p_t以及(P (a+b)) 1乍為輸入,再次采用同態(tài)加密技術(shù)計(jì)算,使得兩參與方以和的形式共享(a+b)\該發(fā)明滿足密碼學(xué)中的安全性定義,因而,安全性極高。另外,可以通過靈活修改該發(fā)明中t的值來完成不同的應(yīng)用。例如,取t=_l時(shí),該發(fā)明可用于設(shè)計(jì)高效的安全兩方求除協(xié)議;取t=0. 5時(shí),該發(fā)明可用于歐幾里德距離的安全計(jì)算。
下面結(jié)合附圖及實(shí)施例對(duì)本發(fā)明作進(jìn)一步描述圖I為本發(fā)明采用加法同態(tài)加密方法進(jìn)行安全計(jì)算雙方持有數(shù)和的指數(shù)的方法的流程圖。
具體實(shí)施例方式以下結(jié)合具體實(shí)施例對(duì)上述方案做進(jìn)一步說明。應(yīng)理解,這些實(shí)施例是用于說明本發(fā)明而不限于限制本發(fā)明的范圍。實(shí)施例中采用的實(shí)施條件可以根據(jù)具體廠家的條件做進(jìn)一步調(diào)整,未注明的實(shí)施條件通常為常規(guī)實(shí)驗(yàn)中的條件。實(shí)施例假設(shè)公司A有員工200人,年生產(chǎn)總值為1000萬元。公司B有員工300人,年生產(chǎn)總值為2000萬元。兩公司希望在不泄漏本方任何私有信息的前提下,與對(duì)方合作得出人均年生產(chǎn)總值的數(shù)目。本實(shí)施例的具體實(shí)施步驟如下(I)利用本發(fā)明使得兩公司可以以加法秘密分享的方式分享兩公司總?cè)藬?shù)的倒數(shù)值。具體實(shí)施步驟如下步驟一 A方產(chǎn)生一個(gè)大于O的隨機(jī)數(shù)p=10和一隨機(jī)數(shù)r=0. 01。B方產(chǎn)生加法同態(tài)加密密鑰對(duì)(E,D),并且將加密后的數(shù)值E (300)以及公鑰E發(fā)送給A方。步驟二 A方計(jì)算E (10 * 200) * E (300)1°,并將計(jì)算結(jié)果發(fā)送給B方。步驟三B方利用私鑰D對(duì)E (10 * 200) * E (300)10進(jìn)行解密,得到5000。
步驟四B方計(jì)算E (1/5000),并將計(jì)算結(jié)果發(fā)送給A方。步驟五A方計(jì)算¢(1/5000))1° * E (-0.01),并將計(jì)算結(jié)果發(fā)送給B方。步驟六A方輸出O. 01。B方利用私鑰D對(duì)(E (1/5000)10 * E (-0.01))進(jìn)行解密,得到-O. 0098。(2)兩公司利用點(diǎn)積協(xié)議計(jì)算出人均年生產(chǎn)總值的數(shù)目。具體步驟如下A公司此時(shí)知道年生產(chǎn)總值為1000萬元,兩公司總?cè)藬?shù)倒數(shù)的一部分為O. 01 ;B公司此時(shí)知道年生產(chǎn)總值為2000萬元,兩公司總?cè)藬?shù)倒數(shù)的一部分為-O. 0098.雙方需要計(jì)算的值為(1000+2000)* (O. 01+ (-0. 0098))=1000 * O. 01+2000 *(-0. 0098) +2000 * O.01+1000 * -O. 0098 ;雙方可以獨(dú)立計(jì)算出前兩個(gè)乘積的值,后來個(gè)乘積的值可通過一步點(diǎn)積協(xié)議得出。因而,在本發(fā)明的基礎(chǔ)下,兩公司很容易得到人均生產(chǎn)總值的數(shù)目為6萬元。本發(fā)明還可以用來安全實(shí)現(xiàn)兩點(diǎn)之間的歐幾里德距離協(xié)議,使得兩個(gè)參與方(A方和B方)以和的形式共享此距離值。隨后,將利用本發(fā)明設(shè)計(jì)出高效的安全兩方求除法的協(xié)議,同樣使得除法結(jié)果以和的形式共享在兩個(gè)參與方手中。假設(shè)A方持有點(diǎn)a (a1; · · ·,an),B方持有點(diǎn)b (b1; . . . , bn).他們希望在不泄漏個(gè)人私有信息的前提下,合作計(jì)算出點(diǎn)a和點(diǎn)b之間的歐幾里德距離,并使得結(jié)果以和的方式共享在二人手中。具體實(shí)施方案如下點(diǎn)a和點(diǎn)b之間的歐幾里德距尚<&/( ,5) -b})2 + ... + (an -bn)2,我們來觀察根號(hào)下的任何一項(xiàng)(afbi)2, i=l,...,n。由于(Si-IDi) 2=&/-23九+13 ,A方和B方可分別獨(dú)立計(jì)算出Y和bj的值,而他們又可以通過點(diǎn)積協(xié)議來計(jì)算假設(shè)A方得到Ui,B方得到Vi,滿足Ujvi=-ZaiIDi. A方和B方分別計(jì)算a/++和!^+Vi的值,從而達(dá)到以和的形式來共享(ai-bi)2的目的。兩參與方只需將自己所持有的根號(hào)下每一項(xiàng)的部分相加,即可以和的形式共享兩點(diǎn)之間的歐幾里德距離平方值。接下來雙方可使用持有的歐幾里德距離平方值的分量作為輸入,來執(zhí)行本發(fā)明所設(shè)計(jì)的安全兩方求指數(shù)協(xié)議(令t=0. 5),從而可以以和的形式共享點(diǎn)a和點(diǎn)b的歐幾里德距離。假設(shè)A方持有數(shù)值a,c; B方持有數(shù)值b,d。他們希望在不泄漏個(gè)人隱私信息的情況下,以和的形式共享(a+b)/(c+d)的值。具體實(shí)施方案如下兩個(gè)參與方先分別使用c和d做為輸入,令參數(shù)t=_l,運(yùn)行本發(fā)明的安全求指數(shù)協(xié)議,可以以和的形式共享I/ (c+d)的值。假設(shè)A方得到e,B方得到f,滿足e+f = I/(c+d)。原問題將轉(zhuǎn)換為求(a+b) (e+f)的值。(a+b) (e+f) =ae+af+be+bf,由于A方和B方可分別獨(dú)立計(jì)算出ae和bf的值,他們只需運(yùn)行一次點(diǎn)積協(xié)議,以和的形式共享af+be即可。假設(shè)協(xié)議所使用的密鑰長(zhǎng)度為K位,計(jì)算此安全求除問題的通信復(fù)雜度為O (K)??梢?,利用本發(fā)明設(shè)計(jì)出來的安全求除協(xié)議效率極高。由此可見,本發(fā)明具有實(shí)質(zhì)性技術(shù)特點(diǎn)和顯著的技術(shù)進(jìn)步,其應(yīng)用前景非常廣闊。
上述實(shí)例只為說明本發(fā)明的技術(shù)構(gòu)思及特點(diǎn),其目的在于讓熟悉此項(xiàng)技術(shù)的人是能夠了解本發(fā)明的內(nèi)容并據(jù)以實(shí)施,并不能以此限制本發(fā)明的保護(hù)范圍。凡根據(jù)本發(fā)明精神實(shí)質(zhì)所做的等效變換或修飾,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種采用加法同態(tài)加密方法進(jìn)行安全計(jì)算雙方持有數(shù)和的指數(shù)的方法,其特征在于所述方法中安全計(jì)算的參與方為A方和B方,A方持有的數(shù)為a, B方持有的數(shù)為b,且滿足a+b>0,雙方持有數(shù)和的指數(shù)為c+d= (a+b)',其中t為任意實(shí)數(shù),c為隨機(jī)數(shù);所述方法包括以下步驟 (DB方以加法同態(tài)加密方法產(chǎn)生密鑰對(duì)(E,D),并進(jìn)行加密計(jì)算得到E(b),將E(b)以及公鑰E發(fā)送給A方; (2)A方接收B方的E(b)和公鑰E后,通過加法同態(tài)加密方法進(jìn)行加密計(jì)算獲得E (pa)* E(b)p,將 E(pa) *E(b)p 發(fā)送給 B 方; (3)B方接收A方的E(pa)* E(b)p后,利用私鑰D對(duì)E(pa) *E(b)p進(jìn)行解密得到pa+pb,然后進(jìn)行加密運(yùn)算得到E ((pa+pb) ^,并將E ((pa+pb) ^發(fā)送給A方; (4)A方接收B方的E((pa+pb)t)后,通過加法同態(tài)加密方法進(jìn)行加密計(jì)算獲得I二 (E ((pa+pb) ”)1/pt -k E (_c),將 y 發(fā)送給 B 方; (5)B方接收A方的y后,利用私鑰D對(duì)y進(jìn)行解密得到d=D (y);而々方獲得c ;其中P為隨機(jī)產(chǎn)生的隨機(jī)數(shù)P,P不為零;ζ=ρ'
2.根據(jù)權(quán)利要求I所述的方法,其特征在于所述方法中t=0.5或I。
3.根據(jù)權(quán)利要求I所述的方法,其特征在于所述方法中加法同態(tài)加密方法為通過加法同態(tài)加密系統(tǒng)生成加法同態(tài)加密密鑰對(duì)(E,D),且滿足E(m) *E(n)=E(m+n)以及E (ms) =E (m)s,貝丨J D (E (m) * E (n)) =m+n 以及 D (E (m)s) =ms。
全文摘要
本發(fā)明提供了一種采用加法同態(tài)加密方法進(jìn)行安全計(jì)算雙方持有數(shù)和的指數(shù)的方法,可以高效的計(jì)算出兩參與方所持?jǐn)?shù)據(jù)之和的t次冪(其中t可取不為零的任意實(shí)數(shù)),并使得計(jì)算結(jié)果以和的形式共享在兩個(gè)參與方手中。假設(shè)兩參與方所持?jǐn)?shù)據(jù)分別為a和b,該協(xié)議的具體實(shí)施方案包括以下兩個(gè)階段首先,其中一方隨機(jī)產(chǎn)生一大于零的數(shù)p,雙方采用同態(tài)加密技術(shù)計(jì)算,使得另一方得到p(a+b)的值。隨后,兩參與方分別采用p-t以及(p(a+b))t作為輸入,再次采用同態(tài)加密技術(shù)計(jì)算,使得兩參與方以和的形式共享(a+b)t。該方法滿足密碼學(xué)中的安全性定義,安全性極高。另外,可以通過靈活修改該發(fā)明中t的值來完成不同的應(yīng)用。
文檔編號(hào)H04L9/32GK102970143SQ201210536698
公開日2013年3月13日 申請(qǐng)日期2012年12月13日 優(yōu)先權(quán)日2012年12月13日
發(fā)明者黃劉生, 李璐, 楊威 申請(qǐng)人:中國(guó)科學(xué)技術(shù)大學(xué)蘇州研究院