目录
1 什么是同态加密
同态加密(HE,homomorphic encryption)是密码学里一种特殊的加密模式,同态加密使我们可以将加密后的密文发给任意的第三方进行计算,并且在计算前不需要解密,即:在密文上进行计算。虽然同态加密的概念最早出现于 30 年前,但是第一个支持在密文上进行任意运算的 全同态加密 框架出现较晚,在 2009 年由 Craig Gentry 提出。
同态加密的数学定义为:
其中 E 为加密算法,M 是所有可能信息的集合。如果加密算法 E 满足公式 (1),那么我们称 E 在★运算上符合同态加密的性质。目前的同态加密算法,主要支持两种运算上的同态:加法和乘法。
需要注意的是,以上公式 (1) 只是为了让我们更加清晰地理解同态加密的性质,实际中的同态加密算法可能会有一些不同。
比如 Paillier 算法对加法同态,那么根据公式 (1),其密文的求和应该等于求和后的密文,但实际情况是密文的乘积等于求和后的密文
只要求得到的密文结果和我们预期的计算相同,但是对密文上的计算不作具体要求(一般由加密算法决定