首页 理论教育全同态加密-云安全深度剖析

全同态加密-云安全深度剖析

【摘要】:若对任意复杂的明文操作f,都能构造出相应的F,则称E为全同态加密算法,也称为隐私同态。然而,全同态加密的构造问题困扰密码学家们30余年。直到2009年,对全同态加密算法的研究才有了突破性的进展。然而,目前已知的全同态加密体制的运算复杂度远远高于传统的加密算法,难以在现有计算技术条件下进行实用化。因此,设计高效全同态加密方案是一个有待解决的问题。

同态加密是由密码学家Rivest、Adleman和Dertouzos于1978年提出的一种特殊加密算法[2]。该加密算法可解决数据和操作委托给第三方时的安全问题。

设加密操作为E,明文为m,相应密文为e,即e=Em)。若已知针对明文有操作f,针对E可构造操作F,满足F(e)=Efm)),则称E为一个针对f的同态加密算法。

有了同态加密,就可以把加密得到的密文e交由第三方来执行F操作即F(e)。然后,通过对F(e)进行解密,就可以得到f(m)。尽管F(e)操作由第三方进行,但在整个数据处理过程中,数据内容m对第三方是完全透明的。

若对任意复杂的明文操作f,都能构造出相应的F,则称E为全同态加密算法,也称为隐私同态。

全同态加密的目的是找到一种能够在加密数据上进行加法和乘法运算的加密算法,使得对加密数据进行某种操作所得到的结果恰好等于对加密前的数据进行预期操作后所得到的密文。换言之,全同态密码支持对密文的任意运算。

全同态密码能很大程度上解决云计算上的数据安全问题。用户可以将数据加密后保存在云端。除非获得加密者的私钥,否则无人可以获得明文。但是,用户可以对云端的密文进行有意义的操作。(www.chuimin.cn)

然而,全同态加密的构造问题困扰密码学家们30余年。在此期间,先后出现过很多同态加密算法,但这些算法大多只满足两种同态性中一个,即:要么满足加法同态,而不满足乘法同态;要么满足乘法同态,而不满足加法同态。例如,RSA算法只对乘法运算是同态的,而Paillier算法则是对加法运算是同态的[3]

此间也出现了少数的几种全同态算法。比如,1978年Rivest提出的一种既满足加法同态又满足乘法同态的Rivest加密方法[4]。该方法的安全性依赖于大整数分解的困难度,所以不能保证加密安全。之后,Haridas又设计了一种效果更佳的算法,解决Rivest加密方法存在的安全问题[5]。但人们往往出于其安全性的考虑放弃使用这些算法。直到2009年,对全同态加密算法的研究才有了突破性的进展。IBM公司的研究员Gentry设计了第一个全同态加密方案[6]。该方案是基于理想格构造的,可看作一种特殊的公钥密码体制。他构造的同态公钥加密方案包括密钥生成算法、加密算法、解密算法和额外的评估算法。全同态加密保证了数据处理方仅仅能够处理数据,而且对数据的具体内容一无所知。但是,该方案计算效率很低,离真正实用还有很大的距离。

2010年,Smart等借鉴Gentry构造全同态加密方案的思想,提出基于相对小的密钥和密文规模的全同态加密方案[7]。Van Dijk等人用整数集代替理想,设计了全同态加密方案,把此方案的安全性问题归结到找一个近似的最大公约数[8]。与Gentry设计的方案相比,其优点是更简洁,但效率依然很低。2011年,Loftus等人对Smart等构造的全同态加密方案进行改进,得到了满足不可区分非适应性选择密文攻击安全性的全同态加密方案[9]

全同态加密技术将会促进云计算的发展。因为云端使用同态加密算法对数据进行加密后,数据以密文的形式存储在云上,在一定程度上保证了数据的安全性,而且全同态加密方案能够实现直接对密文数据进行计算。显然,全同态加密技术在云计算领域拥有很高的实际应用价值。然而,目前已知的全同态加密体制的运算复杂度远远高于传统的加密算法,难以在现有计算技术条件下进行实用化。因此,设计高效全同态加密方案是一个有待解决的问题。