凯撒密码---最简单的加密方式之一
“恺撒密码”据传是古罗马恺撒大帝用来保护重要军情的加密系统。
它是一种置换密码,通过将字母按顺序推后起3位起到加密作用,如将字母A换作字母D,将字母B换作字母E。据说恺撒是率先使用加密函的古代将领之一,因此这种加密方法被称为恺撒密码。
假如有这样一条指令:
明文(小写):ji xiao jing
用恺撒密码加密后就成为:
密文(大写):ML ALDR MLQJ
如果这份指令被敌方截获,也将不会泄密,因为字面上看不出任何意义。
这种加密方法还可以依据移位的不同产生新的变化,如将每个字母左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
很明显,这种密码的密度是很低的,只需简单地统计字频就可以破译。
于是人们在单一恺撒密码的基础上扩展出多表密码,称为“维吉尼亚”密码。它是由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
C
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 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
历史上以维吉尼亚密表为基础又演变出很多种加密方法,其基本元素无非是密表与密钥,并一直沿用到二战以后的初级电子密码机上。