标题：恺撒移位密码
概述
因据说恺撒是率先使用加密函的古代将领之一，因此这种加密方法被称为恺撒密码。这是一种简单的加密方法，这种密码的密度是很低的，只需简单地统计字频就可以破译。 现今又叫“移位密码”，只不过移动的位数不一定是3位而已。
相关介绍
密码术可以大致别分为两种，即易位和替换，当然也有两者结合的更复杂的方法。在易位中字母不变，位置改变；替换中字母改变，位置不变。 
将替换密码用于军事用途的第一个文件记载是恺撒著的《高卢记》。恺撒描述了他如何将密信送到正处在被围困、濒临投降的西塞罗。其中罗马字母被替换成希腊字母使得敌人根本无法看懂信息。 
苏托尼厄斯在公元二世纪写的《恺撒传》中对恺撒用过的其中一种替换密码作了详细的描写。恺撒只是简单地把信息中的每一个字母用字母表中的该字母后的第三个字母代替。这种密码替换通常叫做恺撒移位密码，或简单的说，恺撒密码。 
尽管苏托尼厄斯仅提到三个位置的恺撒移位，但显然从1到25个位置的移位我们都可以使用， 因此，为了使密码有更高的安全性，单字母替换密码就出现了。 
如： 
明码表 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 
密码表 Q W E R T Y U I O P A S D F G H J K L Z X C V B N M 
明文 F O R E S T 
密文 Y G K T L Z 
只需重排密码表二十六个字母的顺序，允许密码表是明码表的任意一种重排，密钥就会增加到四千亿亿亿多种，我们就有超过4×1027种密码表。破解就变得很困难。
破解方法
方法：字母频度分析 
尽管我们不知道是谁发现了字母频度的差异可以用于破解密码。但是9世纪的科学家阿尔·金迪在《关于破译加密信息的手稿》对该技术做了最早的描述。 
“如果我们知道一条加密信息所使用的语言，那么破译这条加密信息的方法就是找出同样的语言写的一篇其他文章，大约一页纸长，然后我们计算其中每个字母的出现频率。我们将频率最高的字母标为1号，频率排第2的标为2号，第三标为3号，依次类推，直到数完样品文章中所有字母。然后我们观察需要破译的密文，同样分类出所有的字母，找出频率最高的字母，并全部用样本文章中最高频率的字母替换。第二高频的字母用样本中2号代替，第三则用3号替换，直到密文中所有字母均已被样本中的字母替换。” 
以英文为例，首先我们以一篇或几篇一定长度的普通文章，建立字母表中每个字母的频度表。 
在分析密文中的字母频率，将其对照即可破解。 
虽然设密者后来针对频率分析技术对以前的设密方法做了些改进，比如说引进空符号等，目的是为了打破正常的字母出现频率。但是小的改进已经无法掩盖单字母替换法的巨大缺陷了。到16世纪，最好的密码破译师已经能够破译当时大多数的加密信息。
局限性
短文可能严重偏离标准频率，加入文章少于100个字母，那么对它的解密就会比较困难。 
而且不是所有文章都适用标准频度： 
1969年，法国作家乔治斯·佩雷克写了一部200页的小说《逃亡》，其中没有一个含有字母e的单词。更令人称奇的是英国小说家和拼论家吉尔伯特·阿代尔成功地将《逃亡》翻译成英文，而且其中也没有一个字母e。阿代尔将这部译著命名为《真空》。如果这本书用单密码表进行加密，那么频度分析破解它会受到很大的困难。 
一套新的密码系统由维热纳尔(Blaise de Vigenere)于16世纪末确立。其密码不再用一个密码表来加密，而是使用了26个不同的密码表。这种密码表最大的优点在于能够克制频度分析，从而提供更好的安全保障。 
“恺撒密码”据传是古罗马恺撒大帝用来保护重要军情的加密系统。它是一种替代密码，通过将字母按顺序推后起3位起到加密作用，如将字母A换作字母D，将字母B换作字母E。据说恺撒是率先使用加密函的古代将领之一，因此这种加密方法被称为恺撒密码。 
假如有这样一条指令： 
RETURN TO ROME 
用恺撒密码加密后就成为： 
UHWXUA WR URPH 
如果这份指令被敌方截获，也将不会泄密，因为字面上看不出任何意义。 
这种加密方法还可以依据移位的不同产生新的变化，如将每个字母左19位，就产生这样一个明密对照表： 
明:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 
密:T U V W X Y Z A B C D E F G H I J K L M N O P Q R S 
在这个加密表下，明文与密文的对照关系就变成： 
明文：THE FAULT, DEAR BRUTUS, LIES NOT IN OUR STARS BUT IN OURSELVES. 
密文：MAX YTNEM, WXTK UKNMNL, EBXL GHM BG HNK LMTKL UNM BG HNKLXEOXL.
发展
很明显，这种密码的密度是很低的，只需简单地统计字频就可以破译。于是人们在单一恺撒密码的基础上扩展出多表密码，称为“维吉尼亚”密码。它是由16世纪法国亨利三世王朝的布莱瑟·维吉尼亚发明的，其特点是将26个恺撒密表合成一个，见下表： 
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 
A A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 
B B C D E F G H I J K L M N O P Q R S T U V W X Y Z A 
CC D E F G H I J K L M N O P Q R S T U V W X Y Z A B 
D D E F G H I J K L M N O P Q R S T U V W X Y Z A B C 
E E F G H I J K L M N O P Q R S T U V W X Y Z A B C D 
F F G H I J K L M N O P Q R S T U V W X Y Z A B C D E 
G G H I J K L M N O P Q R S T U V W X Y Z A B C D E F 
H H I J K L M N O P Q R S T U V W X Y Z A B C D E F G 
I I J K L M N O P Q R S T U V W X Y Z A B C D E F G H 
J J K L M N O P Q R S T U V W X Y Z A B C D E F G H I 
K K L M N O P Q R S T U V W X Y Z A B C D E F G H I J 
L L M N O P Q R S T U V W X Y Z A B C D E F G H I J K 
M M N O P Q R S T U V W X Y Z A B C D E F G H I J K L 
N N O P Q R S T U V W X Y Z A B C D E F G H I J K L M 
O O P Q R S T U V W X Y Z A B C D E F G H I J K L M N
P P Q R S T U V W X Y Z A B C D E F G H I J K L M N O 
Q Q R S T U V W X Y Z A B C D E F G H I J K L M N O P 
R R S T U V W X Y Z A B C D E F G H I J K L M N O P Q 
S S T U V W X Y Z A B C D E F G H I J K L M N O P Q R 
T T U V W X Y Z A B C D E F G H I J K L M N O P Q R S 
U U V W X Y Z A B C D E F G H I J K L M N O P Q R S T 
V V W X Y Z A B C D E F G H I J K L M N O P Q R S T U 
W W X Y Z A B C D E F G H I J K L M N O P Q R S T U V 
X X Y Z A B C D E F G H I J K L M N O P Q R S T U V W 
Y Y Z A B C D E F G H I J K L M N O P Q R S T U V W X 
Z Z A B C D E F G H I J K L M N O P Q R S T U V W X Y 
维吉尼亚密码引入了“密钥”的概念，即根据密钥来决定用哪一行的密表来进行替换，以此来对抗字频统计。假如以上面第一行代表明文字母，左面第一列代表密钥字母，对如下明文加密： 
TO BE OR NOT TO BE THAT IS THE QUESTION 
当选定RELATIONS作为密钥时，加密过程是：明文一个字母为T，第一个密钥字母为R，因此可以找到在R行中代替T的为K，依此类推，得出对应关系如下： 
密钥:RELAT IONSR ELATI ONSRE LATIO NSREL 
明文:TOBEO RNOTT OBETH ATIST HEQUE STION 
密文:KSMEH ZBBLK SMEMP OGAJX SEJCS FLZSY
历史记载
历史上以维吉尼亚密表为基础又演变出很多种加密方法，其基本元素无非是密表与密钥，并一直沿用到二战以后的初级电子密码机上。