可证明安全性理论(4-5)
IND-CPA安全模型:
为什么M0和M1长度要相等?
如果不相等,加密出来的长度也可能不相等,攻击者可以通过长度来判断,无法检测出攻击者的能力
长度用绝对值表示
如何表示攻击成功的概率?
成功概率越高于1/2,说明攻击越有效
成功概率低于1/2,可以把结果反过来
成功概率等于1/2,没用
- 攻击者A的优势定义:成功概率与1/2的差值
IND-CPA安全模型下,公钥加密方案的安全性定义
对于任何概率多项式时间的攻击者A,它在IND-CPA安全模型下的优势Adv(A)都是可忽略的,则称这个公钥加密方案是IND-CPA安全的.
- 多项式时间可以简单理解为:有限时间内
如果存在一个概率多项式时间的攻击者A,它在IND-CPA安全模型下的优势Adv(A)是不可忽略的,则称这个公钥加密方案不是IND-CPA安全的.
谕言器(Oracle):
一个实体,它可以帮助解决攻击者自己无法解决的问题
IND-CCA安全模型:
攻击者能力
选择明文攻击
选择密文攻击
IND-CCA安全模型比IND-CPA安全模型相当于多了一个解密查询功能
IND-CCA安全模型下,公钥加密方案的安全性定义
对于任何概率多项式时间的攻击者A,它在IND-CCA安全模型下的优势Adv(A)都是可忽略的,则称这个公钥加密方案是IND-CCA安全的.
- 解密查询的密文的数量必须是多项式的
如果存在一个概率多项式时间的攻击者A,它在IND-CCA安全模型下的优势Adv(A)是不可忽略的,则称这个公钥加密方案不是IND-CCA安全的.