您现在的位置是:首页 >技术交流 >同态加密算法网站首页技术交流

同态加密算法

搞搞搞高傲 2023-06-06 20:00:03
简介同态加密算法

        对于明文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方案,支持针对实数或复数的浮点数加法和乘法同态运算,得到的计算结果为近似值,适用于机器学习模型训练等不需要精确结果的场景。

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。