信息系统安全
题目: 同态加密综述
姓名:###
学号: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表示,如果再一个简单的明文搜索中应用同态加
密技术,将使得运算量增加上万亿倍。因此,在同态加密原理的基础上需要提出效率高的解
决方案,这样才能更好地应用到云计算领域。