同态加密综述
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
信息系统安全题目: 同态加密综述
姓名:###
学号:2013202110076
武汉大学
二○一三年十月
同态加密综述
概念
2009年,IBM公司的克雷格·金特里(Craig Gentry)发表了一篇文章,公布了一项关于密码学的全新发现:一项真正的突破。他发现,对加密的数据进行处理得到一个输出,将这一输出进行解密,其结果与用同一方法处理未加密的原始数据得到的输出结果是一样的。这听起来就像是不知道问题也能给出问题的答案一样。
记加密操作为E,解密为E';明文为m,加密得e,即 e = E(m),m = E'(e)。已知针对明文有操作f,针对 E 可构造F,使得F(e) = E(f(m)),这样 E 就是一个针对 f 的同态加密算法。
来源
2009年9月,Craig Gentry 的论文发表于STOC。一名IBM研究员解决了一项棘手的数学问题,该问题自从几十年前公钥加密发明以来一直困扰着科学家们。该项创新为“隐私同态(privacy homomorphism)”或“全同态加密(fully homomorphic encryption)”领域的重要技术突破,使得加密信息,即刻意被打乱的数据仍能够被深入和无限的分析,而不会影响其保密性。
IBM研究员Craig Gentry设计了这一解决方案。他使用被称为“理想格ideal lattice”的数学对象,使人们可以充分操作加密状态的数据,而这在过去根本无法设想。经过这一突破,存储他人机密电子数据的电脑销售商就能受用户委托来充分分析数据,不用频繁与用户交互,也不必看到任何隐私数据。利用Gentry的技术,对加密信息的分析能得到同样细致的分析结果,就好像原始数据完全可见一样。
加密机理
整数上全同态加密方案有两篇非常经典的论文,一篇是《Fully Homomorphic Encryption over the Integers》以下简称DGHV方案,还有一篇是Gentry写的《Computing Arbitrary Functions of Encrypted Data》简称CAFED论文。
1、同态加密方案
同态加密用一句话来说就是:可以对加密数据做任意功能的运算,运算的结果解密后是相应于对明文做同样运算的结果。另外上面的那句话是不能说反的,例如:运算的结果加密后是相应于对明文做同样运算结果的加密,这样说是不对的,因为加密不是确定性的,每次加密由于引入了随机数,每次加密的结果都是不一样的,同一条明文对应的是好几条密文。而解密是确定的。
Enc(m): m+2r+pq
Dec(c): (c mod p) mod 2=(c –p*「c/p」)mod 2 = Lsb(c) XOR Lsb(「c/p」)
上面这个加密方案显然是正确的,模p运算把pq消去,模2运算把2r消去,最后剩下明文m 。
公式中的p是一个正的奇数,q是一个大的正整数(没有要求是奇数,它比p要大的多),p 和q在密钥生成阶段确定,p看成是密钥。而r是加密时随机选择的一个小的整数(可以为负数)。明文m∈{0,1},是对“位”进行加密的,所得密文是整数。
上面方案的明文空间是{0,1},密文空间是整数集。
同态加密方案中除了加密、解密还有一个非常重要的算法就是:Evaluate,它的作用就是对于给定的功能函数f以及密文c1,c2,…,ct等做运算f (c1,c2,…,ct)。在这里就是对密文做相应的整数加、减、乘运算。
以上方案可以看成是对称加密方案。对于公钥加密方案,其实把pq看成公钥就OK。由于q是公开的,所以如果把pq看成公钥,私钥p立刻就被知道了(p=pq/q)。怎么办呢?看上面加密算法中,当对明文0进行加密时,密文为2r+pq,所以我们可以做一个集合{xi;xi=2ri+pqi},公钥pk就是这个集合{xi},加密时随机的从{xi}中选取一个子集S,按如下公式进行加密:
Enc(m): m+2r+sum(S); 其中sum(S)表示对S中的xi进行求和。
由于sum(S)是一些0的加密密文之和,所以对解密并不影响,整个解密过程不变。
这个方案是安全的,就是我们所说的DGHV方案。其安全性依赖于一个困难问题“近似GCD问题”。就是给你一些xi,你求不出p来(由于整数上全同态研究热了,近似GCD 也成了研究的一个点)。
为了说明方便,我们还是采取pq为公钥的方案。所以加密和解密还是按照一开始的公式,现在pq为公钥,p还是私钥,q是公开参数。再重复一遍我们的加密解密算法:Enc(m): m+2r+pq
Dec(c): (c mod p) mod 2=(c –p*「c/p」)mod 2 = Lsb(c) XOR Lsb(「c/p」)
另外在这里约定:一个实数模p为:a mod p = a -「a/p」*p,「a」表示最近整数,即有唯一整数在(a-1/2,a+1/2]中。所以a mod p的范围也就变成了(-p/2,p/2 ](这个牢记)。这个和我们平时说的模p范围是不一样的,平时模p范围是[0,p-1],那是因为模公式中取得是向下取整:a mod p = a –floor(a/p)*p。
Lsb是最低有效位,因为是模2运算,所以结果就是这个二进制数的最低位。
优势
以往加密手段的一个弊处在于它通常是将数据保存在盒子内而不让外界使用或者分析数据,除非使用解密密钥将盒子打开,而完全同态加密方案可以让你在数据加密的情况下对数据进行分析和计算。IBM的工程师们近日突破了一项折腾他们几十年的老大难问题:如何对数据进行加密,这样其他人可以进行排序和搜索,而无需实际揭示它的内容。使用该解决方案能增强云计算业务模式。计算机销售商可以受托在任意互联网环境中保管他人的机密数据。
RSA 算法对于乘法操作是同态的,对应的操作F也是乘法,对别的比如加法就无法构造出对应的F;而Paillier 算法则是对加法同态的。如果一种加密算法,对于乘法和加法都能找到对应的操作,就称其为全同态加密算法。目前还没有真正可用的全同态加密算法,虽然Craig Gentry 已经前进了一大步。
展望
同态加密在云计算等领域具有重要的应用价值,然而,现有全同态加密体制普遍存在公钥尺寸较大的缺陷,严重影响密钥管理与身份认证的效率;同态加密算法确实在密码学领域取得了巨大突破,但是和所有好技术一样,将同态加密技术应用到现实生活还需要一段时间,同时在效率方面,同态加密运算量大,效率不高。另外,该技术还需要解决一些应用上的障碍。其中之一就是大量的计算需求,Gentry表示,如果再一个简单的明文搜索中应用同态加密技术,将使得运算量增加上万亿倍。因此,在同态加密原理的基础上需要提出效率高的解决方案,这样才能更好地应用到云计算领域。