Raspberry Pi和Arduino上的Turing炸弹模拟器

”(Enigma)-一系列德国机电转子密码机,自上世纪20年代开始使用。在第二次世界大战期间,将主动加密的消息进行主动传输的时间包括在内是很重要的。在这方面,破解Enigma的加密具有巨大的实用价值。

为了破解Enigma代码,波兰密码局开发了一种密码炸弹,用于攻击消息。总共为六个转子组合创建了六台机器,由于加密消息的条件的特殊性,其范围有限。机器由于引入了新的转子而很快失去了意义,而波兰方面则无力再制造54枚“炸弹”。之后,我不得不返回手动方法-Zygalsky的床单根据波兰的发展,创建了更先进的Bombe机电机械,该机械通常与Alan Turing的性格相关。总共建造了约一百五十个英国“炸弹”。第二次世界大战结束后,由于保密原因,几乎所有炸弹都被摧毁。

尽管设备上有可以自由流通的文档,但是可以用一只手指望成功尝试创建炸弹的尝试。例如,这是由约翰·哈珀(John Harper)领导的业余团队对孟买重建项目的可行重建。复制副本花了13年的时间来创建。昨天在网络上发布了他更为谦虚的项目来自新西兰的业余爱好者。这是三个转子的仿真器。在真正的“炸弹”中,有26个相互关联的三元组。

谜使用多字母密码,最著名的例子是维吉纳密码。我们可以简单地描述作为凯撒动态密码的密码的工作原理,其中移位的深度根据某种算法而变化。谜团的核心是三个转子,尽管后来创建了四个副本。在两侧的每个转子上,都有26个触点,对应于字母。触点之间的走线的电气连接不是成一直线的,它们在转子之间是不同的。可以卸下转子,更改其位置或从机组中插入其他转子。自1939年1月以来,在地面部队和航空领域,该装置由5个旋翼组成,可提供60种组合,机队则有8种(336种组合)。



另一个措施是使用配线架。通过机器前面板上的电线进行的电气连接可成对更改字母:A可以变成R,在这种情况下R会变成A。要读取此消息,您需要知道转子在主轴上的位置(使用了该转子组中的转子和反射器),加密代码(3个拉丁字符)字母)和接线板上的电线位置。在某些版本中,还引入了其他措施:反射镜也旋转,使用了大量的转子,依此类推。



按下按键后,电流通过按键的电流路径,通过配线架上的触点,通过三个具有不同轨迹位置的转子,再通过反射器,再通过三个转子。然后,带有相应密码的字母在面板上亮起。至少一个转子转动,更改组​​合以加密下一个字母。在机械表中,转子像秒,分,顺时针一样旋转:快速右转子旋转一整圈,然后1/26旋转平均一圈。中间转了一整圈之后,1/26圈使最慢的转弯。

炸弹帮助建立了德军可能的Enigm设置。她没有给出现成的信息。为了完成工作,需要所有相同的体力劳动。 “炸弹”有助于将可能的解决方案的数量减少到可接受且负担得起的处理水平。

为了解密消息,需要所谓的“提示”。进行了众所周知的明文攻击:检查了加密的文本是否包含熟悉的单词和短语。要找到“线索”,需要具备德国军事语和电信运营商沟通方式的知识。反光罩的设计起了重要作用:字母永远不能被加密成自身。选择提示后,将编译一个所谓的“菜单”,该程序用于查找可能的解决方案。 “菜单”运行被带有候选解的停顿打断,然后进行检查。通常,在找到正确的决定之前,会有很多错误决定的地方。

来自新西兰的一名业余爱好者重新制作了炸弹。说他重新创建了解密机的26个块之一的仿真器会更准确。创建的设备非常紧凑-可以放在桌子上。计算是在Raspberry Pi 2上执行的。该设备甚至都不会隐藏它:结果显示到转子运动结束为止。三个相同颜色的鼓(原来它们具有要执行的任务的特殊颜色)纯粹为了美观而旋转。但是他们以非常有说服力的速度和与原版相同的速度执行此操作。这个过程很不错。


视频启动了带有天气报告的“菜单”,用于演示真正的“炸弹”。原因很容易理解:很明显。

该项目在团队负责人的协助下创建了完整的复制品John Harper和其他几位专家。在此之前,业余爱好者创建了一个炸弹手表 -一种完整功能的Enigma黑客机,可以戴在手腕上。



在桌面炸弹内部,有Raspeberry Pi 2板,Arduino,12伏铅酸电池和电压表。该仿真器消耗大量能量,每个轻松消耗1.5-2安培的电流。最初,用于工作的软件是用Basic编写的,但后来被移植到C ++。 Raspberry Pi 2连接到Arduino,并控制三个步进电机。 Arduino将Raspeberry Pi 2的位置作为一系列脉冲告知电机,以便可以在正确的时间停止它们。侧面是液晶显示器,它充当原始“炸弹”的机械指示器。开始和中断按钮像真实样本一样位于前面。



外壳由厚度为0.8毫米的钢制成,并且鼓的尺寸为3/4,由普通罐头制成。设备的所有零件都是手工制作的。重量约为10公斤。“菜单”中的文件是从闪存驱动器中加载的,可以通过打开后盖来插入它。同样在侧面是用于监视仿真器的网络端口,该端口被盖封闭。在运行中,即使无法将音量与真实“炸弹”噪音进行比较,该设备也带有发动机噪音

作者承诺会发布设备程序的源代码,尽管没有硬件存在于单个副本中,也没有任何东西可以运行它。仍然希望作者不要将他的创作带到学校,甚至更不要在逮捕时解释它是什么。

带照片的项目页面
图灵的在线炸弹模拟器

Source: https://habr.com/ru/post/zh-CN384917/


All Articles