??凯撒密码(英语:Caesar cipher),或者说凯撒加密、凯撒变换、变换加密,是最简单、最知名的加密技术。它是一种替换加密技术,明文中的所有字母都在字母表上向后(或向前)偏移,然后用密文代替。例如,当偏移量为3时,所有字母A都将被替换D,B变成E,以此类推。
??凯撒密码通常被用作维吉尼亚密码等其他更复杂的加密方法的步骤。凯撒密码仍然是现代的ROT应用于13系统。然而,像所有使用字母表替换的加密技术一样,凯撒密码很容易破解,在实际应用中无法保证通信安全。
??根据偏移量的不同,还有几个特定的凯撒密码名称:
- 偏移量为10:Avocat(A→K) - 偏移量为13:ROT13 - 偏移量为-5:Cassis (K 6) - 偏移量为-6:Cassette (K 7)
??凯撒密码是一种非常容易破解的加密方法,即使用唯密文攻击。可能有两种情况需要考虑:
(1)攻击者知道(或猜测)密码中使用了一种简单的替换加密方法,但不确定是凯撒密码; (2)攻击者知道(或者猜测)使用了恺撒密码,但是不知道其偏移量。
??在第一种情况下,攻击者可以使用频率分析或样式单词分析等方法, [3] 从分析结果中可以立即看即看出,加密者使用凯撒密码。
??对于第二种情况,解决方案更简单。由于使用凯撒密码加密的语言通常是字母文本系统,因此密码中使用的偏移量也可能有限。例如,使用26个字母的英语的偏移量最多为25(偏移量26相当于偏移量0,即明文;偏移量超过26,相当于偏移量1-25)。因此,通过穷举法很容易破解。其中一种方法是在表中写下密文中的一个小片段,使用所有可能的偏移解密内容——称为候选明文,然后分析表中的候选明文是否具有实际意义,获得正确的偏移,解密整个密文。例如,选定的密文片段是"EXXEGOEXSRGI",从右表中的候选明文中,我们看出,正确的偏移量是4。也可以在每个密文单词的每个字母下垂直写下整个字母表的其他字母,然后通过分析得出其中一行是明文。
??另一种攻击方法是通过频率分析。当密文长度足够大时,可以先分析密文中每个字母的频率,然后将其与语言字母表中所有字母的频率进行比较。例如,在英语中,正常明文中的字母E和T频率特别高,字母Q和Z频率特别低,法语中频率最高的字母是E,最低的是K和W。可以通过这一特点,分析密文字母出现的频率,可以估计出正确的偏移量。此外,有时频率分析可以从字母推广到单词。例如,在英语中,频率最高的单词是:the, of, and, a, to, in…。我们可以将最常见单词中所有可能的25组密文组成字典进行分析。比如QEB可能是the,MPQY可能是单词know(当然也可能是aden)。然而,频率分析也有其局限性。它不适用于用较短或故意省略元音字母或其他缩写方法加密的密文。
??此外,多次使用凯撒密码加密并不能获得更大的安全性,因为偏移量A加密的结果相当于使用偏移量BA B加密偏移量的结果。
加密 E n ( x ) = ( x n ) m o d 26 E_n(x)=(x n)\ mod\ 26 En(x)=(x n)mod26
解密 D n ( x ) = ( x ? n ) m o d 26 D_n(x)=(x-n)\ mod\ 26 Dn(x)=(x−n) mod 26