Page 161 - 计算机技术与网络安全研究
P. 161
第五章 数据加密技术
密方案,否则称为部分同态加密方案。
1. 部分同态加密
部分同态加密方案支持的函数 f 为特定函数,应用广泛的部分同态加密方案
包括:Goldwasser-Micali 加密方案,其支持在加密比特上计算异或;Paillier 加密
方案,支持加法运算;ElGamal 加密方案,支持乘法运算;基于双线性对的 BGN
加密方案和基于格的 BGN 加密方案,支持多次加法,或者一次乘法运算之后多
次加法运算。对于只需要在密文上计算上述特定函数的应用场景,使用部分同态
加密方案能够在数据的密文上高效地完成计算功能,同时这些同态加密方案达到
语义安全(semantic security),因此能够保证数据的机密性。
2. 完全同态加密
完全同态加密或全同态加密(fully homomorphi cencryption,FHE),支持在密
文上计算任意函数,并达到语义安全,因此理论上来说,全同态加密方案是既能
够保护数据机密性又不损失数据可用性的最佳选择。然而从隐私同态概念的提出
到第一个语义安全全同态加密方案的构造经历了 30 多年的时间。
2009 年,Gentry 基于格困难问题给出了第一个语义安全的全同态加密的构
造方案 Gentry09。其基本思想如下:首先将函数 f 编码成布尔电路形式,明文以 0、
1 比特串的形式被逐比特加密,加密算法通过引入“错误”来保证明文的机密性。
每在密文上进行一个门电路的计算,新生成的密文的“错误”都会增加,当增加
到一定程度就会引起解密的错误。这种只能计算较浅深度电路对应的函数的同态
加密方案称为一定程度同态加密方案(somewhat homomorphic encryptionscheme,
SWHE),这种类型的同态加密方案只能用于进行简单的运算,因为复杂运算在编
码之后的电路深度较深,解密后得到的明文由于“错误”的影响而不正确。为了
将 SWHE 方案转换成对电路深度没有要求的全同态加密方案,Gentry 提出了自举
(boot-strapping)技术。具体来说,Gentry 给出了一种 recryption 操作:将密文
和加密的私钥作为输入计算解密函数。该过程结束后得到的密文和原密文对应相
同的明文,但新的密文中包含的错误降低了,从而允许继续在密文上进行计算,
直到错误累积达到阈值,再次执行上述 recryption 操作,如此迭代直至完成整个
计算过程为止。
尽管密码学界在理论上和实现上为提高全同态加密系统的效率作出了很大
的努力,但是距离全同态加密系统的实际应用还有很长的路要走。举例来说,
153
153

