恩尼格玛密码机模拟器(转子密码机)

在浏览器中还原第二次世界大战德军使用的恩尼格玛密码机,忠实再现真实机器的转子接线与步进机制。可自由设置转子型号、环位设置、初始位置与插线板,体验加密与解密的完整过程。所有处理均在浏览器本地完成。


使用提示

  • 恩尼格玛属于自反密码(reciprocal cipher),只要使用完全相同的转子设置、初始位置和插线板再次处理密文,就能还原出原始明文。可以点击"将结果填回输入框"按钮试一试。
  • 哪怕只改变一个字母的初始位置(Grundstellung),得到的密文也会截然不同。在实际战时使用中,这项设置通常每天都会更换。
  • 由于信号必须经过反射器(Umkehrwalze)折返,任何字母都绝不会被加密成它自己。这个特性后来成为艾伦·图灵等人破译时的重要线索。
  • 插线板最多可以设置10组字母互换。德军实际的操作规则中也将其上限设为10组。
  • 点击"随机生成设置"按钮,可以简单体验一下当年操作员每天更换转子、环位与插线板等密钥设置的流程。

常见问题

20世纪30年代,波兰数学家率先从数学上破解了这台机器的内部结构。英国布莱切利园在此基础上继续攻关,艾伦·图灵等人研制出名为"炸弹机(Bombe)"的机电装置,用来推算每日更换的密钥设置。此外,德军操作习惯(例如经常使用相同的开头用语)也为破译提供了重要线索。

按现代标准而言完全不安全。它在第二次世界大战期间就已经被系统性破解,其密钥空间与AES等现代密码相比也小得多,现在的计算机几乎可以瞬间完成暴力破解。本工具纯粹是用于历史与教育目的的模拟器。

不会。由于信号必须经过反射器折返,从数学结构上讲,一个字母绝不可能被映射为它自身。这实际上是一个密码学上的弱点,也是破译者猜测明文时的重要线索之一。

初始位置是每条消息发送前设置的、显示在转子窗口上的字母;环位设置则是转子内部接线与字母环之间对应关系的偏移量,属于变更周期更长的密钥部分。两者必须完全一致才能正确解密。

它是在键盘与显示灯之间,对指定字母对进行互换的一层额外加密。相比仅靠转子加密,插线板极大地增加了可能的组合数量,是让德军实际通信更难被破译的重要因素之一。
ツールくん

闲话 ― 恩尼格玛与布莱切利园的故事

恩尼格玛机由德国工程师亚瑟·谢尔比乌斯于1918年申请专利,最初是作为商用密码机推出的,后来因德军将其用于保护通信而广为人知。它由多个称为"转子"的旋转式密码轮组合而成,每按下一次按键,转子就会机械转动,内部接线随之改变,因此即使连续输入相同的字母,通常也会被加密成不同的结果。

破译恩尼格玛的努力最早始于波兰数学家马里安·雷耶夫斯基等人,他们在20世纪30年代通过数学方法解明了这台机器的结构。第二次世界大战爆发后,英国在布莱切利园集结了一支解密团队,艾伦·图灵等人研制出名为"炸弹机"的机电式解密装置,系统性地推算出每天更换的密钥设置。这项成果被认为对盟军的情报战做出了重大贡献。

恩尼格玛的破译史给现代密码设计留下了一个持久的教训:无论加密机制多么精巧,操作习惯与人为失误(例如总是以相同的问候语开头、重复使用密钥表等)都可能成为突破口。本模拟器纯粹是学习这段历史的教育工具,不应被用于保护真实的通信内容。