对于零基础的隐私计算技术爱好者来说,同态加密(Homomorphic Encryption)算法有着最为神奇的特性:可在密文上进行计算且计算结果解密后所得的结果与明文计算一致。为了帮助大家更好地了解同态加密算法,本文将通过李伟荣老师的新作《深入浅出隐私计算:技术解析与应用实践》里的内容,来见证一下同态加密算法的神奇特性。首先介绍一下同态加密算法的概念和分类。
1. 同态加密算法的概念
同态加密算法是指满足密文同态运算性质的加密算法。而同态运算性质是指数据经过同态加密之后,对密文进行特定的计算,得到的密文计算结果再进行对应的同态解密后所得的结果等同于对明文数据直接进行相同的计算所得的结果,同态加密实现了数据的“可算不可见”。
举例来说,假设有一个加密函数Enc(),对明文A进行加密可得到密文,即,对明文B进行加密可得到密文,即。另外还有一个解密函数Dec()能够将密文解密成加密前的明文,即。对于一般的加密函数,如果,此时用Dec对进行解密的话,得到的结果一般是毫无意义的乱码。但是,如果Enc是个满足同态运算性质的加密函数,对使用Dec进行解密得到结果C将满足。同态加密的实现效果如图 1所示。
图 1 同态加密的实现效果示意图
2. 同态加密算法的分类
同态加密算法按其性质不同,一般可分为以下几类:
- 半同态加密(Partially Homomorphic Encryption,PHE):支持对密文进行部分形式的计算,例如仅支持加法或者仅支持乘法。仅支持加法的称为加法同态加密算法,仅支持乘法的称为乘法同态加密算法;
- 类同态加密(Somewhat Homomorphic Encryption,SWHE):也可称为有限次同态加密,只支持在密文上进行有限次数的加法和乘法操作(操作次数过多则会导致噪音过大而无法解密);
- 全同态加密(Fully Homomorphic Encryption,FHE):支持对密文进行任意形式的计算(同时支持加法操作和乘法操作,理论上只要支持加法和乘法操作就能支持其他类型的操作)。
根据上述分类,表 1列出了各类同态加密算法下的不同方案。
表 1 各类同态加密算法
类型 |
算法 |
时间 |
说明 |
实际应用 |
|
半同态加密
|
乘法同态 |
RSA算法 |
1977年 |
非随机化加密,具有乘法同态性的原始算法面临选择明文攻击 |
在非同态场景中应用广泛 |
ElGamal算法 |
1985年 |
随机化加密 |
DSS数字签名标准(基于ElGamal数字签名算法的变体) |
||
加法同态 |
Paillier算法 |
1999年 |
应用最为成熟 |
联邦学习 |
|
类同态加密 |
Boneh-Goh-Nissim方案 |
||||


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/34939.html