这个思想很快得到不断扩展,既然两套字母表可以打乱频率特性,那么三套四套字母表会不会效果更好?最后法国的维热纳尔终于提出了一套全面系统地加密方法,其思想是使用多套字母移位对应的凯撒字母表来加密。由于凯撒密码共有26种,所以该系统实质上是26个字母表混合使用的加密系统。加密时第一个字母使用第一套字母表,第二个字母采用第二套字母表,以此类推,到第27个字母重新使用第一个字母表。如果把全部凯撒字母表排列在一起,就形成了一个替换字母的矩阵,故此可以说维热纳尔的加密方法是把密钥从一维提高到了二维。
维热纳尔字母表
如果加密时,只简单的采用逐个字母在字母方阵上向下换一行的方式进行凯撒字母表的选择会显得太过规律,所以一般加密者都会使用一些让解密者感觉到难以预测的无规律跳行方式来选择凯撒密码行。比如我们可以用一个关键词来实现这种加密行的跳跃选择。假设关键词是CHINA,那么第一个字母的加密就采用C行凯撒字母表,第二个字母的加密就采用H行字母表,第三个字母跳到I行,第四个字母N行,第五个字母A行,第六个字母重新回到C行,如此循环往复。解密者如果不知道关键词CHINA,就难以预测明文的各个字母究竟是应用的哪个加密字母表。同时由于频率特性完全被打乱,传统的破解方法也将毫无用处。例如以前破解时,破译人员喜欢先找到一些重复的双字母对儿作为线索破解密码,像是oo,ee等都是出现频率很高的双字母对儿辅助论坛,他们在过去的加密方式中在密文里还会保持重复字母对儿的特点。但是在维热纳尔加密法中,重复字母对儿的两个字母在加密后会变成不同字母,因而特性消失而难以捕捉。此外,按照上述方法给出的密钥小巧易记,仅仅是一个关键词,这真是一套完美的加密方案。
1586年,维热纳尔将自己的方法写成了专著并出版,名为《密码理论》,而就在同一年玛丽女王和巴宾顿的信件密码被菲利普斯破解。如果巴宾顿提前读到了这本书,说不定玛丽女王就能躲过一死,历史有时候真是很会戏弄人。
维热纳尔关键词加密
维热纳尔的多字母表密码虽然很强大,但是他的使用也比较复杂,对每个字母都要重新查找字母表,所以编码时间较长,影响了其普及性。实际上在它发明后的两个多世纪的时间内,人们更多的还是在使用字母替换的加密方法,但是此类方法已经升级到了介于传统单字母替换系统和维热纳尔多字母替换系统之间的一种形态。这就是同音字母替换法。
传统单字母替换的软肋在于频率痕迹,所以密码设计人员想到了一个简单的方式来解决这个隐患。以英语字母为例,a的出现频率大约是8%,所以可以给a分配8个不同的符号;字母b的出现频率大约为2%,所以给b分配2个不同的符号,以此类推。这样一来,如果每个字母都用自己分配好的一组符号来替换,则每个符号出现的频率全部约减低到1%,这就会使得频率分析法失效。不同字母的符号之间是不可以重复的,否则符号的频率就不能一致的减少到1%,而且也难以还原明文。通常来说,能供人使用的符号并没有那么多,很多人又不愿意去创造一批新符号,干脆就选择用数字代替符号,这样数字密码便开始多了起来。
可以简单这么来概括,字母替换加密系统是一种一对一的对应;维热纳尔加密系统是一种多对多的对应;而同音符号替换系统是一种一对多的对应。因此它的保密性比传统系统强,比维热纳尔系统弱。
同音符号替换系统虽然比传统系统安全了不少,但并非是不可破解的,我们可以在此演示一种破解的技巧。字母q的频率非常低,所以它一般只有一个对应符号,而q的后面通常只会跟着字母u,字母u的频率大约是3%,因此会有三个符号对应。如此一来,我们只要检索整个密文,从中找到某一个特定符号后面总是跟着三个符号之一的情况,那么就基本可以断定这几个符号就代表着q和u。