全世界有3.14 % 的人已经关注了
数据与算法之美
很多时候,一个设计精巧的密码就像数学难题一样,许许多多难以破解的密码让人青丝泛白,至今仍未见天日。不过,也有一些密码中的幸运儿,最终仍然迎来了真相大白的那天。
秘密组织的手抄本密码
这份超过 75000 个字母的手抄加密文件名叫 “Copiale cipher”。它被认为是在 18 世纪下半叶出现在德国的,其创造者是一个类似共济会的秘密组织,因此这份密码被认为含有关于思想史与秘密组织的重要信息。但在南加州大学的计算机专家凯文•奈特(Kevin Knight)的帮助下,这个密码被成功破译。凯文•奈特是破译小组中的一员,他本是一位计算机翻译方面的行家,但是这次破译密码意外地用上了他的专长。
Copiale cipher中的两页。图像来源:wikipedia
整个密码文件中包含了 3 种字符:罗马字母、希腊字母和看似杂乱的抽象符号。破译小组首先将密码文件转换成为计算机可识别的信息,然后尝试借助计算机的枚举能力来破解它。他们使用了类似谷歌翻译中的统计翻译技术,即把密码看做是一门外语,然后尝试寻找合适的规则转换成德语。
一开始,他们将罗马字母和希腊字母单独提取出来,但计算机无法破译。后来他们忽然意识到,罗马字母和希腊字母在这份诡异的文件中可能只是起到了空格的作用,真正包含了信息的是那些抽象符号。沿着这个思路终于他们破译出了第一个词:“入会仪式”,紧接着又发现了“秘密条约”。最终,在 2011 年 4 月,这个沉睡百年的密码被成功破译。现在这份秘密文件内容已经被放到网上,完整英文版可以 在此 阅读到。
达芬奇密码侵权案中的密码
2003年,丹布朗的小说《达芬奇密码》火爆全球。但是“枪打出头鸟”,这本火热而又挑战禁忌的小说一出来就遭到非议颇多,有人认为内容涉嫌抄袭《圣血和圣杯》,最后闹到打官司。在2006年,伦敦的法庭宣布对《达芬奇密码》抄袭的检控不成立,而富有娱乐精神的法官彼得•史密斯(Peter Smithy)在最后长达 71 页的裁决书中悄悄地嵌入了一段密文:
s m i t h y c o d e J a e i e x t o s t g p s a c g r e a m q w f k a d p m q z v
有趣的是,这段密文的解密过程与《达芬奇密码》的第一个密码有关,都涉及到了斐波那契数列表示的字母轮换。而且大法官为了增加难度,故意对密文进行了改写:
密文中的第二个 t 其实应该是 h
最后一个字母没有被译成密码
解密时,一些字母要按照反方向进行置换
伦敦的法律分析师丹尼尔•坦奇(Daniel Tench)首先发现了这段密文,紧随其后泰晤士报也报道了这段信息,还把那份裁决书发到网上,开放论坛给蜂拥而至的解码者,一时间在全球掀起了一股解谜风潮。丹尼尔•坦奇最后成为了第一个破解密码的人,因为史密斯法官在与他交流的几封邮件中透露了许多的解密提示。这也导致众多解密爱好者们纷纷表示法官的“剧透”严重影响了大家享受这次解密的乐趣。
这段密码的明文是:
Smithy Code Jakie Fisher who are you Dreadnought
法官后来解释说,他自己是 Fisher 的粉丝很多年了。海军上将Admiral John “Jackie” Fisher 被认为是皇家海军历史上的第二号重要人物,他革新海洋军事作战方式,引入了第一艘现代战舰“大无畏”号(HMS Dreadnought)。史密斯花了大概 40 分钟将这个密码编入裁决书里纯粹是逗自己玩儿的,从没想到有人居然会注意到。这也给这桩侵权诉讼增添了一个可爱的花絮。
爱伦•坡的密码挑战
爱伦•坡画像。图片来源:壹周网
爱伦•坡被认为是现在推理小说的鼻祖。他本人也对密码十分热衷,常常在自己的诗歌或者散文中隐秘地嵌入一些密码。除了在他的小说《金甲虫》中设置众多的密码对读者的智力进行折磨外,爱伦•坡还在一本流行杂志上公然向所有读者挑战:邀请大家设计密码考验他。他也确实是一名专家,据说陆陆续续地解开了上百个读者寄来的密码。
在此期间,有一位名叫 Mr. W. B. Tyler 的读者写了两个密码寄给爱伦坡。这两个密码不但没有得到解答,反而还被直接被刊登到了杂志上。这是爱伦坡唯一公开的未解之谜。一时间众说纷纭,更有甚者大胆猜测 Tyler 实际上就是他的笔名。
Tyler的第一份密码
直到1992年,特伦斯•惠伦(Terence Whalen)教授终于解开了第一份密码。他走出的第一步是发现了“逗号-匕首-小节”这样的组合在八行里面出现了七次:
据此他进一步猜测这三个组合符号代表的是单词“the”。在克服了没有标点与空格的困难之后,他给出了最终的译文:
The soul secure in her existence smiles at the drawn dagger and defies its point. The stars shall fade away, the sun himself grow dim with age and nature sink in years, but thou shalt flourish in immortal youth, unhurt amid the war of elements, the wreck of matter and the crush of worlds
第二份密码更加曲折一些。有人专门悬赏 2500 美金的不菲金额邀请高手来破译,不少人认为这份密码将会透露爱伦•坡与Tyler的关系。
Tyler的第二份密码
直到 2000 年,这个密码才被多伦多的软件工程师吉尔•布朗茨(Gil Broza)借助电脑的力量破译。
很遗憾的是,最终得到的完整明文看起来只是节选自某本小说的一段话而已。密码虽然被破译出来了,但 Tyler 究竟是谁,为什么爱伦坡没有破译他的密码?这个历史悬案恐怕没人能回答了。
混乱加密法
1918年,一位名为伯恩(Byrne)的人设计了一个叫做 “Chaocipher” 的加密算法。他自认为这个算法的规则简单,但难以破解。同时他制造了一个用于演示加密过程的实体机器。不过令人失望的是,这套算法并没有引起任何组织或者政府的兴趣。伯恩最后选择在 1951 年出版的自传“Silent Years”中对世人宣布这个加密算法的存在,并向任何能破解此密码的人提供赏金。
在当时,世界上恐怕也只有 3 个人知道这个算法的细节:伯恩的儿子与两个 Cryptologia 杂志的编辑。将近 60 年过去了,仍然没有人能够获得赏金,更有传言称这个加密术实际上已经失传了。最后在 2010 年,伯恩的家人决定将所有与 Chaocipher 有关的文章以及机器捐给博物馆,这个神秘的密码系统最后才得以重现人间。
右边的圆盘+号下代表明文的字母,左边的圆盘+号下代表加密后的密文字母。总的来说加密过程分为三步:
⒈ 将两份字母表打乱后摆在两个圆盘上
⒉ 将右边圆盘中的待加密字母旋转到+号之下,同时带动左边圆盘转动,此时左边+号对应的字母便是加密的结果
⒊ 按照一定的规则改变两边圆盘的部分字母顺序
对于每一个明文中的字母都进行这样的加密。这个看起来简单清晰的动态加密过程实际上有着复杂的加密规律,在无人知道细节的情况下,很难破解,难怪还有人将其拿来与二战时期鼎鼎大名的 Enigma 进行比较。
试想如果伯恩一家人没有捐出这些资料,真的会有人解开这个密码么?
主要参考资料:
[1] Famous Unsolved Codes That Have Since Been Solved
[2] Modern Algorithms Crack 18th Century Secret Code
[3] The Smithy Code
[4] 维基百科: Smithy code
作者:严酷的魔王
Via:果壳网
版权归原作者所有,转载仅供学习使用,不用于任何商业用途,如有侵权请留言联系删除,感谢合作。
数据与算法之美
用数据解决不可能
长按扫码关注