一个公钥加密方案是一个 PPT 算法的三元组 使得:
- pk 为公钥,sk 为私钥
- Dec 可以输出消息 m,也可以输出失败 ,
加密算法可以是确定性的,也可以是概率性的。解密算法可能是完全正确的(从未失败),也可能以可忽略的概率失败。
- 如果一个公钥加密方案是 IND-EAV,那么它是 IND-CPA 安全的
- 没有公钥加密方案是具有 完善保密性 的
- 没有确定性的公钥加密方案是 IND-CPA 安全的
- 如果公钥加密方案 是 IND-CPA 安全的,那么它对于多消息加密也具有不可区分加密,但是对于加密长消息,使用 混合加密 会更快
IND-CPA 安全仅保证敌手是完全被动时(即仅做监听)的安全,不能保证敌手是主动情况时(例如向网络中注入消息)的安全。为了描述主动攻击,需要引入 CCA1 IND-CCA
- ElGamal 加密
- RSA算法(教科书式) 实际中的 RSA 加密