同态加密算法

        对于明文m1和m2、加密算法E,若满足以下条件,则E具备同态加密特性,称为同态加密算法。

        E(m1)~E(m2) = E(m1~m2),运算~可以是加法或乘法。

        进一步的,同态加密算法分为全同态加密和半同态加密算法。

        如果一种同态加密算法支持对密文进行任意形式的计算,则称其为全同态加密(Fully Homomorphic Encryption, FHE); 如果支持对密文进行部分形式的计算,例如仅支持加法、仅支持乘法或支持有限次加法和乘法,则称其为半同态加密或部分同态加密,英文简称为SWHE(Somewhat Homomorphic Encryption)或PHE(Partially Homomorphic Encryption)。

        由于任意计算均可通过加法和乘法进行构造,若加密算法同时满足加法同态性和乘法同态性,则可称其满足全同态性。

        对于对称密码算法,混淆技术将明文结构彻底打乱,因此密文不再具备明文的结构性,无法实现同态运算的特性。非对称密码算法,基于数学难题,保持着明文数据的数学结构,因此具备同态运算的可能性。下面对常用对称密码算法是否具备同态加密能力汇总说明。

类型密码算法
乘法同态

(1)RSA算法,是不对原文进行填充的原始RSA算法。由于RSA算法加密不具备随机性,相同密钥加密相同明文得到固定值。故容易被选择明文攻击,有安全弱点。

(2)EIGamal算法,ISO同态加密国际标准中唯一指定的乘法同态加密算法

加法同态

(1)GBN算法,基于双线性映射的公钥密码方案,支持加法同态和一次乘法同态。(有限全同态)

(2)Paillier算法,基于合数剩余类问题的公钥加密算法,ISO同态加密国际标准中唯一指定的加法同态加密算法

(3)DGK算法,密文空间相比Paillier更小,加解密效率更高,但由于算法的正确性和安全性在学术界没有得到广泛研究和验证,且我们的实验表明算法的加解密部分存在缺陷,不推荐在工业界代码中使用。

全同态

(1)Gentry方案,基于电路模型,第一代全同态加密方案的主流模型。

(2)BGV方案,基于代数格上的困难问题,密文和密钥均以向量表示,目前主流的全同态加密算法。

(3)BFV方案,与BGV方案类似的另一种第二代全同态加密方案,同样可基于LWE和RLWE构造。BFV方案不需要通过模交换进行密文噪声控制,但同样需要通过密钥交换解决密文乘法带来的密文维数膨胀问题。

(4)GSW方案,基于近似特征向量的全同态加密方案。(第三代方案)

(5)CKKS方案,支持针对实数或复数的浮点数加法和乘法同态运算,得到的计算结果为近似值,适用于机器学习模型训练等不需要精确结果的场景。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

游鲦亭长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值