自从频率分析法出现后,单字母替换密码完全失去了效用。因此,密码编码者想
方设法去编一种更强大的密码。一些编码者对单字母替换密码做了一些改动,如
在编码过程中,加入一些特殊的字符,或者令一些字母不代表另一个字母,而是
代表一种程式,譬如是代表空格,代表删去前一个字母,代表换行等。但这一切
起的作用并不大,聪明的破译师仍然能在里面找到许许多多破译密码的线索。直
到有一天,佛罗伦萨的里昂巴蒂斯特·阿尔伯提提出了一种多字母替换密码,即
是用两个或两个以上的密码表交替使用来进行加密,如:
明码表 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
密码表1 Q W E R T Y U I O P A S D F G H K J L Z X C V B N M
密码表2 E K P R J B D N C V O U H T Y W Z X M L A S F I G Q
第一个密码表加密第一个字母,第二个密码表加密第二个字母,第一个密码表又
加密第三个字母,不断地重复......那么:
明文 F O R E S T
密文 Y Y J J L L
这样,按原来的方法进行频率分析就没有什么作用了。这只是两个密码表时的情
况,如果用三个,四个或以上的密码表后,破译就显得非常非常困难。即使是这
样,阿尔伯提未能把他的理念发展成一个完整的系统。这个任务当然由后人完成
了。经过几个人的努力,最后,维热纳尔终于将其完善了。他编出了一个系统而
有效的密码。那就是维热纳尔密码,其主要构成是维热纳尔方阵:
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
1 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
2 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
3 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
4 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
5 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
6 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
7 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
8 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
9 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
10 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
11 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
12 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
13 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
14 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
15 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
16 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
17 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
18 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
19 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
20 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
21 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
22 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
23 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
24 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
25 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
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
它的明码表后有26个密码表,每个表相对前一个发生一次移位。如果只用其中某
一个进行加密,那么只是简单的恺撒移位密码。但用方阵中不同的行加密不同的
字母,它就是一种强大的密码了。加密者可用第7行来加密第一个字母,再用第25
行来加密第二个字母,然后根据第8行来加密第三个字母等。
现在来试一下,就用关键词FOREST来加密Better to do well than to say well.
关键词 F O R E S T F O R E S T F O R E S T F O R E S T F O R
明 文 b e t t e r t o d o w e l l t h a n t o s a y w e l l
密 文 G S K X W K Y C U S O X Q Z K L S G Y C J E Q P J Z C
(看第5行,F开头,明文是b,要用G来加密;第14行,O开头,明文是e,要用S来
加密,如此类推......)
维热纳尔密码既克服了频率分析,又具有数目众多的密钥。发送者和接收者可使
用字典里任一个单词,或单词组合,或虚构的词作为关键词。它提供了很好的安
全保障,但它的复杂性,却令其等到19世纪才流行起来。不过,也是在19世纪,
查尔斯·巴比奇---一个性情古怪的天才将其破译了。让我们来看看解密的过
程:
首先,看看上篇文章中的一段:
关键词 F O R E S T F O R E S T F O R E S T F O R E S T F O R
明 文 b e t t e r t o d o w e l l t h a n t o s a y w e l l
密 文 G S K X W K Y C U S O X Q Z K L S G Y C J E Q P J Z C
其中,to两次都是被加密为YC,因为它两次都是用FO来进行加密,关键词正好轮
回了两次,巴比奇意识到这种重复正是征服维热纳尔密码的突破点。那么说,破
译的第一步就是寻找密文中出现超过一次的字母。有两种情况可能导致这样的重
复发生。最有可能的是明文中同样的字母序列使用密钥中同样的字母加了密;另
外还有一种较小的可能性是明文中两个不同的字母序列通过密钥中不同部分加了
密,碰巧都变成了密文中完全一样的序列。假如我们限制在长序列的范围内,那
么第二种可能性可以很大程序地被排除,这种情况下,我们多数考虑到4个字母或
4个以上的重复序列。如下面的密文:
I S W Z P N Q C K M Y Y Y J K A Y Y E Z F F S W E E S S P G Z X Q A H F
I S W Z P N Q C K M T V Y J O A C V E H A E S A Z R L T P Q I Z M X O T
Q S W M C V U D S I J G G D E U W A Z R S F X W I L K U E J Q L D A C B
G D L Y J X M Y L M D Q K Z M P L D I L Q E M W F S W D P A Z E Z Q N W
D Y W D Z X F S A E E A Z J D U E L V P T M C E K W S E E F U R Z F S W
D P X A C Q A F K M X W A W V E Z F S D B G D L A Y U Q X G D P E K W S
E E F U R Z F S W D P O U E Z K Z M Y L Q N P Q Q D E M J T Q Y G U V A
Z O G R W A W P V U E Q A F J Q J G G C O M J Z A H Q A F K T J D K A D
M N W P J G G C W K P K A Y E Q Z Z P T V K Z M Q G W D V F A H L T L L
U S S P X A Z P G Z J G G O S D W A Z R K A E Z Q C W K Z M M C W I T L
T E Z M E D A Z C A Y Q A F J R L U Q L K U Q Q A F J Q Y W H P J T F J
F L K U Q Q A F J Q Y W H P J P Z O Z D Z M W D U M W F S W A Y W R Z J
K Z M I S G B T F O S E E J G G D G R E D K M M F D M D P A R Q J A H F
U D K T Z O Z E Z Q Y A I T D X V F A H L T L L K Z M M C W Z Z V D P S
Y P J
在里面重复序列有I S W Z P N Q C K M,B G D L,S E E F U R Z F S W D P,
J G G C,L K U Q Q A F J Q Y W H P J,V F A H L T L L等;
破译的第二步是确定密钥的长度,又看看这一段先:
关键词 F O R E S T F O R E S T F O R E S T F O R E S T F O R
明 文 b e t t e r t o d o w e l l t h a n t o s a y w e l l
密 文 G S K X W K Y C U S O X Q Z K L S G Y C J E Q P J Z C
第一个YC出现后到第二个YC的结尾一共有12个字母(U S O X Q Z K L S G Y C)
那么密钥的长度应是12的约数---1,2,3,4,6,12之中的一个(其中,1可
排除)。那么,再回到上面的密文:
重复序列 重复间隔 密钥的可能长度
I S W Z P N Q C K M 36 2 3 4 6 9 12 18 36
B G D L 93 3 31
S E E F U R Z F S W D P 45 3 5 15
J G G C 24 2 3 4 6 12 24
L K U Q Q A F J Q Y W H P J 18 2 3 6 9 18
很明显,每个重复间隔都能被3整除,关键词应该有三个字母。
下一步,仍旧是频率分析,不过,因为关键词有三个字母,我们应分为三组进行
。把第1,4,7,10,13......个字母分为一组,称之为L1,把第2,5,8,11,
14......个字母又分为一组,称之为L2,余下的归另一组,称之为L3。那么每一
组有169个字母。
4┣┃┃ ┏┫┃ ┃┃┃ ┏┓┃┃┃ ┃┃┃┃
┃┃┃┏┫┃┃ ┃┃┃ ┃┃┃┃┃ ┃┃┃┣┓
2┣┃┣┫┃┃┣┳┫┃┃ ┃┣┫┃┣┓┃┃┃┃┃┏┓┏┓
┃┃┃┃┃┃┃┃┃┃┃┏┫┃┃┃┃┃┃┃┃┃┣┫┃┃┃
0┗┻┻┻┻┻┻┻┻┻┻┻┻┻┻┻┻┻┻┻┻┻┻┻┻┻┻━
ABCDEFGHIJKLMNOPQRSTUVWXYZ
可以确定关键词的第二个字母是L。
最后,用同样的方法可确定关键词的第三个字母是S。
至此,得到整个关键词是MLS。
再用维热纳尔方阵将密文翻译过来,得到明文:
Whenever sang my songs
On the stage on my own
Whenever said my words
Wishing they would be heard
I saw you smiling at me
Was it real or just my fantasy
You'd always be there in the corner
Of this tiny little bar
My last night here for you
Same old songs just once more
My last night here with you
Maybe yes maybe no
I kind of liked it you're your way
How you shyly placed your eyes on me
Oh did you ever know
That I had mine on you
Darling so there you are
With that look on your face
As if you're never hurt
As if you're never down
Shall I be the one for you
Who pinches you softly but sure
If frown is shown then
I will know that you are no dreamer
下面放出练习吧:
1
PYMPSIZCMTVEEEOVSDAJNKSDPYMZVVABNHV
CAZANVVBLVGCYQYQGEEYZMGXXNVMVICARZG
MECNILGFJJQWIIAUTXMJQIMMLVUNIEOVZRZ
HYEZUQLGLOJQGKGDZTHWFLYGHVGWZVMMECG
WKXIWZBLSISFZDMECKPKSLCYBAIKDVWKMVO
FNZIFIVBKC
2.K Q O W E F V J P U J U U N U K G L M E K J I N M W U X F Q M K J B G
W R L F N F G H U D W U U M B S V L P S N C M U E K Q C T E S W R E E K
O Y S S I W C T U A X Y O T A P X P L W P N T C G O J B G F Q H T D W X
I Z A Y G F F N S X C S E Y N C T S S P N T U J N Y T G G W Z G R W U U
N E J U U Q E A P Y M E K Q H U I D U X F P G U Y T S M T F F S H N U O
C Z G M R U W E Y T R G K M E E D C T V R E C F B D J Q C U S W V B P N
L G O Y L S K M T E F V J J T W W M F M W P N M E M T M H R S P X F S S
K F F S T N U O C Z G M D O E O Y E E K C P J R G P M U R S K H F R S E
I U E V G O Y C W X I Z A Y G O S A A N Y D O E O Y J L W U N H A M E B
F E L X Y V L W N O J N S I O F R W U C C E S W K V I D G M U C G O C R
U W G N M A A F F V N S I U D E K Q H C E U C P F C M P V S U D G A V E
M N Y M A M V L F M A O Y F N T Q C U A F V F J N X K L N E I W C W O D
C C U L W R I F T W G M U S W O V M A T N Y B U H T C O C W F Y T N M G
Y T Q M K B B N L G F B T W O J F T W G N T E J K N E E D C L D H W T V
B U V G F B I J G Y Y I D G M V R D G M P L S W G J L A G O E E K J O F
E K N Y N O L R I V R W V U H E I W U U R W G M U T J C D B N K G M B I
D G M E E Y G U O T D G G Q E U J Y O T V G G B R U J Y S