友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!阅读过程发现任何错误请告诉我们,谢谢!! 报告错误
3C书库 返回本书目录 我的书架 我的书签 TXT全本下载 进入书吧 加入书签

破译-第20章

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!




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

历史上以维吉尼亚密表为基础又演变出很多种加密方法,其基本元素无非是密表与密钥,并一直沿用到二战以后的初级电子密码机上。

公元十六世纪晚期,想要获得更高的保密度的人获得了一种设计更加精细的密码表。
 
法国外交家Blaise de Vigenè re发明了一种方法来对同一条信息中的不同字母用不同的密码进行加密。这样,同样的E在一个位置可能被M所取代,而在另一个位置的E则有可能以K的面目出现。这样,就可以防止任何人利用频率分析法解密该条信息。

在维吉尼亚密码中,发件人和收件人必须使用同一个关键词(或者同一文字章节),这个关键词或文字章节中的字母告诉他们怎么样才能前后改变字母的位置来获得该段信息中的每个字母的正确对应位置。比如如果关键字“BIG”被使用了,发件人将把信息按三个字母的顺序排列。第一个三字母单词的第一个字母将应当向前移动一个位置(因为B是排在A后面的字母),第二个字母需要向后移动八位(I是A后面第八个字母),而第三个字母需要向前移动六位(G是A后面第八个字母)。然后,文字就可以按下面的顺序来进行加密了:

未加密文字:THE BUTCHER THE BAKER AND THE CANDLESTICK MAKER。(屠夫、面包师和蜡烛匠)。

关键密钥:BIG BIGB IGB IGBIG BIG BIG BIGBIGBIGBIGBI GBIGB

加密文字:UPK CCZDPKS BNF JGLMX BVJ UPK DITETKTBODS SBSKS

如果知道“BIG”就是密钥,收件人就可以很容易地通过相应的位置改变字母位置,从而译出经过加密的文字。

自从频率分析法出现后,单字母替换密码完全失去了效用。因此,密码编码者想方设法去编一种更强大的密码。一些编码者对单字母替换密码做了一些改动,如在编码过程中,加入一些特殊的字符,或者令一些字母不代表另一个字母,而是代表一种程式,譬如是代表空格,代表删去前一个字母,代表换行等。但这一切起的作用并不大,聪明的破译师仍然能在里面找到许许多多破译密码的线索。直到有一天,佛罗伦萨的里昂巴蒂斯特·阿尔伯提提出了一种多字母替换密码,即用两个或两个以上的密码表交替使用来进行加密,如:

明码表 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

这样,按原来的方法进行频率分析就没有什么作用了。这只是两个密码表时的情况,如果用三个、四个或以上的密码表后,破译就显得非常非常困难。即使是这样,阿尔伯提未能把他的理念发展成一个完整的系统。这个任务当然由后人完成了。经过几个人的努力,最后,维吉尼亚终于将其完善了。他编出了一个系统而有效的密码,那就是维热纳尔密码,其主要构成是维吉尼亚方阵:
 
它的明码表后有二十六个密码表,每个表相对前一个发生一次移位。如果只用其中某一个进行加密,那么只是简单的恺撒移位密码。但用方阵中不同的行加密不同的字母,它就是一种强大的密码了。加密者可用第七行来加密第一个字母,再用第二十五行来加密第二个字母,然后根据第八行来加密第三个字母等。

现在来试一下,就用关键词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

(看第五行,F开头,明文是b,要用G来加密;第十四行,O开头,明文是e,要用S来加密,如此类推……)

维热纳尔密码既克服了频率分析,又具有数目众多的密钥。发送者和接收者可使用字典里任一个单词,或单词组合,或虚构的词作为关键词。它提供了很好的安全保障,但它的复杂性,却令其等到十九世纪才流行起来。很多年以来,维吉尼亚密码都被认为是不可破解的。不过,也是在十九世纪,查尔斯·巴贝奇——一个性情古怪的天才将其破译了。让我们来看看解密的过程:

这个人也因为其在计算机科学领域方面所进行的先锋性工作而被世人所熟悉。巴贝奇(Babbage)通过寻找重复的字母段破解了这个密码系统。当然,维热纳尔密码的优势在于这种密码被假定为它将不同位置的字母进行不同的加密。比如同一段文字中的“THE”可能在前面表现为“UPK”,但在后面则被表现为“BNF”。同样,像“AKER”这样的字母也会被进行不同的加密。但是,第一个和第三个“THE”都会被编码为“UPK”。第一个“THE”中的“T”会用“B”来进行编码,而第三个“THE”中的“T”也同样是用“B”来编码。发生这种情况是因为第三个“THE”是排在第一个“THE”后面第二十一个字母,而三字密钥BIG会在重复七次之后又回到了最开始。在任何比密钥要长得多的加密信息中,都会不可避免地出现类似这样的重复。而一个解密者应该如何才能揭示加密文件的真正面目呢?比如,如果加密文字“UPK”出现了两次,中间隔着21个字母,那么他就可以推断出密钥的长度是21的整除数。或者换种说法,他可以推断出21是密钥的倍数。(约数或称除数是一个数字被除之后不会有余数。比如21的除数就是1、3、7和21。)如果获得了足够多类似的线索,解密者就可以知道密钥的确切长度。一旦他知道了密钥长度,他就可以对加密信息进行日常频率分析。注意,数学在解密工作中总是放在首位的:解密者首先会计算出密钥的长度,这步工作甚至是在他要考虑密钥的具体内容是什么之前所要做的。

巴贝奇的独具创意的技巧开创了一片密码术的新天地,并且将数学工具引入到了以前被认为专属于文字学的领域之中。即使一种编密码系统没有明确地使用数学,但其中隐藏的格式却通常需要以数学的方式进行整理。
 
之后又过了九年,在一八六三年,一位业余数学爱好者、时年五十八岁的普鲁士退役炮兵少校弗里德里希·卡西斯基(Friedrich Kasiski)出版了一本小册子,名字叫《密写和破译的艺术》(Die Geheimschriften und die Dechiffrierkunst)。简单描述一下它的原理:被加密方指定的这个数列,也就是密钥,在实践中不可能是无限长的;在通常情况下,它的长度不仅不会超过明文长度,甚至往往还相当短——在斯维提斯的例子中,密钥“Emily”的长度是五位,也就是说,每加密五个明文字母,就要循环使用“Emily”,对后面的明文字母继续加密。

“循环使用密钥进行加密”——整个多表替代的破绽和死穴,也正在这里。

首先,破译的第一步就是寻找密文中出现超过一次的字母。有两种情况可能导致这样的重复发生。最有可能的是明文中同样的字母序列使用密钥中同样的字母加了密;另外还有一种较小的可能性是明文中两个不同的字母序列通过密钥中不同部分加了密,碰巧都变成了密文中完全一样的序列。假如我们限制在长序列的范围内,那么第二种可能性可以很大程度地被排除,在这种情况下,我们多数考虑到四个字母或四个以上的重复序列。

破译的第二步是确定密钥的长度,先看看这一段:

关键词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个字母(USOXQZKLSGYC),

那么密钥的长度应是12的约数——1,2,3,4,6,12之中的一个(其中,1可排除)。

如下面的密文:

ISYYYJKAYYEZFFSWEESSPGZXQAHF

ISTVYJOACVEHAESAZRLTPQIZMXOT

QSWMCVUDSIJGGDEUWAZRSFXWILKUEJQLDACB

GDLYJXMYLMDQKZMPLDILQEMWFSWDPAZEZQNW

DYWDZXFSAEEAZJDUELVPTMCEKWSEEFURZFSW

DPXACQAFKMXWAWVEZFSDBGDLAYUQXGDPEKWS

EEFURZFSJTQYGUVA

ZOGRJZAHQAFKTJDKAD

MNQGWDVFAHLTLL

USSPXAZPGZJGGOSDCWITL

TEZMEDAZCAYQAFJRLUQLKUQQAFJQYWHPJTFJ

FLKUQQAFJQYWHPJPZOZDZMWDUMWFSWAYWRZJ

KZMISGBTFOSEEJGGDGREDKMMFDMDPARQJAHF

UDKTZOZEZQYAITDXVFAHLTLLKZMMCWZZVDPS

YPJ

在里面重复序列有IS,BGDL,SEEFURZFSWDP,JGGC,LKUQQAFJQYWHPJ,VFAHLTLL等;

如果每个重复间隔都能被3整除,关键词应该有三个字母。

下一步,仍旧是频率分析,不过,因为关键词有三个字母,我们应分为三组进行。把第1,4,7,10,13……个字母分为一组,称之为L1,把第2,5,8,11,14……个字母又分为一组,称之为L2,余下的归另一组,称之为L3。那么每一组有169个字母。

现在先做一个标准频率分布表:

用169乘以各个字母的标准百分比,如字母A,169×8。2%=14。

那么由标准频率:

A:8。2 N:6。7

B:1。5 O:7。5

C:2。8 P:1。9

D:4。3 Q:0。1

E:12。7 R:6。0

F:2。2 S:6。3

G:2。0 T:9。1

H:6。1 U:2。8

I:7。0 V:1。0

J:0。2 W:2。4

K:0。8 X:0。2

L:4。0 Y:2。0

M:2。4 Z:0。1

得到标准个数:

A:14 N:11

B:3 O:13

C:5 P:3

D:7 Q:0

E:21 R:10

F:4 S:11

G:3 T:15

H:10 U:5

I:12 V:2

J:0 W:4

K:1 X:0

L:7 Y:3

M:4 Z:0

然后,统计L1的169个字母出现的次数,有:

A:22 N:1

B:1 O:1

C:0 P:5

D:10 Q:16

E:10 R:5

F:9 S:2

G:7 T:7

H:2 U:14

I:9 V:1

J:0 W:1

K:11 X:2

L:0 Y:5

M:14 Z:14
 
又做出L1的图表(histogram),与标准图表对比一下。标准频率和L1的频率都有峰值、平稳期和低谷。它们之间的区别在于相互错开了一些位置,比较两者应该可以寻找出最显着的特征。例如,看L1图表中A~F这一段,A的峰值过后是低谷,特别是C没有出现,然后是一段平稳期,这与标准频率中的O~T这一段相像;标准频率中,O的前面I~N这一段和L1中U~Z一段也大致吻合;又看看,L1中,J和L的缺失应该就是标准频率中X和Z的缺失,M~Q这一段应该就是标准频率中A~E这一段。这就暗示着L1的密码表是由M,N,O,P……开始的。把L1的图表向左平移十二个单位再与标准频率对比,整体来说差不多。由此可知,关键词的第一个字母是M。(注意,一些误差是在所难免的,如K替换Y,两图表比较起来好像不很符合,但整体来说是差不多的,我们就可忽略过去。)

继续下来,统计L2中169个字母出现的次数,可以确定关键词的第二个字母是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 
返回目录 上一页 下一页 回到顶部 0 0
未阅读完?加入书签已便下次继续阅读!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!