发送方将明文消息加密成密文消息时,消息的攻击类型有5种,下面将一一介绍这些攻击类型:
一、只知密文的攻击
在这种攻击中,攻击者对明文没有任何线索,只有部分或者全部密文,攻击者需要分析密文,得出初始明文。根据字母频率(如英语中字母e、i、a最常见),攻击者可以猜测明文。显然,攻击者具有密文越多,成功攻击的机会也就越大,其原因是,如果密文多些,攻击者就可以缩小变换和组合的范围,从而可能得到初始明文。其概念图如下:
二、已知部分明文的攻击
在这种攻击中,攻击者已经知道了某些明文对及其相应的密文。利用这些信息,攻击者就可以尝试找出其他明文对,然后知道更多的明文。其概念图如下所示:
三、选定部分明文的攻击
这里,攻击者选定一个明文块,并尝试在密文中寻找其加密结果。攻击者可以选择要加密的消息,然后基于这些,有意识地选取能产生密文的模式,从而获得密钥的更多信息。其概念图如下:
四、选定部分密文攻击
在这种攻击中,攻击者知道了要解密的密文,产生这些密文的加密算法以及相应的明文块。攻击者的工作是要得出用于加密的密钥,但是这种方法不太常用。
五、选定部分文本攻击
这种攻击方式,是选定明文攻击和选定部分密文攻击的组合。
六、总结
下表中,归纳了这些攻击方法的特征:
攻击方法 | 攻击者需要知道的内容 | 攻击者要得到的内容 |
---|---|---|
只知密文的攻击 | 1.几个消息的密文,这些都是用同一个加密密钥加密的。2.所用的算法 | 1.这些密文消息对应的明文消息。2.加密所用的密钥 |
已知部分明文的攻击 | 1.几个消息的密文,这些都是用同一个加密密钥加密的。2.对应于上面密文消息的明文消息。3.所用的算法 | 1.加密所用的密钥。2.用同一密钥解密密文的算法 |
选定部分明文的攻击 | 1.密文以及相关的明文消息。2.选取要加密的密文 | 1.加密所用的密钥。2.用同一密钥解密密文的算法 |
选定部分密文的攻击 | 1.集合要解密的消息的密文。2.对应的明文消息 | 加密所用的密钥 |
选定部分文本的攻击 | 以上的某一些 | 以上的某一些 |