伤蓝 发表于 2019-6-26 13:17:49

恩尼格玛密码机


与第一次世界大战相比,密码学在第二次世界大战中发挥了更大的作用。在第二次世界大战中,密码学变得更加复杂,使用的密码和机器也更加复杂。密码分析的实践也更加先进,每个国家都试图提高其加密/解密信息的能力。最重要的事件是在布莱切利公园的密码学家解密了德国谜式密码机(恩尼格玛密码机),基于此,盟军得以在整个战争期间破译德国的军事情报。恩尼格玛密码机属于轮转机的一种,,最初由公司、银行使用,后来在二战期间被德国军方用来加密军事情报。恩尼格玛密码机与传统的密码机加密方法的主要区别在于该密码机属于多表替换密码机。密钥会针对你加密的每个字母进行更改,例如,你加密字母J,按一下J键,第一次得到密文E,第二次将得到密文B。早期的恩尼格玛密码机由键盘、灯板和三个转子组成,每个转子有26个字母。当按下一个键时,灯板上该密文的字母的灯会亮起,同时右转子转动一步。一旦右转子旋转了一整圈,它就像里程表一样,满周期后, 将带动下一个转子转动一个位置。因此,如果将转子设置为A - B- C,则会发生以下情况:A-B-C -> A-B-D ... A-B-Z -> A-C-A
https://www.tuiliz.com/data/attachment/album/201906/27/214100rgarlttayola02g1.jpg
而德国军方,也是看中了这种密码机的潜力,于是他们使用了各种方法来确保恩尼格玛密码机的绝对安全性。首先,它们将转子的数量增加到4×3×2 = 24个。然后他们增加了一个插接板,把26个字母和10根电线配对在一起。26! / ( 6!* 10!* 2^10 ) = 150 ' 738 ' 274 ' 937 ' 250个置换。组合总数: 1054560 * 150 ,738,274 ,937, 250 = 158, 962, 555,217, 826, 360, 000≈1.59 * 10^20
https://www.tuiliz.com/data/attachment/album/201906/27/214101rkauhs0masf2yasz.jpg
现在我们已经知道了恩尼格玛密码机器的不同部分,现在我们看看如何加密和解密消息的:转子顺序:以罗马数字( I - III )从1到3编号,每个转子以不同的顺序连接,当以不同的顺序放置在机架上时,它们将给出不同的输出结果。
https://www.tuiliz.com/data/attachment/album/201906/27/214102evdv4o62svmmcvpb.jpg
环设置:通过转子旁边的小孔显示的数字表示环设置。为每个转子分配一个环设置地面设置:密钥插接:两个字母可以用电线连接在一起。反射轮:电路通过转子,然后通过三个转子反射回来。一个例子:现在你有一台恩尼格玛密码机以及一份失窃名单信息:该信息说明如下:Datum (date DD/MM/YY): 04/09/1939Walzenlage (rotor order): | I | II | III |Ringstellung (ring setting): | 12 | 25 | 01 |Steckerverbindungen (plug setting): AF DU LQ VZ PI WX HM OF GD SCKenngruppen (identification group): LOL这意味着必须将转子I设置为12,转子II设置为位置25,转子III设置为1。接下来,将转子I放在左侧槽中,将转子II放在中间槽中,将转子III放在右侧槽中。转子III将旋转最快。现在所有这些都完成了,下面你还必须将上面列出的所有接线对接在一起。a与F,D与U,依此类推。然后采取下列步骤,确保双方能够进行沟通:发送方和接收方必须具有相同的恩尼格玛密码机,且配置处于相同的设置状态。这意味着要使用相同的反射轮、转子顺序、环设置和接地设置来加密和解密消息。在实际使用中,这些设置基本上每天一换,不固定的,因此在当年德国发报员都会收到当月所有不同设置的密钥表。如果这个月一结束,密钥表就没用了。现在,如果两端都相应地执行了这些步骤,发送方可以用他的机器加密HELLO,该机器可能输出类似于UZCFS的东西。然后接收方可以在他的机器上输入UZCFS,并输出HELLO。从而完成整个信息沟通。

不穿靴子的猫 发表于 2020-3-21 13:03:18

有一本叫做密码传奇的书专门介绍过这种密码机器,解释的非常详细。现在只有在电脑上使用enigma模拟器才能体验。
页: [1]
查看完整版本: 恩尼格玛密码机