“谜”与“如谜的解谜者”(一)

2018-08-10 00:07花卷
科学Fans 2018年6期
关键词:尔比乌斯转轮

花卷

短暂的和平

话说,我们讲了两个“一战”期间的密码战故事。一个是德国外长齐默尔曼勾结墨西哥怼美国的密电,被英国海军情报部门“40号房间”截获、破译,然后一转手捅给了美国总统威尔逊,导致美国对德国宣战。另一个是德军在皇帝会战中用来传递作战指令的ADFGVX密码被法国情报局破译,间接地导致了一场关键性战役的失利。这两个故事里,德国似乎都是那个倒霉蛋,自己辛辛苦苦整出来的密码系统最后都让别人破译了,相当于在敌人面前裸奔,这能不吃败仗么?看到这里,你们肯定要问了:难道说德国人的情报水平就这么烂吗?难道英法他们用的密码就特别厉害,德国人都没办法破译吗?

你还别说,到了和平年代,以前打仗时那些破事儿就都被拿出来讨论了。这一讨论不要紧,大伙儿惊奇地发现,德国人在“一战”期间根本就没有花精力去破译敌人的密码!换句话说,德国人的思路是:我们的密码特别强大,你们都破不了,而且我也一直在升级密码系统啊!我们的指挥官特别厉害,你们怎么安排行动,我们都不care啊!你说这是哪儿来的迷之自信啊!结果怎么样大家也都看到了,看来当这个“倒霉蛋”可绝不是因为“幸运E”,而是智商需要充值啊!

不过,这些事儿德国人也是后来才反省的,“一战”刚结束那会儿,德国人还天真地认为,我们的密码根本就没有被敌人破译,一切失败都是战略和战术的失败,就比如齐默尔曼的密电,美国人还不是踩了狗屎运才从墨西哥的电报局偷出来的?他们有天大的本事也破译不了我们如此复杂的外交密码啊!实际上,看过前面的故事大家都知道了,美国人确实没破译密码,破译密码是英国人干的,而且狡猾的英国人还表演了一出套路,专治一根筋冒傻气的德国佬。

民间高手

虽然德国军方在情报方面各种犯蠢和自以为是,但俗话说“高手在民间”,论搞技术,德国人还是有两把刷子的。1918年2月,就在“一战”西线战事胶着万分,德军准备发动最后一波攻势的时候,有个叫阿图尔·谢尔比乌斯(Arthur Scherbius)的德国工程师提交了一份专利申请,讲的是他发明的一种转轮密码机。

谢尔比乌斯1878年出生于德国法兰克福,从小就立志要当一名伟大的工程师。他大学本科学的是电气工程,后来又在汉诺威大学拿到了工学博士学位,要知道那个年代的博士可比现在值钱多了。谢尔比乌斯的老爹是做生意的,家里应该还是有一定的底子,而且谢尔比乌斯也从小耳濡目染了老爹的商业头脑,因此他这个密码机,当然不是随便搞着玩的,而是要把它搞成个正经的产品,推到市场上狠狠地赚上一笔。

于是,就在1918年提交了专利申请之后,谢尔比乌斯跟朋友合伙开了个公司,字号特别直白,就拿两个人的名字拼一块儿,叫“谢尔比乌斯&里特”(Scherbius&Ritter;),他们这个公司的主要业务就是生产和销售自己发明的那种密码机。好产品自然得起个响亮的品牌,我们中国很多品牌喜欢起个洋名,显得特别高端洋气,谢尔比乌斯也没能免俗,他也给自己这个密码机起了个“洋名”,就叫“Enigma”。这个词来自特别高端洋气的希腊语,是“谜语”的意思,你看,听起来特有神秘感是不?

那么,谢尔比乌斯打算把这个密码机卖给谁呢?想想看,谁会经常用密码来通信呢?这不明摆着的嘛,军队呗!于是谢尔比乌斯他们就先跑到德国海军上门推销去了。不过我们刚才说了,德国军方这时候还处于自我膨胀的糊涂蛋状态,对升级密码系统没太大兴趣,不过一看有人来推销密码机,也觉得这玩意儿挺新鲜的,要不这样,这位同志,你先来介绍一下你发明的这个东东到底怎么个厉害法吧。

一代神器Enigma

对密码战历史稍微有点了解的人应该都听说过Enigma这个名字,不说如雷贯耳家喻户晓吧,至少它也可称得上是“一代神器”。既然Enigma如此经典,那它自然有独到的过人之处,甚至可以说,它是一个“划时代的伟大设计”。那么,它到底伟大在哪里呢?

德军在“一战”期间使用过很多类型的密码,有外交部和海军用的那种密码本(本质上就是用数字来替换单词的置换密码),也有像ADFGVX这种把换位和置换结合起来用的复合密码,但是无论是哪种密码,置换的部分基本上都是用的单表。我们之前讲“多表密码攻防战”的时候曾提到过,单表置换密码在频率分析面前几乎是不堪一击,而更安全的多表置换密码早在文艺复兴时期就已经出现了,到了“一战”的时候,像维热纳尔方表这种多表置换密码也早已经很成熟了,可为什么军队会放着这么好的东西不用呢?

答案很简单,因为多表密码的效率太低,不好使!想想看,以前用书信通信的年代,人们对效率没什么追求,反正信寄到对方手里要花很久时间,你加密解密的效率再高也没啥用。然而,进入电报时代,情况就完全不一样了,电报那是光速啊,速度一下子就甩开书信N条街。于是,在信息本身的传输速度已经达到几乎“瞬时”的情况下,人们就自然而然地会发更多的消息,特别是军队里,大事小事都得发电报指示,加密解密太慢就成为信息传输的瓶颈,那可就真的耽误事儿了。

既然多表密码哪儿都好,就是太慢,那只要给它提提速,不就完美了吗?工业革命的浪潮滚滚向前,这时说到提速,人们首先想到的当然是用机器。你看机器都能替代大批的纺织女工,把布织得又好又快,那能不能用机器代替人手来做加密解密呢?不知道大家还记不记得我们之前讲过的阿尔伯蒂密码盘(不记得的话往回翻一下《多表密码攻防战(一)》),那玩意儿被誉为最早的实用多表密码装置,它的用法就是写几个词转一下密码盘的位置,这样就能切换置换表了。想到这里,有人一拍腦袋,说我做个自动转的密码盘不就行了吗?

不用说,这个拍脑袋的人就是谢尔比乌斯,当然,也不光是他,其实那个时候有很多人都在研究这个,但是谁第一个做出东西来谁就是老大呀。谢尔比乌斯的基本思路就是做这么一个能自动转的阿尔伯蒂密码盘,然后这玩意儿就像一台打字机一样,有个键盘,按下一个字母,打出来的却是另一个字母,然后上面的密码盘就自动转一个格,哇,太炫酷了!

按一个字母打出另一个字母这个脑洞虽然很棒,但实现起来比较困难,因为打字机是个机械系统,要动态改变键盘和打字的小锤子之间的连接实在不容易,最关键的是,它太容易坏啊!不过,条条大路通罗马,谢尔比乌斯就想了另外一条路:我在密码盘后面接上电线,前面连接键盘,后面连接一组上面标着字母的灯泡。键盘一按,通过电线连接,后面一个灯泡就亮了,然后那个密码盘一转,接线的方式就会改变,于是再按同一个键,后面会亮另一个不同的灯泡。

此图就是Enigma上用的密码盘,我们一般管它叫“转轮”(rotor)。你仔细看,这个转轮的一侧是金属针,另一侧是金属触点,里面的线是乱序接的,也就是说,一个金属针并不连接到同一位置上的触点,而是连接到另一个位置的触点。这样一来,前面键盘上按下一个字母,经过转轮之后就变成了另一个字母,然后当转轮旋转之后,所有的触点又会被重新连接,这就相当于换了一张置换表。

转轮上的每一格都标有一个字母,很明显,一个转轮可以产生26组不同的置换表。谢尔比乌斯觉得这个数量还是太少了,不能给别人留下暴力破解的机会!那怎么增加置换表的数量呢?你可能会说,多加几个转轮就可以了呗。这办法没错,不过要注意的是,我们需要让这几个转轮按不同的速率来转,就类似钟表上的指针,秒针转一圈,分针走一格,分针转一圈,时针走一格,有这样的进位关系,几个转轮才能遍历所有的排列组合。

于是,谢尔比乌斯在他的Enigma密码机上装了3个转轮,转轮之间就通过那个金属针和触点相互连接,一个字母从键盘上按下之后,要依次经过3次置换,最终变成另一个完全不同的字母,更重要的是,每次按键之后还会自动切换置换表.即便你连续按下5个A,它也能给你变成像GUITP这样5个完全不同的字母,超神奇有没有!

神奇的反射器

好了,现在我们已经有了一台可以自动切换置换表的密码机,但细心的你一定会发现,现在还有一个问题没解决呢——我们的密码机只能加密,不能解密啊!确实,你可以把5个A变成GUITP,可是你怎么把GUITP变回5个A啊?只能加密不能解密的密码机根本没法用嘛!要解决这个问题有两个办法,一个办法是重新设计一台解密机,不过这样一来,用户就得带两台机器才能收发消息了,这个画风实在太low。第二个办法呢,就是把这台机器设计成两用的,既能加密也能解密,这样用户就不用多带一台机器啦。

据说,谢尔比乌斯自己也没想出什么好主意来解决这个问题,不过他公司里的一个小伙伴倒给他出了一个点子。这个设计特别天才,但有趣的是,这个设计后来居然成了破解Enigma的一个重要弱点。(哎呀,不小心剧透了。)那究竟是个怎样的设计呢?如果我们要让这台机器能够“一机两用”,最直接的思路就是把它设计成一个“自反”的结构。所谓“自反”,就是说比如我在某个状态下按下A键,B灯泡亮,那么在同样的状态下(转轮的位置都相同),如果我按下B键,那么A灯泡就应该亮。这种设计的巧妙之处在于,我依次按下明文中的字母,机器就会帮我变成密文,也就是加密的过程;反过来,如果我依次按下密文中的字母,机器就会帮我变回明文,也就是解密的过程。

問题来了,这个“自反”的机制怎么实现呢?小伙伴跟谢尔比乌斯说,咱们在最后一个转轮的后面加一个反射器,把电流反射到另一个触点,然后沿着转轮再一个一个走回去,一直回到键盘。键盘的地方咱们做一个双掷开关,平时键没按下去的时候,电路跟灯泡是接通的,于是,被反射回去的电流就会直接点亮相应字母的灯泡。

如果上面一段看得有点晕的话,咱们看这张简单的示意图吧。按下A键,电流依次跑过右、中、左3个转轮,到达最左边的反射器,然后从另外一条路线又依次跑过左、中、右3个转轮,最后回到键盘这里的G,于是就点亮了与字母G相对应的灯泡。假设这个时候我按下G键,那么电流就会按照完全相反的路线跑回到A的地方,点亮A灯泡。你看,这样不就实现了“自反”么?只需要一台机器,就可以同时完成加密和解密啦,简直完美!

(那么,谢尔比乌斯有没有成功地把他的密码机卖给德国海军呢?接下来又会发生怎样的故事呢?我们下期继续讲。 )

猜你喜欢
尔比乌斯转轮
绝处逢生
绝处逢生
绝处逢生
绝处逢生
词语大转轮
——“AABC”和“无X无X”式词语
寺庙里有座大书架——神奇的转轮藏
莫比乌斯摄影基地
我国第一台分半铸造的30万千瓦水轮发电机转轮实制成功
转轮热回收计算方法及节能分析
米开朗基罗和教皇尤得乌斯二世(连载之二)