Python密码学编程(第2版)
上QQ阅读APP看书,第一时间看更新

1.4 为什么加密两次不起作用

读者可能会认为,使用两个不同的密钥对消息进行两次加密将使加密强度增加一倍,但这对于凯撒密码(以及大多数其他密码)来说并不适用。事实上,加密两次的结果与一次正常加密的效果相同。现在,尝试对消息进行两次加密,以理解原因。

如果使用密钥3对单词“KITTEN”进行加密,那么密文字母由明文字母的标号加3获得,是“NLWWHQ”。再对“NLWWHQ”进行加密,这次使用密钥4,得到的密文将是“RPAALU”。但这两次加密实现的最终效果和用密钥7加密一次“KITTEN”是没有任何区别的。

对于大多数密码而言,加密多次并不能增加强度。事实上,如果使用两个加起来为26的密钥对一明文进行加密,得到的密文将和原始明文完全相同!