目录
1. IND-CCA是什么?
IND-CCA 是 Indistinguishability under chosen-ciphertext attack (IND-CCA)的缩写,直译为 选择密文攻击下的不可区分性。
2. 如何通俗理解CPA和CCA?
CPA含义是chosen-plaintext attack,选择明文攻击。可理解为攻击者拥有加密机的使用权限,可以加密自己想加密的任何明文。攻击目的:由明文和对应的密文来分析和推断加密算法的信息,主要是加密密钥。
CCA含义是chosen-ciphertext attack,选择密文攻击,可理解为攻击者拥有对解密机的使用权限。[1]可以解密自己输入的任何密文。攻击目的:由密文和对应的明文来推断解密密钥。
3. 非对称加密算法的IND-CCA的含义?
假如被攻击者D (Destination) 拥有一个公私钥对,sk, pk,它将公钥公开。低手A (Adversary)进行如下操作:
预备工作: A可以使用加密器(显然,因pk是公开的),也可以调用解密器但不知道私钥sk。此时,A发送任何数据和进行调用来收集信息。
1. A选择消息明文 M_0, M_1给D。(注:A不曾对明文 M_0, M_1进行加密)
2. D选择 b属于{0,1}, c=EN_pk( M_b);
3. A可以调用加密器和解密器来辅助分析 和判断,但不能直接调用解密器来解密c.
4. A判断 b=0 or 1。
定义: 如果 A判断的优势Adv(A) 不能以不可忽略的概率大于0 (这句话比较绕口,等于说A的优势是可以忽略的),则称算法是IND-CCA的。
Adv(A)= 2 | Pro [A wins] -1/2 |.
注:A的优势是A的正确性。
4. IND-CCA1和IND-CCA2 的含义?
IND-CCA1,是非自适应选择密文攻击。是IND-CCA2的之外的IND-CCA。
IND-CCA2,是自适应选择密文攻击。Adaptive Indistinguishability under chosen-ciphertext attack。
两者的区别是在 第3节中:[2]
IND-CCA1不包含 第3步,即不可再调用加密器或解密器。
IND-CCA2包含 第3步,即可调用加密器和解密器来辅助判断,但不能直接调用解密器来解密c。
5. IND-CPA 的含义?
简单说,就是将Adversary的权限减小,使其只能使用PK加密,不能调用解密器。因此,如果不同的加密系统分别各自满足3个性质,三者的安全强度是
IND-CPA < IND-CCA1 < IND-CCA2,后者的安全属性可以退出前者的安全属性。
另外,IND-CPA 这一属性 也等同于 语义安全性(Semantic security) 这一属性。
参考文献:
[1] https://en.wikipedia.org/wiki/Chosen-ciphertext_attack