为Enigma 破译打开新局面的是波兰的密码破译专家雷耶夫斯基(Marian Rejewski) 。雷耶夫斯基得到了法国提供的信息支援,并在此基础上提出了通过密文找到每日密码的方法 。
由于每日密码在一天之中是不会改变的,因此密码破译者一天内所截获的所有通信,都是用同一个密码进行加密的 。而且,这些密文都有一个共同的特点 , 那就是通信密码都会重复两次 。以ATCDVT 为例,我们可以知道第1 个字母和第4 个字母(A 和D),第2 个字母和第5 个字母(T 和V),第3 个字母和第6 个字母(C 和T)都是由相同的明文字母加密得到的 。此外,我们还知道,在第1 个字母和第4 个字母的加密过程中,转子1 旋转了3/26 圈 。通过上述事实以及大量的密文,雷耶夫斯基对密文字母的排列组合进行了深入的研究 。
3 个转子的顺序共有3×2×1=6 种可能,3 个转子的旋转位置共有26×26×26=17576 种组合 。雷耶夫斯基制作了6 台机器 , 分别对这17576 种组合进行检查 。通过使用这些机器,他在大约两小时内通过大量的密文找到了每日密码 。
由于担心希特勒进攻波兰导致Enigma 破译的线索付之一炬,波兰决定将这些情报提供给英国和法国 。于是,Enigma 破译的接力棒 , 就从波兰传给了英法 。此后不久,第二次世界大战就全面爆发了 。
英国的密码专家们在布莱切利园集中进行了Enigma 的破译工作,其中,现代计算机之父阿兰·图灵(Alan Turing)也是破译团队的一员 。图灵根据之前所获得的情报继续研究,终于在1940 年研制出了用于破译Enigma 的机器 。Enigma 这一机器创造出了难以破译的密码,但最终战胜Enigma 的却是另一台机器 。
Enigma 的破译过程十分冗长和复杂,在这里无法详细介绍 。对此感兴趣的读者请参阅《密码故事:人类智力的另类较量》(The Code Book: The Science of Secrecy from Ancient Egypt to Quantum Cryptography)[Singh] 以及《艾伦·图灵传: 如谜的解谜者》(Alan Turing: The Enigma)[Hodges] 。
小测验3 没有L 的密文
第二次世界大战中 , 英军的密码破译者截获了一段Enigma 的密文 , 他们发现在密文中字母L 一次都没有出现 。据说密码破译者根据没有L 这一事实推测出了明文,那么明文到底是什么呢?
(本小测验是根据Rudolf Kippenhahn 所著的Code Breaking: A History and Exploration 一书中的记载改编而来的)答案见文末 。
思考为什么要将密码算法和密钥分开呢
我们在介绍密码系统时,经常会说“密码算法是○○,密钥是△△”,也就是说,我们有意识地对密码算法和密钥进行了区分 。下面我们来思考一下,将密码算法和密钥分开到底有什么意义呢?
我们来列举一下本文介绍过的密码系统的“密码算法”和“密钥” 。
恺撒密码
密码算法:将明文中的各个字母按照指定的字母数平移
密钥:平移的字母数量
简单替换密码
密码算法:按照替换表对字母表进行替换
密钥:替换表
Enigma(通信密码的加密)
密码算法: 使用 Enigma 密码机,通过接线板的接线方式、3 个转子的顺序、每个转子的旋转位置对字母进行替换
密钥(每日密码):接线板的接线方式、3 个转子的顺序、每个转子的旋转位置
Enigma(通信电文的加密)
密码算法: 使用接线板的接线方式和 3 个转子的顺序固定的 Enigma 密码机,按照每个转子 的旋转位置对字母进行替换
密钥(通信密码):每个转子的旋转位置
——
仔细研究一下每一对密码算法和密钥的组合就会发现,在密码算法中必然存在可变部分,而这些可变部分就相当于密钥 。当密码算法和密钥都确定时 , 加密的方法也就确定了 。
- 如何建立婚内的信任关系 福原爱江宏杰的婚姻让人深思
- 孩子上托班屁股出现红印 原因让人怒气填胸
- 预售超时仍旧不发货「预售能超一个月期满也不发货商家到底咋想的超长预售让人心累」
- 老人去世前点外卖感谢公交司机 背后的故事让人泪目
- 30岁之后为什么在网店越来越难买到合适的衣服了「30岁之后为什么在网店越来越难买到合适的衣服了」
- 淘宝某些网店促销手段真的让人唏嘘嘛「淘宝某些网店促销手段真的让人唏嘘」
- 怀孕前三个月为什么不能公开 害怕让人空欢喜一场
- 房子7天自燃40多次 这个发现让人细思极恐
- 影视剧中的反派角色 让人恨不起来的反派角色
- 小伙上门报恩老人闭门不见 背后的原因让人很暖心