四种基本攻击方式
假如攻击者已知加密算法的实现细节,在未知密钥的情况下,攻击密码系统的强度由弱到强的四种基本攻击:
- 唯密文攻击:直接通过同一密钥加密的密文,恢复出明文或者密钥
- 已知明文攻击:分析者通过同一密钥加密的明文/密文对,恢复出其他密文的明文或者密钥 (需要注意的是此时的密文明文对是无法选择的) 。
- 选择明文攻击:分析者可以根据破解需要,选择系列明文并获得对应的密文,恢复出其他密文的明文或者密钥。
- 选择密文攻击:分析者可以根据破解需要,选择系列密文并获得对应的明文,恢复出其他密文的明文或者密钥。 (与选择明文攻击相比,攻击者还可以在服务器端知道从密文出发得到明文)
从高往低,强度越来越强。逐层包含,攻击者拿到的信息越来越多。
加密算法的安全目标
- 攻击者不能获得解密密钥
- 攻击者不能获得明文
- 攻击者不能获得明文的任何部分信息(例如猜出明文中的几个字母)
- 攻击者不能获得明文的任何函数(例如知道明文的前后两个字母之间的异或值)
分析:用1和2举列,从攻击的角度,攻击者获得一条或者几条密文对应的明文比其获得解密密钥更为容易,那么从保护者来讲,那么为了实现2比1就更难。以此类推,从上往下,保护的难度越来越大。