9 (第1/2页)
自从频率分析法出现后,单字母替换密码完全失去了效用。因此,密码编码者想方设法去编一种更强大的密码。一些编码者对单字母替换密码做了一些改动,如在编码过程中,加入一些特殊的字符,或者令一些字母不代表另一个字母,而是代表一种程式,譬如是代表空格,代表删去前一个字母,代表换行等。但这一切起的作用并不大,聪明的破译师仍然能在里面找到许许多多破译密码的线索。直到有一天,佛罗伦萨的里昂巴蒂斯特•阿尔伯提提出了一种多字母替换密码,即是用两个或两个以上的密码表交替使用来进行加密,如:
明码表ABCDEFGHIJKLMNOPQRSTUVWXYZ
密码表1QWERTYUIOPASDFGHKJLZXCVBNM
密码表2EKPRJBDNCVOUHTYWZXMLASFIGQ
第一个密码表加密第一个字母,第二个密码表加密第二个字母,第一个密码表又加密第三个字母,不断地重复......那么:
明文FOREST
密文YYJJLL
这样,按原来的方法进行频率分析就没有什么作用了。这只是两个密码表时的情况,如果用三个,四个或以上的密码表后,破译就显得非常非常困难。即使是这样,阿尔伯提未能把他的理念发展成一个完整的系统。这个任务当然由后人完成了。经过几个人的努力,最后,维热纳尔终于将其完善了。他编出了一个系统而有效的密码。那就是维热纳尔密码,其主要构成是维热纳尔方阵:
abcdefghijklmnopqrstuvwxyz
1BCDEFGHIJKLMNOPQRSTUVWXYZA
2CDEFGHIJKLMNOPQRSTUVWXYZAB
3DEFGHIJKLMNOPQRSTUVWXYZABC
4EFGHIJKLMNOPQRSTUVWXYZABCD
5FGHIJKLMNOPQRSTUVWXYZABCDE
6GHIJKLMNOPQRSTUVWXYZABCDEF
7HIJKLMNOPQRSTUVWXYZABCDEFG
8IJKLMNOPQRSTUVWXYZABCDEFGH
9JKLMNOPQRSTUVWXYZABCDEFGHI
10KLMNOPQRSTUVWXYZABCDEFGHIJ
11LMNOPQRSTUVWXYZABCDEFGHIJK
12MNOPQRSTUVWXYZABCDEFGHIJKL
13NOPQRSTUVWXYZABCDEFGHIJKLM
14OPQRSTUVWXYZABCDEFGHIJKLMN
15PQRSTUVWXYZABCDEFGHIJKLMNO
16QRSTUVWXYZABCDEFGHIJKLMNOP
17RSTUVWXYZABCDEFGHIJKLMNOPQ
18STUVWXYZABCDEFGHIJKLMNOPQR
19TUVWXYZABCDEFGHIJKLMNOPQRS
20UVWXYZABCDEFGHIJKLMNOPQRST
21VWXYZABCDEFGHIJKLMNOPQRSTU
22WXYZABCDEFGHIJKLMNOPQRSTUV
23XYZABCDEFGHIJKLMNOPQRSTUVW
24YZABCDEFGHIJKLMNOPQRSTUVWX
25ZABCDEFGHIJKLMNOPQRSTUVWXY
26ABCDEFGHIJKLMNOPQRSTUVWXYZ
它的明码表后有26个密码表,每个表相对前一个发生一次移位。如果只用其中某一个进行加密,那么只是简单的恺撒移位密码。但用方阵中不同的行加密不同的字母,它就是一种强大的密码了。加密者可用第7行来加密第一个字母,再用第25行来加密第二个字母,然后根据第8行来加密第三个字母等。
现在来试一下,就用关键词FOREST来加密Bettertodowellthantosaywell.
关键词FORESTFORESTFORESTFORESTFOR
明文bettertodowellthantosaywell
密文GSKXWKYCUSOXQZKLSGYCJEQPJZC
(看第5行,F开头,明文是b,要用G来加密;第14行,O开头,明文是e,要用S来加密,如此类推......)
维热纳尔密码既克服了频率分析,又具有数目众多的密钥。发送者和接收者可使用字典里任一个单词,或单词组合,或虚构的词作为关键词。它提供了很好的安全保障,但它的复杂性,却令其等到19世纪才流行起来。不过,也是在19世纪,查尔斯•巴比奇---一个性情古怪的天才将其破译了。让我们来看看解密的过程:
首先,破译的第一步就是寻找密文中出现超过一次的字母。有两种情况可能导致这样的重复发生。最有可能的是明文中同样的字母序列使用密钥中同样的字母加了密;另外还有一种较小的可能性是明文中两个不同的字母序列通过密钥中不同部分加了密,碰巧都变成了密文中完全一样的序列。假如我们限制在长序列的范围内,那么第二种可能性可以很大程序地被排除,这种情况下,我们多数考虑到4个字母或4个以上的重复序列。
破译的第二步是确定密钥的长度,又看看这一段先:
关键词FORESTFORESTFORESTFORESTFOR
明文bettertodowellthantosaywell
密文GSKXWKYCUSOXQZKLSGYCJEQPJZC
第一个YC出现后到第二个YC的结尾一共有12个字母(USOXQZKLSGYC)
那么密钥的长度应是12的约数---1,2,3,4,6,12之中的一个(其中,1可排除)。
如下面的密文:
ISWZPNQCKMYYYJKAYYEZFFSWEESSPGZXQAHF
ISWZPNQCKMTVYJOACVEHAESAZRLTPQIZMXOT
(本章未完,请点击下一页继续阅读)