密码学---攻击类型

在Kerchhoff假设下,按照密码分析者具有不同的攻击条件,攻击类型有大致5种:

(1) 唯密文攻击(COA):敌手只能通过考察一些密文来试图推导出解密密钥 (即私钥)或这些密文对应的明文。

(2) 已知明文攻击(KPA):敌手已知一定数量的明文和相对应的密文,试图推导出私钥或者其他密文对应的明文。

(3) 非适应性选择明文攻击(CPA1):敌手可以选择明文,接着得到这些明文相对应的密文,即假设敌手可访问加密预言机 。(Encryption Oracle,加密设备) ,可以问询这个加密预言机某个明文,从而得到加密预言机的应答,即被问询明文所对应的密文。 (在挑战应答协议中就存在类似的加密预言机。 )

【意思说:在问询加密预言机的时候,CPA1只能一次性提交所选择的所有明文】

(4) 适应性选择明文攻击(CPA2):敌手可以选择明文,接着得到相应的密文,且明文的选择可依赖于前面得到的密文。

【CPA1 和 CPA2 的区别在于敌手是否可以在见到第一个密文应答之后提交明文问询。CPA1 不能,CPA2 可以。 (可见在问询加密预言机的时候,CPA1只能一次性提交所选择的所有明文,而 CPA2 可以多次分阶段提交所选择的明文。 )CPA1 和CPA2 统称为 CPA。由于公钥加密体制中,敌手总是可以任意访问加密预言机,因而选择明文攻击(CPA)是平凡的,于是,CPA2 安全是公钥加密的基本安全要求。通常将公钥体制中的 CPA 称为被动攻击(被动攻击主要是收集信息而不是进行访问,数据的合法用户一般不会有所察觉),CCA为主动攻击(对数据流的某些修改或生成一个假的数据流)】

(5) 非适应选择密文攻击(CCA1):敌手可以选择密文,接着得到相应的明文。即敌手拥有解密预言机 (Decryption Oracle, 解密设备)的访问权,可以访问这个解密预言机某个密文,从而得到解密预言机的应答,即被问询密文所对应的明文。然后,在不访问该解密预言机的情况下 ,推导出 (先前未询问过解密预言机的)密文的明文。

(6) 适应性选择密文攻击(CCA2):敌手可以选择密文,接着得到相应的明文。且在见到挑战密文之后还能问询解密预言机。但是,显然不允许向解密预言机问询挑战密文 (这里,挑战密文是指需要敌手解密的那个密文) 。

【CCA2 与 CCA1 的区别在于敌手是否拥有在见到挑战密文后还能访问解密预言机的能力。】

1-5,密码分析者的攻击能力递增,如果一个密码系统能抵抗适应性选择密文攻击,那么他则可以抵抗其余四种攻击。对于公钥密码体制,选择明文攻击的条件总能满足,所以对于公钥密码体制,只需要分析后三种就行。

你可能感兴趣的:(密码学,密码学,安全,信息安全,加密解密)