西西河

主题:【原创】密码传奇(一):7、Painvin对这两份电文的分析只能就此止步了 -- 1001n

共:💬29 🌺42 新:
全看树展主题 · 分页首页 上页
/ 2
下页 末页
家园 【原创】密码传奇(一):7、Painvin对这两份电文的分析只能就此止步了

呵呵,前几天的篇外历史附注估计把大家的脑袋都给活活看大了。唉,想完全理解一段历史,真是难啊……为了避免把密码故事写成第一次世界大战西线战争史(我倒¥#%),现在开始,继续讲述本章密码故事最压轴的部分。

同时,以前每篇的长度实在是太……长了,非有极强定力,真是无法一口气读完。从现在开始,二话不说,该截就截,力争让兄弟们看完一篇以后,不会再次发出“看的辛苦死了”这样的评价……呵呵,说归说,估计我这水准,还是得把大伙累个半死――咋办ni?尽量搞生动一点吧。。。

在这里,再次对等待故事结尾的众多兄弟致以诚挚的谢意,和由衷的抱歉,让大家久等了!

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

历经数万字的铺垫,我们的主人公极为牛叉的破解故事终于该闪亮登场了……

现在的时间是1918年6月1日,正是西线德军连续五次战役中的第三次战役,埃纳河战役进行到第六天的时候。

在这一天,鲁登道夫又指挥15个德军师发动了进攻。这一回,德军的前线锋芒已经越过法军阵地,直扑马恩河――现在他们离巴黎的距离,最近的地方只有不到50公里了。

还在这一天,德军升级了他们的战地密码;如前所述,ADFGX被ADFGVX所取代。德军这么做原因并非是得知自己的密码已经被破,而不过是一个希望更加保险的手段而已。

而很快我们就能看到,德军对ADFGVX实在是太自信了,以至于犯下了根本无可原谅的错误。而最后,这个错误完全毁了他们自己。

协约国这边也忙的一塌糊涂。不管军事行动了,咱们单说这破译密码的部分吧。

29岁的陆军中尉Georges Painvin从当天17时,也就是德军发起进攻后十个小时后,开始对截收到的德军密电进行密码分析。回想4月1日他的分析过程,我们可以知道:他现在急需如4月1日那两份报头和报尾相同的电报。没有这个,他的分析就无法进行――连天书般的密文都无法分段,还谈什么破解?

(注:这里看不明白的兄弟,恐怕得回头复习一下前文,也就是密码传奇(一):5、重压之下的超一流天才破解链接出处对Painvin破解ADFGX的描述了,呵呵。不愿意看那些让人痛苦的分析过程而又要理解本篇的内容,难度确实比较大。为了照顾那些跟我一样实在不想再痛苦一次的兄弟,这里也做个提示吧:

1、找出长度相同、内容非常近似的报文;

2、对比两份电文的报头,方法是将电文报头完整列出,第一行是第一份电文,第二行是第二份;要求完全对齐;

3、找出上下两行中完全相同的字母组,并以此为指标,一段段将密文分段;

4、密文段的数量就是移位表的密钥数字长度,也就是移位表的宽度;

5、长的密文段和短的密文段,分别对应移位表的长列和短列;

6、因为移位表是从左至右书写的,所以,长密文段必然在表的左边,短密文段必然在右边;

7、每个密文段都有编号,那么对于两份密电来讲,同一编号对应的密文段,则会出现三种情况:

a:同长;

b:同短;

c:有长有短。

8、以这个标准,将密文段的编号归入三个集合;

9、以上是对报头的分析结果。对报尾进行步骤2-8的完全相同的操作,又得到三个集合;

10、将分析报头得到的三个集合和分析报尾得到的三个集合取交集,得到最多九个集合(上文中,有4个是空集,只有5个非空的集合用的上);

11、根据以上9个集合的本来涵义,归纳出密文段编号的次序;

12、借助这个次序,将密文段一个个按顺序纵向列出;虽然很多还不能确定先后次序的密文段,但是所有密文段的大致次序都被确定了;

13、至此,移位加密被初步破解完毕;

14、使用频率分析的方法,在所有密文中寻找特定的字母组合,以确定被替换掉的原始明文字母;

15、构造原始方表,试验性填入已猜解出的字母;

16、对方表的横坐标、纵坐标分开进行分析,根据字母频率变化,确定某个编号所指代的密文段究竟是奇数列还是偶数列;

17、根据步骤12得出的结果,联系步骤16得出的结果,最终可以完全确定每个列(密文段)的具体位置。也就是,换位表被完全破解;

18、根据以上结果,对方表进行猜测性攻击;

19、完全破解方表,得出明文。

简单这么概括了一遍,感觉跟前几天写这个的时候完全一样,――还是那么累!!本注总算注解完了,唉,一个注都那么长。。。)

接着说6月1日这天Painvin对ADFGVX的破解吧。

莫非冥冥之中自有定数?就象1001n生生造出的一句俗语所说的那样,幸福的破解都是相似的,倒霉的德军各有各的倒霉――对截获的密电进行仔细端详以后,Painvin的注意力很快就集中到其中三份电文上。这三份电文有个共同特点:

都是GCI电台发出的;

电文的时间组都是00:05。

其中有两份电文,连长度都一样,是106个字母。这两份电文一份是发给DAX电台的,另一份则发给DAK电台。

老办法,Painvin把密文并列着抄下来,然后上下对比查找相同的密文段。根据对应密文呈现出有规律的相同部分,他很快就给这两份电文分好了段:一共是21组密文段。

这也就意味着:德军在ADFGVX加密的第二步,也就是移位变换加密时,使用的密钥,其长度应该是21。换言之,德军所用的移位表,应该是21行宽。

用106/21,结果是商5余1。

这个结果就又告诉Painvin:

21个密文段中,应该有(余数)个密文段比其它的密文段长;余数是1,所以,有1个密文段比其它的密文段长;

这个长密文段的长度应该是(商+1)=(5+1)=6。

而其余的20个密文段,长度应该是商本身,也就是5。

用刚才分好的段进行验证,完全无误:密文被分成了20个短密文段,和1个长密文段;短密文段的长度是5,长密文段的长度是6。作为一个休闲活动,我们不妨再把它加一下:

(短密文段个数*长度)+(长密文段*长度)=(20*5)+(1*6)=100+6=106,正好跟电文长度完全相同。看,科学或者数学,是多么地有意思啊~~

――简直是废话,要是不相同,那肯定是哪步算错了……

这个简单的算式告诉我们什么呢?

德军的移位表,长度21,高度为6;画下来也就是这个样子的:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 ←-密钥长度为21

X X X X X X X X X X X X X X X X X X X X X ←-┐

X X X X X X X X X X X X X X X X X X X X X │

X X X X X X X X X X X X X X X X X X X X X 短列(短密文段)长度为5

X X X X X X X X X X X X X X X X X X X X X │

X X X X X X X X X X X X X X X X X X X X X ←-┙

X

┕---- 长列(长密文段)长度为6

其中,数字1代表的这一列,长度为6;其余一律为5。

到现在为止,Painvin干的不错。但是,在这两份报文上,这个不错也就到此为止了――它们实在是太像了,以至于,连差别都少的可怜;这个差别少到一定程度,Painvin就没法搞了――想想也是,如果他得到两份完全一样的密电,那不跟得到一份密电一样么?

而仅仅拿着一份密电,怎么可能去破译?!

说到这里,我对holmers兄在英雄版发的帖子开书---香烟解码法链接出处里的部分内容实在无法苟同。

帖子里说:

军校严禁学生谈恋爱,他们有辄儿,把加密的情书公开的贴在学校报栏上,真正的“我的心事只有你能懂!”

内容有点长,我还是不继续引用了吧。大致给归纳一下,意思基本是这样的:

某军事院校的学生把情书写成密文,张贴出来;老教授也就是密码权威,看着看着就郁闷的要命,因为加密实在太简单了,根本不符合他的严谨风格;他已经看出,明文都是情书来了。

――这一段,我实在是难以理解:除非,这六份情书是用同一密码进行加密的,这样才有可能进行密码分析。而情书恐怕是内容各异,比较和分析都得用不少时间,怎么可能老教授在学校报栏站着看了一会就看懂了,就怒了呢?也且不说这个,或许老教授的确是真正的大牛,能够瞬间破解密码,并看懂原文吧。

――而文后接着就说:

老头儿是一封接着一封的批判。前五封一无是处,每封五分钟,骂完了事。倒是最后一封颇对老头子的脾气,结结实实的批了半个钟头。最后说还是这封多少有些气象!

――如此说来,他们用的完全不是同一密码加密的;不说前五份,最后一份起码就是使用了单独的加密方式;而这,也就是密码学概念中的“一文一密”。

而“一文一密”,怎么可能被破译?毫无道理啊!

我举个例子吧:我把“密码故事其实很精彩”用拼音连续写下来,某种意义上也算是进行了密码编码:

密码故事很精彩

mimagushihenjingcai

ok,有人说,看到mimagushihenjingcai,我读都能读出来,这样不也是一文一密么?不一样能破解么?明文就是“密码故事其实很精彩”啊!

可如果我说,我这不是用拼音加密的呢?为了稍微说明白这个道理,我把密文重新整理一下:

原来的密文 mimagushihenjingcai

分段后的密文 mim agu sh ihe nj ingc ai

内容完全相同,之所以分开,只是为了下面讲述方便:)

根据现在刚刚拟定的1001n新密本,mim可以指代“我”,agu可以指代“不”,sh指代“相信”,ihe指代“这”,nj指代“个”,ingc指代“故”,ai指代“事”――可以不?从密码规则上讲,当然完全可以。于是,密文和对应的明文实际上就应该是

mim agu sh ihe nj ingc ai

我 不 相信 这 个 故 事

――跟“密码故事其实很精彩”还一样么?

如果我再次改变1001n密本,重新指定这些字母组的含义,那么明文又该是什么呢?对于只看到密文的人,他知道我在说什么么?

这件事告诉我们一个道理,硬要从一份密文进行解密,实际是可以做到的;只是这样做确实毫无意义――因为同样一份密文,可以脱出无限多种可能的明文!

而得到“无限多种的”明文,和得不到明文,难道不是一回事么?换言之,你还是不知道明文到底在说什么啊……如果各位还记得我以前用新华字典映射红楼梦的例子的话,大概就更明白一些了:

在没有任何其它信息可以利用的前提下,单一的密文,理论上讲是无解的!

――写下以上这些文字,非对holmers老兄有所不敬;只是,这样的故事,听听而已,千万不要太当真――说到底,密码不是巫术,不是拍脑瓜的东西;密码编码也好,密码分析也好,是建立在严格的科学基础上的――即便是看似随意性最大的猜测性明文攻击,那也是根据频率分析等等的结果进行的,绝对不是靠很感性的“我认为它大概就应该这样吧”来进行的。

而这,实际上又是个“该怎么样认识科学”的问题。一直以来,科学版上关于“科学是什么”,“怎么样认识科学”都有了足够深刻的讨论。我一直关注这些声音,因为的的确确,如何认识科学,是我们人类的一个非常基础的问题。有篇文摘提到了“货机崇拜式科学”,文中观点之一针见血,我以为的确扎到了痛处――对于暂时无法认识的现象,人类容易出现盲目的信仰;而这些信仰,是不是能真正经受实践的检验呢?

――科学的本质是“证伪”的。不爱吱声此说,我举双手赞同!

又扯远了――我这是咋咧?唉。。。血气太盛,非福啊非福……

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

喘口气儿,接着说Painvin的破解吧。

上面提到,他对GCI电台发给DAX和DAK电台的密电进行了分析,初步得知了当天的移位表的轮廓。但是由于这两份密电实在太相似了,相似到了缺乏足够进行下一步分析的细节,他对这两份电文的分析只能就此止步了。

不过,刚才不是提到,GCI电台在00:05分不是发了三份电文么?实际上,这第三份电文跟刚才的两份也很相似,它是GCI电台发给DTD电台的。如果说有什么大的区别,那就是这份电文的长度不再是106,而是108了;或者说,这份电文里有108个字母。

除此之外,内容也是高度相似。

――如果把你换在Painvin当时的位置上,你会觉得这106和108有什么问题么?

反正我是没感觉出什么问题来……而实践再次证明,这Painvin绝对不是浪得虚名,他马上就联想到了一个问题。

什么问题呢?

元宝推荐:不爱吱声,

本帖一共被 2 帖 引用 (帖内工具实现)
家园 坐上沙发啦

好文,看完鲜花一朵

家园 Flower and waiting for the next....
家园 对密码不在行. 偶来瞎想...

"某军事院校的学生把情书写成密文,张贴出来;老教授也就是密码权威,看着看着就郁闷的要命,因为加密实在太简单了,根本不符合他的严谨风格;他已经看出,明文都是情书来了。"

在没有任何其它信息可以利用的前提下,单一的密文,理论上讲是无解的!

原则上是对的. 不过涅, 具体情况具体分析. 既然那些学生将加密的情书贴在公告栏, 肯定是指望他们的甜心们能理解其含义的, 所以这些情书的加密算法乃至密匙肯定采用了一些约定. 而且这些约定应该是该学院的亚文化的一部分, 大伙都能嚼摸出来的 (否则如果那个约定是只有两人知道的, 那么他们之间的关系可见早已亲密, 也不用再张贴情书了). 所以呢, 既然那些"小芳"们能猜出其含义, 那么那个老教授也能看穿其含义就一点都不奇怪了.

家园 好文顶上来
家园 说的有道理,但是还是有问题,呵呵

呵呵,密码之密,密就密在不让无关的“第三者”知道。如果第三者事先就已经获得了相关的信息和提示,那这个密文也就不成其为密文了。所谓“亚文化”一说,也许确是实情,但是,在这样的“亚文化”环境下,还谈什么破解呢?无非是照本宣科地通读罢了!

而那位老教授,又牛在何处呢?他对付的东西,严格来说甚至都不能称为密文了!

所以我说,

在没有任何其它信息可以利用的前提下,单一的密文,理论上讲是无解的!

而有了这个“亚文化”的暗示,那也就实在没什么可说的了,呵呵。。。

最后,这情书公开贴出来难以看懂,不代表小芳们也看不懂――如果此事为真,浪漫的学员们难道不给她们密钥么?――这可是密码通信最起码的要求啊――如果真不给,那岂非是连女朋友一起考倒了?如此这般,这情书到底是写给谁看的呢?呵呵。。。。

最后拉近生活地说一句:真要给女朋友一份密文情书,又不给她密钥让她自己翻译去,――你觉得这样的猛男还娶的着媳妇儿么?

呵呵。。

家园 对啊, 所以我的推演是对的嘛.

"浪漫的学员们难道不给她们密钥么"

如果能给她们密钥, 何不干脆递个小纸条把情书的明文给了她算了, 何苦还要大兜圈子呢? (军校的管理比较严, 男女生学员不容易找到单独相处的机会.)

正因为这个限制, 又不能将加密搞得太难(否则小芳们也破不了, 如我前文所说), 所以这密文肯定是容易被破的(谁也没料到那老头会来掺合这档子事). 所以不奇怪那老头会轻松破解之, 故而愤怒: "这些学生的加密水平也太次了." 其实能破这些情书确实说明不了什么问题. 那个"一袋烟"的破解才真是匪夷所思, 我是很难相信的, 不知1001n兄怎么认为.

家园 好文顶上来

很少顶这个系列的文章,只是偷偷摸摸的背后献花。

在没有任何其它信息可以利用的前提下,单一的密文,理论上讲是无解的!

家园 一文一密也不是不可能被破译的。

前提是密文足够长,和加密方法足够简单。

家园 来晚了。。。把着门口看吧

我吐血,您这话茬留的比老萨还损啊

家园 嗯,那个一袋烟的故事太过荒诞离奇了。

密码的破解不是光靠大脑跑马就ok的,更多的是需要数据的分析和整理。

至于那个情书的话,也够荒诞的,虽然这种故事不是不可能发生的,比如情书基本都是用“亲爱的”三个字打头,最后是“爱你的XX”结尾,有了这两条消息,如果加密方法比较简单,比如单表替代法,几乎一两分钟就搞定了。

但是军校的学生,怎么也不会用这种简单低级的方法吧?

家园 那文章当故事看算了,说点题外话吧:)

我这密码系列也写了一些了,破密容易与否,是不是靠拍脑袋瓜儿就能搞定,各位应该有个总体印象了。。。呵呵,怎么说呢,部队里故事太多,一个个都是神乎其神的,让人听了直觉得新中国的神仙都穿着军装……当然这么说绝对没有冒犯真正专家的意思,只是,转述的人讲故事的时候,也许是出于无心,也许是为了把故事讲的更让人爱听,有意无意地把这些真正该尊重的人给神化了。

而在我看来,如果稍微有点儿独立头脑和科学精神一分析的话,过分的经不起推敲的神化实际无异于丑化……何必呢?何苦呢?

真是不能太当真。。这样经过转述又回忆的文章,真要试图还原当时的情况,其实是个费力不讨好的活儿,呵呵。。。其实他的文笔还是不错的,我们不妨还是静下神来看他的故事吧。。。

我刚才还是有点太冲了,自我检讨修养中。。

家园 我能理解

军人吹牛可以提高士气,是我军训时候听军人报告的感受,吹牛吹得让人热血沸腾。

但做学问讲究的是严谨求实。所以,我将holmers兄的文章从科技版转到了英雄版。

从为人师来看,师者,传道授业解惑也。那位军人教师及那位老先生故弄玄虚并不算是个好老师。

但我也干过军队的项目,知道军队有个保密一说,这种保密有时候甚至有点莫名其妙。我估计那位老先生是不是有这方面考虑。

家园 呵呵,其实老兄对我的帮助我才是没法还呢。。也公开拍一次MP吧:)

还记得那时候一高兴,随手回了个“也说说密码”的帖子,老兄当头就给加了个精。。。怎么说呢,老兄加精无数,怕是已经忘记了那一次吧?

可就是那一次,真是给了我极大的动力,之后借着涨起来的信心,又写了个“再说说密码”,好像是这名字吧,光的一声,又是个精。。

从此就上了科学版的贼船,呵呵,下定决心写了ENIGMA,之后又查了N多资料,……总之一句话,过上了苦不堪言又乐在其中的写作生活,也才渐渐有了现在的密码传奇。。。

我也注意到过,每次老兄都是高速加精,往往发了没多久帖子就已经亮起来了――说实在的,老兄在我见过的斑竹里面,确实是很佩服的一个――我发帖子的时间,可是早在北京时间上午,晚至北京时间凌晨,什么点儿都有啊……以至于我还跟人感叹过,莫非不爱老兄是不睡觉的么??完全想不通啊

对新人的鼓励有多么重要,我就是个例子。听闻你要渐渐引退,总觉得很遗憾――论坛风气好不好,主要就看斑竹的作为,这点我感触太深刻了。。

不知道科学版其他兄弟怎么想,至少我觉得,这个科学版从老兄所说“默默无闻”到现在的“人声鼎沸,成为西西河的特色版面之一”,固然有那么多原创高手的努力,更重要的是有个良好的氛围。而这个氛围,绝对跟斑竹的努力和引导分不开。我想各位兄弟多少都有体会,就不多说了。

说起来,我对老兄的文章也是默默地看的多,说的少,花就更少。。现在补上一朵,聊以致意!

家园 赶紧拉住你,下面呢?

什么问题呢?

什么问题呢?

什么问题呢?

什么问题呢?

什么问题呢?

什么问题呢?

全看树展主题 · 分页首页 上页
/ 2
下页 末页


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

Copyright © cchere 西西河