@ 2017.05.28 , 20:00

虚拟密码机重现二战加密通信

为了纪念布莱奇利园的密码破译者Bill Tutte, virtualcolossus网站上线了一台虚拟的Lorenz SZ机器。

注[1]:William Thomas "Bill" Tutte(1917-2002),英国密码学家、数学家,曾在二战中为破解洛伦兹密码做出重要贡献。

注[2]:布莱奇利公园(Bletchley Park),位于伦敦西北部50里,曾经是二战期间的密码破译中心

虚拟密码机重现二战加密通信
Credit:小编自截图

我们对二战的听觉印象一直停留在无尽的枪声和爆炸中,但有一种淹没于枪炮声中的稳定嗡嗡噪音却对战争起到了至关重要的作用。发出这种噪音的是Lorenz SZ密码机,它的出现从根本上改变了通信在战争中起到的作用。现在,为了纪念Bletchley密码破译者Bill Tutte的100年诞辰,virtualcolossus网站上线了一台虚拟的Lorenz SZ机器。

在洛伦兹机发明之前,英格玛(Enigma)密码机已经足够提供前线部队使用,但该机器需要在传输线路的两端分别有两个人操作——一人对信息进行加/解密,而另一个人负责用摩斯电码传输/接收加密后的文本。后来C. Lorenz AG在柏林发明了新型电传密码机,型号分别为Lorenz SZ40, SZ42A 和 SZ24B。其中型号名“SZ”取自德语"Schlüssel-Zusatz",意为“密码设备”。

最初的劳伦兹机通过发送电脉冲来表示字母表中的字母,每一个字母可以表示为一个五位(5 bit)的编码或者“空”。这些代码会在纸带上打出一系列的孔位。后来劳伦兹机用了Vernan法进行编码,这种方法给每一串编码赋予一系列随机的字符,因此很难破译。但这种加密方法的问题在于必须确保收发双发有同一组随机密钥,如果不知道那些密文是随机的哪些是有意义的,那么即使是接收方也无法解密出有用的信息。

洛伦兹改编了Vernan的方法,创造了一种可以产生随机码的机器以解决这一问题。这样只要收信方有一台同样的机器,发送方就可以通过给出一个计算起点,并由此得到接下来的所有编码。为了保证生成的随机码没有过高的重复率,他把密码轮的数量设定为两组,这样就相当于在每一个字母上叠加了两个字母后才发送出去。为了增加更多的变化性,洛伦兹还加入了两个动力轮以改变第二个密码轮转动的频率。于是便诞生了我们所见到的这台标志性的机器。做出改进后的密码可能组合数量增加到10的170次方种,比宇宙中的粒子总和还要多。

尽管从未见过这种密码机的真容,但Tutte推测出,密电中这些无意义的字符串是由12个独立的密码轮和一系列的开关转化而成的。通过这一过程,文字内容将有160亿种可能的组合。在破译如此艰难的情况下,布莱切利园招收了各行各业的人才——尤其是数学家们。在对这些密码进行研究后,Tutte成功解析了洛伦兹系列密码机的加密过程并加速了德国密电的破解,对战争产生了逆转性的影响。

布莱切利园的团队是当时最多元化的团队,其中有50%以上的女性。在布莱切利园的密码破译过程还创造了世界上最早的几台计算机之一——“巨人”(Colossus)。阿兰·图灵曾用“图灵方法(Turingery)”破译了劳伦兹码,这是电子设备第一次被用来改变政治和战争的局势,同时也奠定了现代加密理论的基础。

现存于世的四台劳伦兹SZ42密码机没有一台能够正常工作。而这台虚拟的劳伦兹机则对公众历史教育有重大意义,同时也给了一些复古加密通信的爱好者们自己编码的机会。

用这台虚拟的机器,你可以亲眼观看文字转变为密码的过程。你可以手动旋转密码轮改变代码,或者用Auto-text自动完成加密。最后的结果将以原始指令的方式呈现:Ein代表开,Aus代表关。在这个过程中你可以摘掉密码机的外壳并观察内部的运作原理。

# 在线虚拟密码机链接:Lorenz

本文译自 wired,由 下弦の月 编辑发布。

赞一个 (7)