Paillier同态加密算法
2021-04-19 本文已影响0人
雪落无留痕
Paillier加密是一种公钥加密算法,基于复合剩余类的困难问题。其满足于加法同态,即密文相乘等于明文相加,即:
算法描述
密钥生成
- 选两个大素数 , 保证
- 计算 ,
- 定义, 这里分式是除法
- 随机选取一个小于 的正整数,并且存在
- 公钥为
- 私钥为
快速生成私钥
在密钥相同的情况下,可以快速生成密钥:
, 为欧拉函数,即
加密
-
明文为;
-
随机选择 , 满足 且 , 和 互质;
-
计算密文:
解密
- 计算明文
加法同态
Paillier加密的两个密文消息相乘的结果解密后得到两个消息相加的结果。
对于两个密文 和
其中 和 都是 中的元素,因此 也属于 , 并具有相同的性质,所以 可以看作是加密的密文,的解密结果为 。
总结
常见的同态加密算法中,Paillier算法和Benaloh算法仅满足加法同态,RSA算法和ElGamal算法只满足乘法同态,而Gentry算法则是全同态的。
参考
https://en.wikipedia.org/wiki/Paillier_cryptosystem