CPA与CCA基础知识

less than 1 minute read

Published:

CPA: Chosen-plaintext attack

选择明文攻击(CPA)是一种用于密码分析的攻击模型,它假设攻击者可以获得任意明文的密文。攻击的目标是获取降低加密方案安全性的信息。现代密码旨在提供语义安全性,也称为选择明文攻击下的密文不可区分性,因此,根据设计,如果正确实施,它们通常不会受到选择明文攻击。

在选择明文攻击中,对手可以(可能自适应地)请求任意明文消息的密文。这是通过允许对手与加密预言机(Oracle,被视为黑匣子)进行交互来形式化的。攻击者的目标是泄露全部或部分秘密加密密钥。攻击者通过向Oracle发送若干明文请求加密,并根据返回的密文来猜测加密密钥。

选择明文攻击在公钥加密的环境中显得极其重要,因为加密密钥是公开的,所以攻击者可以加密他们选择的任何明文。

CPA的不同形式

选择明文攻击有两种形式:

  • 批量选择明文攻击:选择明文攻击的基本形式,攻击者首先选择所有明文,然后再请求对应的密文。
  • 自适应选择明文攻击(CPA2):攻击者可以先得到的某些明文的密文,再选择请求其他明文的密文。

通常方式

一般批量选择明文攻击的执行方式如下[验证失败]:

  1. 攻击者可以选择$n$个明文。(此参数$n$被指定为攻击模型的一部分,它可能有界,也可能没有界。)
  2. 攻击者将这$n$个明文发送到加密预言机。
  3. 加密预言机将加密攻击者的明文并将密文发送回攻击者。
  4. 攻击者从预言机接收回$n$个密文,这样攻击者就知道每个明文对应哪个密文。
  5. 基于明文-密文对,攻击者尝试提取预言机的加密密钥。

如果在$n=1$的情况下攻击者无法以高于$\frac{1}{2}$的概率预测对加密密钥的话,可认为密码在选择明文攻击下有不可区分的加密性。

CCA: Chosen-Cypertext Attack

选择密文攻击 (CCA) 是一种密码分析攻击模型,其中密码分析者可以通过获得所选密文的解密来收集信息。 根据这些信息,攻击者可以尝试恢复用于解密的思钥。

CCA的不同形式

选择密文攻击与其他攻击一样,可以是自适应的或非自适应的。 在自适应选择密文攻击中,攻击者可以使用先前解密的结果来告知他们选择要解密的密文。 在非自适应攻击中,攻击者选择要解密的密文,而不会看到任何生成的明文。 看到明文后,攻击者无法再获得其他密文的解密。

午餐时间攻击

攻击者只能到特定时刻之前进行自适应选择密文查询,之后攻击者必须展示出一些改进的攻击系统的能力。这种攻击有时被称为“非自适应选择密文攻击”;这里,“非自适应”是指攻击者无法调整其查询以响应挑战,这是在有能力做出之后给出的 选择的密文查询已过期。

自适应选择密文攻击

(全)自适应选择密文攻击是指攻击者可以根据之前收到的明文自适应地选择密文的攻击,仅规定密文本身不能被查询。这是比午餐时间攻击更强的攻击概念,与CCA1(午餐时间)攻击相比,通常被称为CCA2攻击。

该模型对于用于抵御选择密文攻击的安全性证明非常重要。如果攻击者有能力进行自适应选择的密文查询,则任何加密消息都不会是安全的,至少在这种能力被剥夺之前是这样。相反,证明该模型中的攻击是不可能的意味着无法执行任何实际的选择密文攻击。