先来回顾一下des的加密过程
在不考虑奇偶校验的情况下DES的弱**共有以下8个:
- 0x0101010101010101
- 0xFEFEFEFEFEFEFEFE
- 0xE0E0E0E0F1F1F1F1
- 0x1F1F1F1F0E0E0E0E
- 0x0000000000000000
- 0xFFFFFFFFFFFFFFFF
- 0xE1E1E1E1F0F0F0F0
- 0x1E1E1E1E0F0F0F0F
这些初始**经过如下置换表置换变成56位的序列,
经分组后会使C和D无论怎么左移都仍分别为全为0或全为1的28位序列,这造成的后果是,而DES的加解密是对称的,将密文输入,将**倒序,即可得到明文。
而若**为弱**,则**倒不倒序就没有了区别,即,即攻击者只需要将密文再经过一次加密就可得到明文(比如攻击者向消息发送方发送一个加密请求)。