用于使输入同态随机化的方法和系统的制作方法

文档序号:7794223阅读:349来源:国知局
用于使输入同态随机化的方法和系统的制作方法
【专利摘要】描述了一种使输入随机化的全同态方法和系统,其中,在交换环上执行所有计算。详细说明使用矩阵和多项式执行随机化的等效方法以及混合矩阵和多项式函数的方式。进一步描述了矩阵和多项式函数的加法、乘法以及除法。通过在环ZN上执行函数模数N的计算,函数可用作加密函数。该方法和系统还可用于验证由第三方执行的计算的返回结果对于在本文中描述的任何计算是有效的。还描述了相关方法、系统以及设备。
【专利说明】用于使输入同态随机化的方法和系统
[0001] 相关申请
[0002] 本申请要求NDS公司的于2012年7月26日提交的未公布以色列申请IL 221152 以及于2013年1月24日提交的IL 224400的优先权权益。

【技术领域】
[0003] 本发明涉及同态随机化和加密的系统和方法。

【背景技术】
[0004] Kristin Lauter、Michael Naehrig、Vinod Vaikuntanathan 的 2011 年 7 月的 Can Homomorphic Encryption be Practical描述了越来越多的数据储存和管理外包给云服务 的发展对个人和生意等增加了很多新的隐私忧虑。如果用户将发送给云的数据加密,则可 以令人满意地解决隐私忧虑。如果加密方案是同态,则即使加密,云也可以依然在数据上进 行有意义的计算。
[0005] 政府、工业以及社团追求实际的同态加密的承诺。IBM和微软朝着其潜在的承诺积 极地进行研究,这是因为(例如)通过公共(公开)云服务器时限'安全的加密搜索'(或 者'隐私保护信息传递');例如,服务器在加密的医疗数据库中搜索(不了解该查询或结 果),并且由安全客户端递送加密的结果以进行解密。'安全函数评估'的又一个应用在于, 公开的不受信任的服务器为输入执行秘密算法,而不了解算法或结果的性能。因此,假设获 得了公共云服务器的公开访问的黑客(甚至是恶意的云服务员工)未呈现危害信息或交易 的任何威胁。这种同态加密的应用很多,并且能够广泛地使用云计算,例如,允许注重安全 性的政府和金融业通过将其数据库加密来将其业务移动到公共云,并且使其能够用于云计 算,不必担心受到云服务或外部黑客的安全侵害。而且,这种隐私保护技术帮助社团处理对 机密数据的不断增加的攻击,更不必说隐私云。要注意的是,以上内容的安全性并非运动目 标范例(moving-target paradigm)(例如,为了阻碍黑客的分析而快速更新的软件)或者 清晰的软件混淆的结果,而是同态密码系统的数学性质所固有的。
[0006] 迄今为止,发现同态系统不切实际;仅受限的特例约束使用显示对实际用途具有 某种可能性。
[0007] Gentry 等人在 ST0C' 09,Proceedings of the 41st Annual ACM Symposium on Theory ofComputing的第169-178页中提出了全同态加密方案-即,允许人们通过加密的 数据(不需要能够解密)评估电路的方案。
[0008] Xiao 等人在 www. utdallas. edu/?ilyen/techrep/HPbound. pdf 中可获得的题为 An Efficient Homomorphic Encryption Protocol for Multi-User Systems 的文章中提 出了针对同态加密问题的解决方案。
[0009] 还认为以下专利参考文献反应了现有技术的状况:
[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。


【发明内容】

[0015] 在本发明的某些实施方式中,本发明试图提供一种用于计划用于加密应用的ZN (ZN是残数模数N的环;N由两个质数(p和q)进行因子分解)中的特定数据的改进的实用全 同态加密系统。对于某些应用,在ZN中期望使用随机的大数目,其中,例如,根据先有技术 的当前水平,出于实际考虑,大数目是1Kbit。
[0016] 同态加密是如下一种加密形式:允许在密文(cipher text)上执行特定类型的计 算并且获得加密结果,该结果是对明文(plain text)执行的运算结果的密文。例如,一个 人可将两个加密数相加,并且然后,另一个人可将结果进行解密,这两个人都不能找出各个 数的值。同态加密方案通过设计具有可塑性(malleable,延展性)。各种密码系统的同态 性能可用于创建安全表决系统、抗冲突的散列函数、私有信息检索方案,并且通过确保处理 数据的机密性,能够广泛地使用云计算。
[0017] 在本文中提出了用于数据的实际随机化(通过交换环)的高性能非确定性全同态 方法,并且在环ZN上的模N数据(mod-N data)的对称加密非常适合于加密应用。例如,本 发明的实施方式确保多变量输入(multivariate input)或公共多项式函数的系数以在公 开的不受信任的环境中运行。所使用的方法还可为某些现有的密码算法提供抵抗某些攻击 的增强保护,例如,保护0SS公共密钥签名抵抗Pollard攻击。而且,这些方法的有效性质 (每个加密具有一个大数乘法,并且两个加密值的乘积为六个)激励并且能够使用低成本 协同安全平台以用于诸如密钥散列或私有密钥推导算法的应用。这种平台包括由运行同态 算法的不受信任的高性能服务器支持的低成本(低性能)安全元件。已经表明,随机明文 数据是同态加密的安全性的证明的充分条件。在交换环上的数据的同态随机化提供了抵抗 例如在AES密钥上的侧信道(side-channel)攻击(DPA)的保护。而且,这些方法具有提供 故障检测和计算数据完整性的验证的平行的并且不可分离的计算的固有耦合。
[0018] 期望所提出的加密方案为很多应用和客户/服务器模型提供安全性解决方案,其 包括:
[0019] 1、低成本安全平台;以及
[0020] 2、作为上述公共云服务器的公开的不受信任的平台。
[0021] 低成本安全平台由提供协同安全性的两个元素组成:
[0022] a)执行同态计算同时隐藏其秘密的低安全性高性能元件(例如,PC(个人电脑)、 STB (机顶盒)或移动计算装置),以及
[0023] b)安全地长期保密并且使用它们来在可信环境中执行一些基础计算的高安全性 低性能元件(例如,低成本SC(智能卡)、RFID (射频识别)、SIM(用户识别模块)、或者服 务安全的执行环境的安全0TP ( -次性可编程存储器))。
[0024] 该平台标记为(LHHL)或(LH)2平台。这种平台可限定由STB和SC构成的安全客 户端、具有SM的智能电话或者具有Arm TrustZone (或者其他安全的执行环境)的连接电 视。
[0025] 例如,并且不限制上文的普遍性,公开平台是存在于假设为不受信任的公共网络 (云)中的PC (或在PC上运行的处理)。
[0026] 通过举例,应用程序可使用数据的同态加密以:
[0027] 使用同态修改的OSS(HoMoSS)的有效的基于PK(公共/私有密钥)的签名。与 RSA签名操作相比,在该新的方案之下,使0SS免于Pollard攻击(如下面所述)并且基本 上保持其效率。在这种应用中,保持私有密钥的签名者是(LH)2平台。可以在公开平台内 进行PK签名的验证。
[0028] 隐藏对称密钥,例如,并且不限制上文的普遍性,通过(LH)2客户端验证密钥散列 (例如,安全HMAC验证),具有SC的STB-其中,STB执行大部分验证操作的同态计算,而SC 使用秘密对称密钥执行需要加密的最终步骤。
[0029] 因此,根据本发明的实施方式,提供了一种使输入随机化的全同态方法,其中,在 下文中表示为CR的交换环(commutative)上进行所有计算,所述方法包括:接收包括CR中 的k个输入兀素的序列的输入(表不为INP);执行(a)或(a)中的任一个:(a)在CR中随 机地选择秘密(seCret)nXn矩阵(在下文中表示为S),S用作对称随机化密钥,其中,S包 括CR上的可逆矩阵;确定S、对于包括INP的k个元素之中的m个不同的输入元素的每个 集合i,其中,0 < m < k+1并且m < n,从INP中选择要被共同随机化的m个不同的输入元 素,并且m个不同的输入元素在下文中表示为Xi,X2,. . .,Xm,在CR中选择n-m(n减去m)个 随机数Yp Y2, . . .,Yn_m,其中,输入元素为Xp X2, . . .,乂";在随机数Y ^ Y2,. . .,Yn_m的集合之 中选择至少一个随机数;并且可选地,一个或多个常数放置在表示为M的nXn对角矩阵的 对角线上,其中,除了对角线以外,矩阵M仅由0填充;并且通过使用在下文中表示为MRHT 的基于矩阵的随机化和同态变换函数,为在表示为{Xim} = Xi,X2,. . .,Xm的集合i中的m个 输入兀素,确定随机输出Aim,其中:
[0030]

【权利要求】
1. 一种使输入随机化的全同态方法,其中,在下文中表示为CR的交换环上执行所有计 算,所述方法包括: 接收包括CR中的k个输入元素的序列的输入,所述输入表示为INP; 执行(a)和(b)中的任一个: (a) 随机选择在下文中表示为S的CR中的秘密nXn矩阵,S用作对称随机化密钥,其 中,S包括在CR上的可逆矩阵; 确定 为包括INP的k个元素之中的m个不同的输入元素的每个集合i,在CR中选择n-m(n减去m)个随机数Y1,Y2,. . .,Yn_m,其中,0〈m〈k+l以及m〈n,从INP中选择要被共同随机化的 所述m个不同的输入元素并且所述m个不同的输入元素在下文中表示为X1,X2, ...,Xm,其 中,输入元素为X1,X2, ...,Xm;在所述随机数YpY2, ...,¥_的集合之中选择至少一个随机 数;并且可选地,一个或多个常数放在表示为M的nXn对角矩阵的对角线中,其中,除了所 述对角线以外,矩阵M仅由O填充;并且 通过使用在下文中表示为MRHT的基于矩阵的随机化和同态变换函数,确定表示为 {Xim} =X1,X2,…,Xm的集合i中的m个输入元素的随机输出Aim,其中:
从而产生与m个输入元素的所述集合i{Xim} =X1,X2,…,应的随机输出Aim; 以及 (b) 在CR中选择n个随机数,所述n个随机数在下文中表示为Vl,v2, ...,vn; 确定公共多项式Plv[If=,(y- 1?:> = 〇c.) .WIc>=I] 选择在下文中表示为PRHT(Xim)的基于多项式的随机化和同态变换函数,包括以V为变 量的形式为X?-#的任何函数,所述函数满足以下方程:
在CR中为a^,a。Jri选择将产生ai,。,Bi^ai,M的以上方程的解的n-m个随 机值,并且 执行(c)和(d)中的任一个: (c) 产生与包括集合(aiCI,an,…,aiIri)以及P(V)的公共系数集合(Ctl,C1,…,Clri,Cn)的输入元素X1,X2, ...,应的随机输出Aim,其中,需要公共系数集合(Ctl,C1,…,Cn+ Cn)以用于利用输入元素来执行运算的算术;并且 (d) 在CR中为给定的输入元素X1,X2,...,Xm选择将解出以下关于未知数ai(l,an,…,ain_j^n个联立方程的n-m个随机值Ri,R2,. . .,Ri^:
包括所述集合(aiCI,an,…,aiIri)以及P(V)的公共集合(Cci,C1,…,Cn+Cn)的随机文本。
2. 根据权利要求1所述的方法,其中,随机化所述输入INP包括连续应用函数PRHT(XJ 和MRHT(Xi)的组合,其中,Xi表示INP的m个不同的输入元素的集合,并且其中:
3. -种用于将权利要求1的所述随机化输入去随机化的方法,所述方法包括: 执行(a)和(b)中的任一个: (a)在CR上接收在下文中表示为Aim的输出,所述输出包括为nXn对角矩阵的随机化Xim输入,其中:
4. 一种用于将随机化的Xi和随机化的X2相加的方法,XJPX2根据权利要求1所述的 使输入随机化的全同态方法来随机化,所述方法包括: 对于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. -种用于将随机化的Xi和随机化的X2相乘的方法,X:和X2根据权利要求1所述的 使输入随机化的全同态方法来随机化,所述方法包括: 对于Xi,包括MRHT(Xi) =Ai; 接收AJPA2;并且
7. 根据权利要求1-6中任一项所述的方法,其中,所述至少一个随机化输入包括加密 密钥。
8. 根据权利要求7所述的方法,其中,所述加密密钥包括AES密钥。
9. 根据权利要求1-6中任一项所述的方法,其中,所述至少一个随机化输入包括模数N 多项式系数。
10. 根据权利要求9所述的方法,其中,所述模数N多项式系数用于私有函数密钥生成。
11. 根据权利要求9所述的方法,其中,所述模数N多项式系数用于私有的基于散列的 消息认证码。
12. 根据权利要求9所述的方法,其中,所述模数N多项式系数用于生成OSS签名。
13. 根据权利要求1所述的方法,其中,所述输入包括密文,所述输出包括密文,并且在 环Zn上执行模数N的所有计算,其中,N是两个质数的乘积,并且矩阵S包括对称加密密钥, 其中,所述加密函数表示为分别与MRHT和PRHT对应的MEnc和PEnc。
14. 根据权利要求13所述的方法,其中,加密所述明文包括连续应用加密函数PEnc= PRHT(Xi)和MEnc=MRHT(Xi)的组合,其中:
15. 根据权利要求3所述的方法,其中,所接收的输出包括表示为C的密文,根据权利要 求13所述的方法产生所述密文C,并且所述去随机化输入包括明文,并且在环Z1J:执行模 数N的所有计算,其中,N是两个质数的乘积,并且矩阵S包括对称加密密钥。
16. -种用于将一对密文输出Ci和Cj相加的方法,Ci和Cj是根据权利要求13所述 的方法产生的密文,所述方法包括根据权利要求4所述的方法将Ci和Cj相加,其中,在环 Zn上执行模数N的所有计算,其中,N是两个质数的乘积,并且矩阵S包括对称加密密钥。
17. -种用于将一对密文输出Ci和Cj相乘的方法,Ci和Cj包括根据权利要求13所 述的方法产生的密文,所述方法包括根据权利要求5所述的方法将Ci和Cj相乘,其中,在 环Zn上执行模数N的所有计算,其中,N是两个质数的乘积,并且矩阵S包括对称加密密钥。
18. -种用于将一对密文输出Ci和Cj相除的方法,Ci和Cj包括根据权利要求13所 述的方法产生的密文,所述方法包括根据权利要求6所述的方法将Ci和Cj相除,其中,在 环Zn上执行模数N的所有计算,其中,N是两个质数的乘积,并且矩阵S包括对称加密密钥。
19. 一种验证由第三方执行的计算的返回结果为有效的方法,所述结果由根据权利要 求1-18中任一项所述的方法执行,对于使用表示为M的MRHT或MEnc函数返回的结果,所述 结果表示为1,并且对于使用表示为P的PRHT或PEnc函数返回的结果,所述结果表示为 扣,,所述结果包括对A1,A2,…,Ak执行的表示为f的同态计算的结果,其中,Ai等于M(XJ和P(Xi)中的一个;f%,A2,…,Ak)等于以下中的一个:M(f(Xi,X2,…,Xk)) =HM(X1), M(X2), ...,M(Xk))以及Paft1,X2,…,Xk)) =MP(X1)J(X2), ...,P(Xk)),所述方法包括: 接收为以下形式的其中一个的f(A1,A2,…,Ak)的结果:
在所述结果为I?;丨的形式的情况下: 对于任何m,m= 1,2,…,n-1,计算表示为Q的f(Yml,Ym2,Ymk),其中,Ymj包括在 加密和随机化\的一个中使用的第m个随机值; 执行解密和去随机化1?*"中的一个,从而从所产生的m+1行的矩阵对角线确定表示为E的f(Yml,Ym2,…?,Ymk);并且 如果E等于Q,则将f(Xi)的所述计算的所述结果视为有效;并且 在所述结果为R*P形式的情况下: 对于任何m,m= 1,2,…,n-1,计算表示为Q的f(Yml,Ym2,Ymk),其中,Ymj包括在 加密和随机化\的一个中使用的第m个随机值; 执行解密和去随机化R*P中的一个,从而确定:
如果E等于Q,则将f(X1,X2,…?,Xk)的所述计算所述结果视为有效。
【文档编号】H04L9/30GK104509024SQ201380039463
【公开日】2015年4月8日 申请日期:2013年7月25日 优先权日:2012年7月26日
【发明者】艾维尔德·杰尼斯, 以利沙·希布苏什 申请人:Nds有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1