IND-CPA(选择明文攻击下的不可区分性)

IND-CPA(选择明文攻击下的不可区分性)Indistinguishability under chosen-plaintext attack


该性质是通过一个仿真游戏验证的,游戏过程如下

具体过程:

算法拥有者称之为挑战者,算法攻击者称之为攻击者

  1. 挑战者拥有公钥PK,私钥SK,将PK发给攻击者。
  2. 攻击者选取长度相等的两个明文,M1,M2,发给挑战者
  3. 挑战者获得明文后,然后随机决定b的取值,IND-CPA(选择明文攻击下的不可区分性),然后决定对于Mb的加密,IND-CPA(选择明文攻击下的不可区分性),然后发给攻击者
  4. 攻击者获得密文后,给出b的值,即确定是对M1的加密,还是对M2的加密

准确得到b的值的优势=IND-CPA(选择明文攻击下的不可区分性),如果IND-CPA(选择明文攻击下的不可区分性)的值可以忽略,就说明该加密算法是安全的,反之则是不安全的


具体演示(点击下图进入全屏):

IND-CPA(选择明文攻击下的不可区分性)


IND-CPA等价于语义安全