凯撒密码很简单,其实就是单字母替换。我们看一个简单的例子:
明文:a b c d e f g h i j k l m n o p
密文:d e f g h i j k l m n o p q r s
若明文为student,对应的密文则为vwxghqw。在这个一一对应的算法中,凯撒密码将字母表用一种顺序替代的方法来进行加密,此时密钥为3,就是每个字母顺序推后3位。由于应为字母为26个,因此凯撒仅有26个可能的密钥,非常不安全。
类似的算法就是使替代不是有规律的,而是随机生成的一个对照表。比如置换移位算法里的维吉尼亚密码。
它是一种代换密码。据说恺撒是率先使用加密函的古代将领之一,因此这种加密方法被称为恺撒密码。
凯撒密码作为一种最为古老的对称加密体制,在古罗马的时候都已经很流行,他的基本思想是:通过把字母移动一定的位数来实现加密和解密。明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推X将变成A,Y变成B,Z变成C。由此可见,位数就是凯撒密码加密和解密的密钥。
首先你需要一张大大的草稿纸,把二十六个拉丁字母写上。
再在下面一行把每个字母往后推一位,错位排列。A对应Z,B对应A,C对应B,依次类推,第一行往后推一位,第二行往后推两位。即拉丁字母下面第二行A对应Y,B对应Z,C对应A,D对应B,一直推倒二十六位。
然后在拿着密文,先在第一行找到密文字母对应的拉丁字母,看看能不能组成句子,如果不行就在第二行找密文,翻译成对应的拉丁字母,在第二十六行之前一定可以找到。