用于使輸入同態(tài)隨機(jī)化的方法和系統(tǒng)的制作方法
【專利摘要】描述了一種使輸入隨機(jī)化的全同態(tài)方法和系統(tǒng),其中,在交換環(huán)上執(zhí)行所有計(jì)算。詳細(xì)說明使用矩陣和多項(xiàng)式執(zhí)行隨機(jī)化的等效方法以及混合矩陣和多項(xiàng)式函數(shù)的方式。進(jìn)一步描述了矩陣和多項(xiàng)式函數(shù)的加法、乘法以及除法。通過在環(huán)ZN上執(zhí)行函數(shù)模數(shù)N的計(jì)算,函數(shù)可用作加密函數(shù)。該方法和系統(tǒng)還可用于驗(yàn)證由第三方執(zhí)行的計(jì)算的返回結(jié)果對于在本文中描述的任何計(jì)算是有效的。還描述了相關(guān)方法、系統(tǒng)以及設(shè)備。
【專利說明】用于使輸入同態(tài)隨機(jī)化的方法和系統(tǒng)
[0001] 相關(guān)申請
[0002] 本申請要求NDS公司的于2012年7月26日提交的未公布以色列申請IL 221152 以及于2013年1月24日提交的IL 224400的優(yōu)先權(quán)權(quán)益。
【技術(shù)領(lǐng)域】
[0003] 本發(fā)明涉及同態(tài)隨機(jī)化和加密的系統(tǒng)和方法。
【背景技術(shù)】
[0004] Kristin Lauter、Michael Naehrig、Vinod Vaikuntanathan 的 2011 年 7 月的 Can Homomorphic Encryption be Practical描述了越來越多的數(shù)據(jù)儲存和管理外包給云服務(wù) 的發(fā)展對個(gè)人和生意等增加了很多新的隱私憂慮。如果用戶將發(fā)送給云的數(shù)據(jù)加密,則可 以令人滿意地解決隱私憂慮。如果加密方案是同態(tài),則即使加密,云也可以依然在數(shù)據(jù)上進(jìn) 行有意義的計(jì)算。
[0005] 政府、工業(yè)以及社團(tuán)追求實(shí)際的同態(tài)加密的承諾。IBM和微軟朝著其潛在的承諾積 極地進(jìn)行研究,這是因?yàn)椋ɡ纾┩ㄟ^公共(公開)云服務(wù)器時(shí)限'安全的加密搜索'(或 者'隱私保護(hù)信息傳遞');例如,服務(wù)器在加密的醫(yī)療數(shù)據(jù)庫中搜索(不了解該查詢或結(jié) 果),并且由安全客戶端遞送加密的結(jié)果以進(jìn)行解密。'安全函數(shù)評估'的又一個(gè)應(yīng)用在于, 公開的不受信任的服務(wù)器為輸入執(zhí)行秘密算法,而不了解算法或結(jié)果的性能。因此,假設(shè)獲 得了公共云服務(wù)器的公開訪問的黑客(甚至是惡意的云服務(wù)員工)未呈現(xiàn)危害信息或交易 的任何威脅。這種同態(tài)加密的應(yīng)用很多,并且能夠廣泛地使用云計(jì)算,例如,允許注重安全 性的政府和金融業(yè)通過將其數(shù)據(jù)庫加密來將其業(yè)務(wù)移動(dòng)到公共云,并且使其能夠用于云計(jì) 算,不必?fù)?dān)心受到云服務(wù)或外部黑客的安全侵害。而且,這種隱私保護(hù)技術(shù)幫助社團(tuán)處理對 機(jī)密數(shù)據(jù)的不斷增加的攻擊,更不必說隱私云。要注意的是,以上內(nèi)容的安全性并非運(yùn)動(dòng)目 標(biāo)范例(moving-target paradigm)(例如,為了阻礙黑客的分析而快速更新的軟件)或者 清晰的軟件混淆的結(jié)果,而是同態(tài)密碼系統(tǒng)的數(shù)學(xué)性質(zhì)所固有的。
[0006] 迄今為止,發(fā)現(xiàn)同態(tài)系統(tǒng)不切實(shí)際;僅受限的特例約束使用顯示對實(shí)際用途具有 某種可能性。
[0007] Gentry 等人在 ST0C' 09,Proceedings of the 41st Annual ACM Symposium on Theory ofComputing的第169-178頁中提出了全同態(tài)加密方案-即,允許人們通過加密的 數(shù)據(jù)(不需要能夠解密)評估電路的方案。
[0008] Xiao 等人在 www. utdallas. edu/?ilyen/techrep/HPbound. pdf 中可獲得的題為 An Efficient Homomorphic Encryption Protocol for Multi-User Systems 的文章中提 出了針對同態(tài)加密問題的解決方案。
[0009] 還認(rèn)為以下專利參考文獻(xiàn)反應(yīng)了現(xiàn)有技術(shù)的狀況:
[0010] Chen 等人的 US 7, 254, 586 ;
[0011] INTRINSIC ID B. V?的 W0/2010/100015 ;
[0012] Takashima 的 US 20100329454 ;
[0013] Juels 的 US 7,472,093 ;以及
[0014] Gentry 的 US 20110110525。
【發(fā)明內(nèi)容】
[0015] 在本發(fā)明的某些實(shí)施方式中,本發(fā)明試圖提供一種用于計(jì)劃用于加密應(yīng)用的ZN (ZN是殘數(shù)模數(shù)N的環(huán);N由兩個(gè)質(zhì)數(shù)(p和q)進(jìn)行因子分解)中的特定數(shù)據(jù)的改進(jìn)的實(shí)用全 同態(tài)加密系統(tǒng)。對于某些應(yīng)用,在ZN中期望使用隨機(jī)的大數(shù)目,其中,例如,根據(jù)先有技術(shù) 的當(dāng)前水平,出于實(shí)際考慮,大數(shù)目是1Kbit。
[0016] 同態(tài)加密是如下一種加密形式:允許在密文(cipher text)上執(zhí)行特定類型的計(jì) 算并且獲得加密結(jié)果,該結(jié)果是對明文(plain text)執(zhí)行的運(yùn)算結(jié)果的密文。例如,一個(gè) 人可將兩個(gè)加密數(shù)相加,并且然后,另一個(gè)人可將結(jié)果進(jìn)行解密,這兩個(gè)人都不能找出各個(gè) 數(shù)的值。同態(tài)加密方案通過設(shè)計(jì)具有可塑性(malleable,延展性)。各種密碼系統(tǒng)的同態(tài) 性能可用于創(chuàng)建安全表決系統(tǒng)、抗沖突的散列函數(shù)、私有信息檢索方案,并且通過確保處理 數(shù)據(jù)的機(jī)密性,能夠廣泛地使用云計(jì)算。
[0017] 在本文中提出了用于數(shù)據(jù)的實(shí)際隨機(jī)化(通過交換環(huán))的高性能非確定性全同態(tài) 方法,并且在環(huán)ZN上的模N數(shù)據(jù)(mod-N data)的對稱加密非常適合于加密應(yīng)用。例如,本 發(fā)明的實(shí)施方式確保多變量輸入(multivariate input)或公共多項(xiàng)式函數(shù)的系數(shù)以在公 開的不受信任的環(huán)境中運(yùn)行。所使用的方法還可為某些現(xiàn)有的密碼算法提供抵抗某些攻擊 的增強(qiáng)保護(hù),例如,保護(hù)0SS公共密鑰簽名抵抗Pollard攻擊。而且,這些方法的有效性質(zhì) (每個(gè)加密具有一個(gè)大數(shù)乘法,并且兩個(gè)加密值的乘積為六個(gè))激勵(lì)并且能夠使用低成本 協(xié)同安全平臺以用于諸如密鑰散列或私有密鑰推導(dǎo)算法的應(yīng)用。這種平臺包括由運(yùn)行同態(tài) 算法的不受信任的高性能服務(wù)器支持的低成本(低性能)安全元件。已經(jīng)表明,隨機(jī)明文 數(shù)據(jù)是同態(tài)加密的安全性的證明的充分條件。在交換環(huán)上的數(shù)據(jù)的同態(tài)隨機(jī)化提供了抵抗 例如在AES密鑰上的側(cè)信道(side-channel)攻擊(DPA)的保護(hù)。而且,這些方法具有提供 故障檢測和計(jì)算數(shù)據(jù)完整性的驗(yàn)證的平行的并且不可分離的計(jì)算的固有耦合。
[0018] 期望所提出的加密方案為很多應(yīng)用和客戶/服務(wù)器模型提供安全性解決方案,其 包括:
[0019] 1、低成本安全平臺;以及
[0020] 2、作為上述公共云服務(wù)器的公開的不受信任的平臺。
[0021] 低成本安全平臺由提供協(xié)同安全性的兩個(gè)元素組成:
[0022] a)執(zhí)行同態(tài)計(jì)算同時(shí)隱藏其秘密的低安全性高性能元件(例如,PC(個(gè)人電腦)、 STB (機(jī)頂盒)或移動(dòng)計(jì)算裝置),以及
[0023] b)安全地長期保密并且使用它們來在可信環(huán)境中執(zhí)行一些基礎(chǔ)計(jì)算的高安全性 低性能元件(例如,低成本SC(智能卡)、RFID (射頻識別)、SIM(用戶識別模塊)、或者服 務(wù)安全的執(zhí)行環(huán)境的安全0TP ( -次性可編程存儲器))。
[0024] 該平臺標(biāo)記為(LHHL)或(LH)2平臺。這種平臺可限定由STB和SC構(gòu)成的安全客 戶端、具有SM的智能電話或者具有Arm TrustZone (或者其他安全的執(zhí)行環(huán)境)的連接電 視。
[0025] 例如,并且不限制上文的普遍性,公開平臺是存在于假設(shè)為不受信任的公共網(wǎng)絡(luò) (云)中的PC (或在PC上運(yùn)行的處理)。
[0026] 通過舉例,應(yīng)用程序可使用數(shù)據(jù)的同態(tài)加密以:
[0027] 使用同態(tài)修改的OSS(HoMoSS)的有效的基于PK(公共/私有密鑰)的簽名。與 RSA簽名操作相比,在該新的方案之下,使0SS免于Pollard攻擊(如下面所述)并且基本 上保持其效率。在這種應(yīng)用中,保持私有密鑰的簽名者是(LH)2平臺??梢栽诠_平臺內(nèi) 進(jìn)行PK簽名的驗(yàn)證。
[0028] 隱藏對稱密鑰,例如,并且不限制上文的普遍性,通過(LH)2客戶端驗(yàn)證密鑰散列 (例如,安全HMAC驗(yàn)證),具有SC的STB-其中,STB執(zhí)行大部分驗(yàn)證操作的同態(tài)計(jì)算,而SC 使用秘密對稱密鑰執(zhí)行需要加密的最終步驟。
[0029] 因此,根據(jù)本發(fā)明的實(shí)施方式,提供了一種使輸入隨機(jī)化的全同態(tài)方法,其中,在 下文中表示為CR的交換環(huán)(commutative)上進(jìn)行所有計(jì)算,所述方法包括:接收包括CR中 的k個(gè)輸入兀素的序列的輸入(表不為INP);執(zhí)行(a)或(a)中的任一個(gè):(a)在CR中隨 機(jī)地選擇秘密(seCret)nXn矩陣(在下文中表示為S),S用作對稱隨機(jī)化密鑰,其中,S包 括CR上的可逆矩陣;確定S、對于包括INP的k個(gè)元素之中的m個(gè)不同的輸入元素的每個(gè) 集合i,其中,0 < m < k+1并且m < n,從INP中選擇要被共同隨機(jī)化的m個(gè)不同的輸入元 素,并且m個(gè)不同的輸入元素在下文中表示為Xi,X2,. . .,Xm,在CR中選擇n-m(n減去m)個(gè) 隨機(jī)數(shù)Yp Y2, . . .,Yn_m,其中,輸入元素為Xp X2, . . .,乂";在隨機(jī)數(shù)Y ^ Y2,. . .,Yn_m的集合之 中選擇至少一個(gè)隨機(jī)數(shù);并且可選地,一個(gè)或多個(gè)常數(shù)放置在表示為M的nXn對角矩陣的 對角線上,其中,除了對角線以外,矩陣M僅由0填充;并且通過使用在下文中表示為MRHT 的基于矩陣的隨機(jī)化和同態(tài)變換函數(shù),為在表示為{Xim} = Xi,X2,. . .,Xm的集合i中的m個(gè) 輸入兀素,確定隨機(jī)輸出Aim,其中:
[0030]
【權(quán)利要求】
1. 一種使輸入隨機(jī)化的全同態(tài)方法,其中,在下文中表示為CR的交換環(huán)上執(zhí)行所有計(jì) 算,所述方法包括: 接收包括CR中的k個(gè)輸入元素的序列的輸入,所述輸入表示為INP; 執(zhí)行(a)和(b)中的任一個(gè): (a) 隨機(jī)選擇在下文中表示為S的CR中的秘密nXn矩陣,S用作對稱隨機(jī)化密鑰,其 中,S包括在CR上的可逆矩陣; 確定 為包括INP的k個(gè)元素之中的m個(gè)不同的輸入元素的每個(gè)集合i,在CR中選擇n-m(n減去m)個(gè)隨機(jī)數(shù)Y1,Y2,. . .,Yn_m,其中,0〈m〈k+l以及m〈n,從INP中選擇要被共同隨機(jī)化的 所述m個(gè)不同的輸入元素并且所述m個(gè)不同的輸入元素在下文中表示為X1,X2, ...,Xm,其 中,輸入元素為X1,X2, ...,Xm;在所述隨機(jī)數(shù)YpY2, ...,¥_的集合之中選擇至少一個(gè)隨機(jī) 數(shù);并且可選地,一個(gè)或多個(gè)常數(shù)放在表示為M的nXn對角矩陣的對角線中,其中,除了所 述對角線以外,矩陣M僅由O填充;并且 通過使用在下文中表示為MRHT的基于矩陣的隨機(jī)化和同態(tài)變換函數(shù),確定表示為 {Xim} =X1,X2,…,Xm的集合i中的m個(gè)輸入元素的隨機(jī)輸出Aim,其中:
從而產(chǎn)生與m個(gè)輸入元素的所述集合i{Xim} =X1,X2,…,應(yīng)的隨機(jī)輸出Aim; 以及 (b) 在CR中選擇n個(gè)隨機(jī)數(shù),所述n個(gè)隨機(jī)數(shù)在下文中表示為Vl,v2, ...,vn; 確定公共多項(xiàng)式Plv[If=,(y- 1?:> = 〇c.) .WIc>=I] 選擇在下文中表示為PRHT(Xim)的基于多項(xiàng)式的隨機(jī)化和同態(tài)變換函數(shù),包括以V為變 量的形式為X?-#的任何函數(shù),所述函數(shù)滿足以下方程:
在CR中為a^,a。Jri選擇將產(chǎn)生ai,。,Bi^ai,M的以上方程的解的n-m個(gè)隨 機(jī)值,并且 執(zhí)行(c)和(d)中的任一個(gè): (c) 產(chǎn)生與包括集合(aiCI,an,…,aiIri)以及P(V)的公共系數(shù)集合(Ctl,C1,…,Clri,Cn)的輸入元素X1,X2, ...,應(yīng)的隨機(jī)輸出Aim,其中,需要公共系數(shù)集合(Ctl,C1,…,Cn+ Cn)以用于利用輸入元素來執(zhí)行運(yùn)算的算術(shù);并且 (d) 在CR中為給定的輸入元素X1,X2,...,Xm選擇將解出以下關(guān)于未知數(shù)ai(l,an,…,ain_j^n個(gè)聯(lián)立方程的n-m個(gè)隨機(jī)值Ri,R2,. . .,Ri^:
包括所述集合(aiCI,an,…,aiIri)以及P(V)的公共集合(Cci,C1,…,Cn+Cn)的隨機(jī)文本。
2. 根據(jù)權(quán)利要求1所述的方法,其中,隨機(jī)化所述輸入INP包括連續(xù)應(yīng)用函數(shù)PRHT(XJ 和MRHT(Xi)的組合,其中,Xi表示INP的m個(gè)不同的輸入元素的集合,并且其中:
3. -種用于將權(quán)利要求1的所述隨機(jī)化輸入去隨機(jī)化的方法,所述方法包括: 執(zhí)行(a)和(b)中的任一個(gè): (a)在CR上接收在下文中表示為Aim的輸出,所述輸出包括為nXn對角矩陣的隨機(jī)化Xim輸入,其中:
4. 一種用于將隨機(jī)化的Xi和隨機(jī)化的X2相加的方法,XJPX2根據(jù)權(quán)利要求1所述的 使輸入隨機(jī)化的全同態(tài)方法來隨機(jī)化,所述方法包括: 對于Xi,包括MRHT(Xi) =Ai; 接收AJPA2;并且 MRHT(X1)+MRHT(X2) =AfA2;并且 對于父1,包括卩冊1'%)=&^|,&11,?,&化_1: 接收PRHT(X1) =a10,an,…,aln_J[IPRHT(X2) =a20,a21,…,以及PM +.'! > 的CQ,C1,…Clri,Cn;并且 PRHT(X1)+PRHT(X2) =a10+a20,an+a21, ...,am-i+a;^。
5. -種用于將隨機(jī)化的Xi和隨機(jī)化的X2相乘的方法,X:和X2根據(jù)權(quán)利要求1所述的 使輸入隨機(jī)化的全同態(tài)方法來隨機(jī)化,所述方法包括: 對于Xi,包括MRHT(Xi) =Ai; 接收AJPA2;并且
7. 根據(jù)權(quán)利要求1-6中任一項(xiàng)所述的方法,其中,所述至少一個(gè)隨機(jī)化輸入包括加密 密鑰。
8. 根據(jù)權(quán)利要求7所述的方法,其中,所述加密密鑰包括AES密鑰。
9. 根據(jù)權(quán)利要求1-6中任一項(xiàng)所述的方法,其中,所述至少一個(gè)隨機(jī)化輸入包括模數(shù)N 多項(xiàng)式系數(shù)。
10. 根據(jù)權(quán)利要求9所述的方法,其中,所述模數(shù)N多項(xiàng)式系數(shù)用于私有函數(shù)密鑰生成。
11. 根據(jù)權(quán)利要求9所述的方法,其中,所述模數(shù)N多項(xiàng)式系數(shù)用于私有的基于散列的 消息認(rèn)證碼。
12. 根據(jù)權(quán)利要求9所述的方法,其中,所述模數(shù)N多項(xiàng)式系數(shù)用于生成OSS簽名。
13. 根據(jù)權(quán)利要求1所述的方法,其中,所述輸入包括密文,所述輸出包括密文,并且在 環(huán)Zn上執(zhí)行模數(shù)N的所有計(jì)算,其中,N是兩個(gè)質(zhì)數(shù)的乘積,并且矩陣S包括對稱加密密鑰, 其中,所述加密函數(shù)表示為分別與MRHT和PRHT對應(yīng)的MEnc和PEnc。
14. 根據(jù)權(quán)利要求13所述的方法,其中,加密所述明文包括連續(xù)應(yīng)用加密函數(shù)PEnc= PRHT(Xi)和MEnc=MRHT(Xi)的組合,其中:
15. 根據(jù)權(quán)利要求3所述的方法,其中,所接收的輸出包括表示為C的密文,根據(jù)權(quán)利要 求13所述的方法產(chǎn)生所述密文C,并且所述去隨機(jī)化輸入包括明文,并且在環(huán)Z1J:執(zhí)行模 數(shù)N的所有計(jì)算,其中,N是兩個(gè)質(zhì)數(shù)的乘積,并且矩陣S包括對稱加密密鑰。
16. -種用于將一對密文輸出Ci和Cj相加的方法,Ci和Cj是根據(jù)權(quán)利要求13所述 的方法產(chǎn)生的密文,所述方法包括根據(jù)權(quán)利要求4所述的方法將Ci和Cj相加,其中,在環(huán) Zn上執(zhí)行模數(shù)N的所有計(jì)算,其中,N是兩個(gè)質(zhì)數(shù)的乘積,并且矩陣S包括對稱加密密鑰。
17. -種用于將一對密文輸出Ci和Cj相乘的方法,Ci和Cj包括根據(jù)權(quán)利要求13所 述的方法產(chǎn)生的密文,所述方法包括根據(jù)權(quán)利要求5所述的方法將Ci和Cj相乘,其中,在 環(huán)Zn上執(zhí)行模數(shù)N的所有計(jì)算,其中,N是兩個(gè)質(zhì)數(shù)的乘積,并且矩陣S包括對稱加密密鑰。
18. -種用于將一對密文輸出Ci和Cj相除的方法,Ci和Cj包括根據(jù)權(quán)利要求13所 述的方法產(chǎn)生的密文,所述方法包括根據(jù)權(quán)利要求6所述的方法將Ci和Cj相除,其中,在 環(huán)Zn上執(zhí)行模數(shù)N的所有計(jì)算,其中,N是兩個(gè)質(zhì)數(shù)的乘積,并且矩陣S包括對稱加密密鑰。
19. 一種驗(yàn)證由第三方執(zhí)行的計(jì)算的返回結(jié)果為有效的方法,所述結(jié)果由根據(jù)權(quán)利要 求1-18中任一項(xiàng)所述的方法執(zhí)行,對于使用表示為M的MRHT或MEnc函數(shù)返回的結(jié)果,所述 結(jié)果表示為1,并且對于使用表示為P的PRHT或PEnc函數(shù)返回的結(jié)果,所述結(jié)果表示為 扣,,所述結(jié)果包括對A1,A2,…,Ak執(zhí)行的表示為f的同態(tài)計(jì)算的結(jié)果,其中,Ai等于M(XJ和P(Xi)中的一個(gè);f%,A2,…,Ak)等于以下中的一個(gè):M(f(Xi,X2,…,Xk)) =HM(X1), M(X2), ...,M(Xk))以及Paft1,X2,…,Xk)) =MP(X1)J(X2), ...,P(Xk)),所述方法包括: 接收為以下形式的其中一個(gè)的f(A1,A2,…,Ak)的結(jié)果:
在所述結(jié)果為I?;丨的形式的情況下: 對于任何m,m= 1,2,…,n-1,計(jì)算表示為Q的f(Yml,Ym2,Ymk),其中,Ymj包括在 加密和隨機(jī)化\的一個(gè)中使用的第m個(gè)隨機(jī)值; 執(zhí)行解密和去隨機(jī)化1?*"中的一個(gè),從而從所產(chǎn)生的m+1行的矩陣對角線確定表示為E的f(Yml,Ym2,…?,Ymk);并且 如果E等于Q,則將f(Xi)的所述計(jì)算的所述結(jié)果視為有效;并且 在所述結(jié)果為R*P形式的情況下: 對于任何m,m= 1,2,…,n-1,計(jì)算表示為Q的f(Yml,Ym2,Ymk),其中,Ymj包括在 加密和隨機(jī)化\的一個(gè)中使用的第m個(gè)隨機(jī)值; 執(zhí)行解密和去隨機(jī)化R*P中的一個(gè),從而確定:
如果E等于Q,則將f(X1,X2,…?,Xk)的所述計(jì)算所述結(jié)果視為有效。
【文檔編號】H04L9/30GK104509024SQ201380039463
【公開日】2015年4月8日 申請日期:2013年7月25日 優(yōu)先權(quán)日:2012年7月26日
【發(fā)明者】艾維爾德·杰尼斯, 以利沙·希布蘇什 申請人:Nds有限公司