凯撒密码作为最早的加密技术,常用于保护重要的军事情报,该技术以尤利乌斯 · 凯撒命名。
据说,凯撒大帝对于“凯撒密码”特别喜欢,在他的日常通信过程当中,也都采用了这种加密方法,因此,凯撒在战争当中占据了优势地位,虽然说,在现代来看,这个密码确实比较简单,但是在当时,凯撒的对手们,也是无法获取通信内容的。
例如,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推。
加密原理
恺撒密码的替换方法是通过排列明文和密文字母表,密文字母表示通过将明文字母表向左或向右移动一个固定数目的位置。
例如:
密钥:3(当偏移量是左移3的时候)
明文字母表:
ABCDEFGHIJKLMNOPQRSTUVWXYZ
密文字母表:
DEFGHIJKLMNOPQRSTUVWXYZABC
明文:FIGHTING
密文:ILJKWLQJ
解密
使用时,加密者查找明文字母表中需要加密的消息中的每一个字母所在位置,并且写下密文字母表中对应的字母。需要解密的人则根据事先已知的密钥反过来操作,得到原来的明文。
例如:
密钥:2(当偏移量是左移2的时候)
密文:FDHVDU
明文字母表:
ABCDEFGHIJKLMNOPQRSTUVWXYZ
密文字母表:
CDEFGHIJKLMNOPQRSTUVWXYZAB
明文:CAESAR
所以,凯撒密码加密和解密的关键就是移动的位数。
如何破译密码?
不知道大家有没有注意到,凯撒密码这种加密方式,明文单位与密文单位一一对应。
这样就导致了一个很明显的问题:密文中每个信息单位(一般情况下为字母)出现的频率,也会等于明文中某个特定信息单位出现的频率。因此,频率分析就成为对凯撒密码安全性的严重打击。
以最典型的英语为例,26个字母的使用频率分别为:
我们可以很明显地看到,字母E的使用频率远高于其他字母,另外字母T、A也都有较高的使用频率;而字母J、Q、X、Z的使用频率则相对较低。利用这一点,让我们在没有计算机的帮助下,也有极大的机率在短时间内破解出密码。
在《福尔摩斯探案集》约翰·特纳的故事中,对于密文“dv mvvw blfi svok”,便是将密文中出现次数最多的字母“v”认定为字母“e”,然后顺藤摸瓜破解出明文为“we need your help”。