西西河

主题:【原创】密码传奇(一)、11:凭这手气,摸个十三幺的天和简直跟玩儿一样! -- 1001n

共:💬22 🌺59
全看分页树展 · 主题
家园 【原创】密码传奇(一)、11:凭这手气,摸个十三幺的天和简直跟玩儿一样!

--------------------------------------------------------

写到这里,本来几百字就能说个大概的密码故事,已经被1001n同志活活抻成了几万字的超级长寿面……老实说,自己都不好意思了。那么赶紧的,开始介绍这个故事最高潮的一幕吧。。。

------------------------------------------------------------------------------------------

上文说到,福煦正在为猜测鲁登道夫的想法而大大地犯愁。作为协约国的最高统帅,他福煦手里可没有那么多预备队兵力,能让他象撒棒子面一样地挥霍到每个可能的战场上去。那么,鲁登道夫,他到底要在哪里动手?

整个协约国最高统帅部,这几天一直都被郁闷的气氛包围着。这个谜猜不透,猜不对,等待着协约国的,或许就是败亡的命运。。。

而上文也提到:在一战的西线,协约国和同盟国的密码战中,法国人的运气总是好得出奇――这个福煦怎么也猜不出的谜,居然要靠德国人自己来揭密了!

现在,就让我们转回头去,来看看密码的故事吧……

自从3月21日ADFGX被启用以来,德军对它的评价,其实还是相当不错的。而前文早已提到,Painvin仅仅用了十多天就破译了这个密码;既然这么不安全,德军自己怎么还这么满意呢?

其实说穿了,这个原因也很简单;作为一个战地密码,一般要符合以下三个条件:

培训简单,上手容易;

操作过程快捷方便;

理论上难以破解。

ADFGX/ADFGVX恰恰符合这三条。

当然,德国人对ADFGX满意,那也是因为不知道协约国已经破掉了它;看上去的“难以破解”这次又蒙住了德国人的眼睛――而这样的错误,将来在ENIGMA上,他们还要再犯一次。。

当然,满意归满意,疑神疑鬼的德国人还是不太放心,这才在6月1日启用了ADFGVX。

这个时候,德国人对这个新密码的信任程度已经达到最高了:毕竟,它是从ADFGX脱胎而来,现在又变得更“复杂”了,――那当然就更安全了。

对于这个逻辑,1001n实在忍不住要评点一下。那就是,

如果某一种密码体系,仅仅是模样变得更“复杂”,而不是让整体加密机制变得更复杂的话,那么由此带来的安全性的增长,比起原密码的安全性来说,只能是量的改变而不可能是质的飞跃

而这样的简单增长,对整个密码的安全性贡献程度应该是极小的。特别是在该密码加密机制已经被对手洞悉的前提下,如此增长的所谓安全性只能是自欺欺人。

ADFGVX的方表比“极为牢固”的ADFGX又多出了11个字符,因此也就更“安全”了――至少,德国人是这么认为的。

于是,因为盲目轻信自己的密码坚不可破,德国人犯了一个令人感觉匪夷所思的错误;这个错误说起来很小,但是却直接违反了密码使用上最最根本的原则。

6月1日,ADFGVX启用;6月2日19时,Painvin得到了德军6月1日的初始方表和移位表序列,ADFGVX被破――这些1001n已经不知道叨唠多少遍了――但是1001n始终没提的是:6月1日这一天的方表和移位表,德国人在6月2日在用,一点儿也没改动;换言之,ADFGVX的密钥,两天没有变了。

到了6月3日,在用!

“一文一密”做不到也就算了,毕竟是实际应用,可以稍微放宽点儿。

而现在,德国人连“一天一密”,这个战地密码最最起码的底线也放心地丢掉了!

---------------------------------------------------------------------------------------------

6月3日清晨,Painvin的同事吉塔尔(有资料说是Painvin的下级),突然出现在协约国军队总部,美滋滋地挥舞着一份刚刚被破掉的德军电文。

这份密电,是由德军统帅部在6月3日04时30分发往DIC电台的。它的长度是126个字母,也就顺理成章地被命名为CHI-126,内容如下:

CHI-126

FGAXAXAXFFFAFFAAVDFAGAXFXFAAAGDXGGXAGXFDXGAGXGAXGXAGXVFVXXAGXFDAXGDAAFDGGAFFXGGXXDFAXGXAXVAGXGGDFAGDGXVAXXFXGVFFGGAXDGAXA

上两次破译的时候,都有两份甚至三份电文可以互相对照着分析。大伙也许会有个疑问:这次,密文只有一份,怎么可能破的开?你1001n不是说过,“单一密文理论上无解”么?

但是那句话还有一个前提,也就是“在没有任何信息提示的前提下”;如果有了信息提示,甚至不止是信息提示,情况可就完全不一样了――好,让我们继续看故事吧。

吉塔尔看着这份电文,也没什么好办法。不过他想起来,Painvin在6月2日19时破掉ADFGVX以后,已经把破译出来的原始方表和移位表上交给了总部;而这些,他都有。

可问题是,今天已经是6月3日了,6月1日的密钥还能用么?――德国人会有那么傻?不可能吧。。

但是,除了这个,吉塔尔又确实没有别的现成办法。得,死马当活马医,试一把算了――反正破不出来才叫正常。。

按照破译ADFGVX的流程,吉塔尔先对CHI-126进行了分段。

看到这里,有细心的兄弟又会说了:他手里就一份电文,怎么个分法啊?过去对密文分段,那都是两份电文对比出相同密文字母组,才能根据这个同样的密文字母组,来对密文本身一一分段啊。而现在根本没有比对的对象,如何确定这个“相同密文字母组”?

实际上,我也有这个疑问。而关于这个问题,各种资料上都没提过。不过,资料上没提不等于自己不能分析;这里也索性扯开了说一句吧。

如果说写这个密码故事,对1001n本人有什么助益的话,那就是:彻底养成了一个DIY的习惯。这个DIY倒不是自己攒电脑的那个DIY,虽然也是“Do it yourself”;我看,在这里还是翻译成“把所有问题都自己扛”更加合适――别人不说,咱们自己试着来。毕竟,整个过程有初始条件,有最终结果,中间的过程自然应该多多少少是可以分析出来的。

而我根据最终结果,判断出了吉塔尔的办法;说穿了,其实也很简单:那就是从头开始,使用典型的五五密文字母组,对全文进行分段;一直分到最后剩下的字母不够五个的时候,把这最后几个字母作为最后一个密文段,为止。

稍微体会一下就能明白,这是个不得已的办法;其实啊,――完全就是在瞎蒙。。

为什么说这么做是瞎蒙呢?原因很简单:风险太大――在没有另一份电文做对照的前提下,直接用五五分段对全文进行处理,极有可能错的一塌糊涂;吉塔尔怎么知道这里面不会暗藏几个六字母长的密文段呢?前文提过的CHI-110和CHI-104里,可都是有不规则出现的六字母密文段啊。

而只要出现一个六字母密文段,从该密文段开始的所有密文分段,必然就都是错的;特别是,这个六字母段出现的位置越靠前,后面的错误就会越多。而密文段都分错了,那脱密的结果能是对的么?这电文还能看明白么?

――可就是这么寸,要不怎么说法国人运气好的出奇呢:德国人偷懒不改密钥,给协约国密码分析人员节约时间也就算了;偏偏这份被截获的密文CHI-126,按五五分段处理全文,又恰恰是完全正确的!

这里,把这份被幸运地分好段的电文罗列如下:

CHI-126

FGAXA XAXFF FAFFA AVDFA GAXFX FAAAG DXGGX AGXFD XGAGX GAXGX AGXVF VXXAG XFDAX GDAAF DGGAF FXGGX XDFAX GXAXV AGXGG DFAGD GXVAX XFXGV FFGGA XDGAX A

可以看到,这126个密文字母乖的要死,还真就是老老实实组成了26个密文段;其中,前25个密文段的长度,清一色都是5。也就是说:五五分段,一分不多一分不少,正合适!

真不知道这位吉塔尔先生这辈子打没打过麻将;如果打过,凭这手气,摸个十三幺的天和简直跟玩儿一样!

--------------------------------------------------------------------------------------------

密文段分好了,接着就该对移位表和方表加密进行解破了。吉塔尔根据Painvin破解出来的密钥,试探着对CHI-126进行了反移位和反替换的工作。老天注定他是个赢家,第二局,他又起手一个天和――两步下来,一份明显是德语的明文,居然被他复原出来了:

munitionierungbeschleunigenpunktsoweitnicuteingesehenauchbeitag

把单词分开,并且适当修改大小写,结果就成了

Munition-ierung beschleunigen Punkt Soweit nicut eingesehen auch bei Tag

其中,nicut应该是译电员的手误,原文应是nicht。

用现在河里各位英语大拿的习惯语言翻译一下,就是

Rush Munitions Stop Even by day if not seen

再转换成中文

赶运弹药,不被发现(的话)白天也运

――就这么十二个字,成为了协约国军队战场态势的一道分水岭!

一份不过是要求加快弹药运送的电报,会有这么严重么?……

实话说,1001n扯了那么多的前文特别是历史附注,其实多少都是在为这句电文做注解――密码的威力,只有在特定的历史时期,和特定的历史环境下才能发挥到最大;而这句电文的破译时机,恰恰就处在这么一个节骨眼儿上。

这里就得稍微解释一下了。有种运动叫“无线电测向”,不知道兄弟们玩过没有?反正1001n是没玩儿过,只听某个女同学说过,她当年在中学的时候特喜欢这个“群众性体育项目”。一问之下,原来就是自己拿个测向机,去找埋伏在山沟、公园、街边……等处的无线电发射机的位置。

从规则上说,整个场地不能太小,不超过1公里乘1公里就好;里面呢,按规定是埋伏着3个发射机。严格的比赛,要分为定点赛和搜索赛;由于本文毕竟不是专门讨论这些的,也就简单说这么多吧。

怎么找呢?说起来倒并不复杂:测向机上有个垂直天线,可以接收到发射机不断发出的信号。根据无线电原理可以知道,这根垂直天线棍如果指着天,那么接收到的信号质量应该最好,头上戴的耳机里声音也就越大。但是,我们不是要听响儿的――在比赛的兄弟手中,这天线棍都象把小刺刀似的,跟地面平行着指着某个方向,而且还左右晃个没完。

这么一来,如果天线棍儿晃着晃着,正好一下指到了发射机的方向,则接收到的信号就最差;表现在耳机里,就是整个世界突然清静了……

一旦耳机里清静了,那就什么也别想了,撒腿朝天线棍儿指的方向跑吧――这是比赛啊,可不是就你一个人在找,而是所有参赛的人都在找呐,谁先找到谁分儿就高啊。。。

――所以后来当1001n表现出一些高科技崇拜的表情时,该女生的回答是:什么高科技,整个就是跑步比赛,跑都能跑死人。。

以上说的,就是发端于一战末期并风靡整个世界的无线电测向运动。刚才介绍的,只是这个运动的原理;具体细节上可能有所不同,而咱们,不过就是拿这个原理说事儿而已。

可惜的是,奥运会没这个项目,于是,咱们国家对它也是不怎么重视――拿不了奥运金牌的比赛,发展它干嘛?搞到八运会的时候,这个项目也被取消了;这么一来连全运会的金牌也没得了,各地体育部门发展它的动力就更小了。。

……实在扯的太远了,我本来想说什么来着?

哦对了,无线电测向。。。

元宝推荐:ArKrXe,

本帖一共被 2 帖 引用 (帖内工具实现)
全看分页树展 · 主题


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河