1. 唯密文攻击(COA)

破译者只知道「加密算法」和「带破译的密文」。

  • 举例:实验一仿射密码的暴力破解就属于唯密文攻击。

2. 已知明文攻击(KPA)

破译者知道「加密算法」和经密钥加密形成的一个或多个「明文——密文对」。

  • 举例:希尔密码依赖唯密文攻击较难破解,但通过已知明文破解攻击则容易破解。

3. 选择明文攻击(CPA)

破译者知道「加密算法」、「选择的明文」和「对应的密文」。

  • 举例:中途岛海战中美军故意透露出假情报(明文)来诱使日军发报(密文),从而得知「AF」指的是中途岛而非阿留申群岛。

4. 选择密文攻击(CCA)

破译者知道「加密算法」、「选择的密文」和「对应解密的明文」。

  • 举例:El Gamal 密码系统在选择明文攻击下在语义上是安全的,但是在选择密文攻击下可以轻而易举地破坏这种语义安全性。

5. 选择文本攻击

破译者知道加密算法、选择的明文和对应的密文、选择的密文和对应解密的明文,选择文本攻击是选择明文攻击和选择密文攻击的结合。