声明:该文章由个人整理相关资料+理解而来…
“Homomorphic”: a (secret) mapping from plaintext space to ciphertext space that preserves arithmetic operations.
Mathematical Hardness: (Ring) Learning with Errors Assumption; every image (ciphertext) of this mapping looks uniformly random in range (ciphertext space).
“Security level”: the hardness of inverting this mapping withoutthe secret key.
Example: 128 bits → 2^128 operations to break
全同态加密:
简单来讲,对密文的操作对应着对原来明文的操作。
同态加密 vs.安全多方计算 、SGX
其中,同态加密在计算代价上较大,主要花费在Bootstrapping上,而多方计算主要耗费在通信代价上,SGX 依赖于可信硬件。
发展
-
起源:Rivest, Adleman, Dertouzos (1978)首次提出,当时称为“隐私同态”。
-
[Gentry09’] Big breakthrough,第一个实现了真正的FHE.
-
2009-10: Plausibility:
[GH’11] 这篇论文实现了Gentry09的Bootstrapping,重加密一比特密文需要 30 minutes. -
2011-12: Real Circuits
**[GHS’12]**Homomorphic evaluation of the AES circuit. 这是对BGV的实现,用于计算“Real-world”的电路,AES加密和解密。A 30,000-gate in 36 hours -
2013-16: Usability
HElib同态加密库 [HS’14]: IBM基于BGV方案优化的开源实现
The same 30,000-gate in 4-15 minutes
每个slot重加密大约花费6分钟
[HS’15]Bootstrapping for helib
bootstrapping for packed ciphertexts in a matter of minutes
FHEW[DM’15]: bootstrapping 一个单比特密文 < 1s
THHE[CGGI’16]:bootstrapping 一个单比特密文 < 0.1s -
2017-Today:
Practical uses for real-world applications
FHE的发展划分为三代FHE:
-
第一代:
[Gentry’09 ] 基于理想格的方案
[DGHV‘10’] 基于整数的的全同态
其噪声增长太快,同态能力受限,影响效率和安全性 -
第二代:
[BV’11]:基于LWE构造全同态
[BGV’12]:无需Bootstrapping 构造Leveled FHE
[Bra’12]: FHE without Modulus Switching
from Classical GapSVP
(1)提出了非常好的技巧来控制噪声 ,如通过模切换,增加 plaintext-to-ciphertext expansion ratio, 提高了效率。
(噪声增长 from linear to logarithmic in the degree of the evaluated function)
(2)基于更加标准的困难假设,如LWE、 NTRU
(3)还有一些其他提高计算能力的技巧,如packing技术,将多个消息打包为一个密文。 -
第三代:
[GSW’13]:非对称乘法(噪声增长非对称)
[BV’14]:利用了噪声的非对称增长,将左乘子设计为带有小噪声,但是与第二代的效率优化不兼容,因此overhead方面比第二代更高。
[AP’14]
[DM’15]
[CGGI16]第三代FHE的效率可能不如第二代,但是它们基于更弱的困难问题假设。