同态加密技术是一种加密方式,它可以在加密的同时进行计算,而无需解密。具体来说,同态加密可以让两个密文进行加法或乘法运算后得到一个新的密文,解密后得到的结果与对应的明文进行相同的运算结果。
为什么会有同态加密技术(WHY)
同态加密技术的出现是为了解决数据隐私和数据共享之间的矛盾。在传统的加密方式中,要进行计算需要先解密数据,这样就会暴露数据的隐私。而同态加密技术可以在不解密数据的情况下进行计算,从而保护了数据的隐私性。
我现在有一盒金豆子需要别人帮我鉴定他的价值,但是我害怕金豆子在鉴定的过程中会弄丢了,因为太小了,所以就放在一个透明的箱子里,人可以透过箱子、通过箱子上的手套进行鉴定,不需要开锁箱子。这就类似可以对数据进行处理,但是不需要对数据进行解密才能处理。
常用的同态加密(WHAT)
由于同态加密计算需要更大的计算资源,运行效率低等问题,还不能直接应用真实的工程中,所以在实际应用中多半是选取半同态加密。
满足有限运算同态性而不满足任意运算同态性的加密算法称为半同态加密。典型的半同态加密特性包括乘法同态、加法同态、有限次数全同态等。如下表所示:
| 算法 | 描述 | 加密特性 |
|---|---|---|
| RSA算法 | 是最为经典的公钥加密算法,至今已有40余年的历史;非随机化加密,具有乘法同态性的原始算法面临选择明文攻击 | 乘法同态 |
| ElGamal算法 | 是一种基于Diffie-Hellman离散对数困难问题的公钥密码算法,可实现公钥加密和数字签名功能 | 乘法同态 |
| Paillier算法 | 基于合数剩余类问题的公钥加密算法,也是目前最为常用且最具实用性的加法同态加密算法 | 加法同态 |
| Boneh-Goh-Nissim | 一种基于双线性映射的公钥密码方案,支持任意次加法同态和一次乘法同态运算, | 有限次数全同态 |
同态加密技术适用场景(HOW)
在医疗领域中,医院需要共享患者的病历记录,但又不能泄露患者的隐私信息。使用同态加密技术可以在不泄露患者隐私信息的同时,实现病历记录的共享。