《模仿游戏》获第87届奥斯卡金像奖最佳改编剧本奖。 《模仿游戏》讲述了“计算机科学之父”艾伦·图灵的传奇人生,故事主要聚焦于图灵协助盟军破译德国密码系统“英格玛”,从而扭转二战战局的经历。
这部由“卷福”主演的《模仿游戏》曾拿下8项奥斯卡提名、5项金球奖提名,但引进国内的路途却曲曲折折,在经历了全球同步上映无望之后,时隔七个月正式公映又不幸遇上“国产保护月”,上映空间被缩减无几(每日不足5%的排片,上映六天,仅报收1840万……)
艾伦·图灵,计算机科学之父,战时密码的破译者,偏见的牺牲品。 艾伦·图灵,计算机科学之父,战时密码的破译者,偏见的牺牲品。 ——英国官方给图灵的纪念铜牌
Enigma:密码学界划时代的丰碑 德国人 英国天才的数学家和 亚瑟·谢尔比乌斯 波兰数学家和密码学家 计算机理论专家 马里安·雷耶夫斯基 阿兰·图灵 波兰数学家和密码学家 马里安·雷耶夫斯基
Enigma密码机 创世纪的机械密码机 发明者: Arthur Scherbius 亚瑟·谢尔比乌斯 时间:1918 意义:彻底改变了手工加密的历史,实现了加密的机械化 Enigma:德语:谜 因此又称“谜密”
构成
主要部件:转子
转子 加密一次,转子就旋转一次,这样对应关系就变了 这就是谢尔比乌斯关于ENIGMA的最重要的设计:每次使用不同的替换密钥
输入一个字母后 最初设置
多转子 第一个转子旋转一周,就带动第二个转子旋转; 第二个转子旋转一周,就带动第三个转子旋转 三个轮子,可以变化出26*26*26=17576种字母代换关系 如果增加轮子,字母间的代换关系将增加26种 相当于使用17576张字母代换表进行加密,完全打乱了字母频率,因而频率分析完全失效 使用简单的强力破解: 对第一个明文字母:有17576变换,对第二个明文字母:有17576变换,对10个字母的密文:17576^10=10^42种变换,其中一种是对的 但由于密码机的转轮之间的关系,实际的变换没有这么多。密钥为三个字母,共17576种,此时强力破解有效。
反射器
反射器实物
加密解密过程 发送消息过程 发信人首先要调节三个转子的方向,使它们处于17576个方向中的一个(事实上转子的初始方向就是密匙) 然后依次键入明文,并把闪亮的字母依次记下来,然后就可以把加密后的消息用比如电报的方式发送出去。 解密过程 当收信方收到电文后,使用一台相同的ENIGMA,按照原来的约定,把转子的方向调整到和发信方相同的初始方向上, 然后依次键入收到的密文,并把闪亮的字母依次记下来,就得到了明文。 结果: 于是加密和解密的过程就是完全一样的 这都是反射器起的作用,也是此系统非常出彩的地方之一。(当然副作用也很厉害)
连接板 方案4:增加单表替换 加连接板:输入字母的两两交换 连接板和线
连接板用途示意图
密码分析 一代巨星 横空出世! 连接板上两两交换6对字母的可能性数目非常巨大,有100391791500种 看看这时的密钥数量: 转子自身的初始方向:26*26*26=17576 转子之间的相互位置:6 连接板连线的状况:100391791500 所有可能的密钥数量:10^16 结果: 密钥数量暴增,暴力破解无效 频率分析无效 Kasiski试验无效 一代巨星 横空出世!
商业上的成功 历史: 1918年发明 1923年,A型出现,带反射板 1926年,获得德国海军订单,接着政府,企业,铁路部门开始使用 1928年,德国陆军,空军采购 … 仅德国军队就采购了3万台
成功的关键? 技术领先: Enigma是复合加密体制: 多表代换+单表代换 密钥空间巨大,所有人都认为是不可破的 时代需要 一战英国破译德国密码的解密,对德国刺激很大 战争?
Enigma的破解 随着德国军队装备Enigma,最着急的是 波兰人 1926年2月,波兰人发现德军海军密码没法破译了 1928年7月,发现德国国防军的密码无法破译了 无法了解德军动态! 必须破译 方法: 语言学家不行了,寻找数学家 从接近德国的Poznam大学,招募数学专业学生 著名的波兰三杰,就出自这个专业,包括破译Enigma的关键人物:Marian Rejewski(马里安·雷耶夫斯基)
波兰数学家的功绩 马里安·亚当·雷耶夫斯基(Marian Adam Rejewski,1905年-1980年),波兰数学家和密码学家。 20世纪30年代领导波兰密码学家率先对德国使用的Enigma密码进行了系统性的研究和破译。 在破译过程中,雷耶夫斯基首次将严格的数学化方法应用到密码破译领域,这在密码学的历史上是一个重要成就。 雷耶夫斯基等人在二战期间破译了大量来自德国的信息,他们的工作成为整个二战期间盟国破译德军Enigma密码的基础。 雷耶夫斯基与波兰数学家杰尔兹·罗佐基和亨里克·佐加尔斯基并称为密码研究领域的“波兰三杰”。 波兰三杰
布莱奇利庄园 《拦截密码战》 布莱奇利园当局曾以《每日电讯报》的填字游戏作为面试测试,限令面试者要在12分钟内完成填字游戏。此外,该报社亦曾被要求举办填字游戏比赛,然后再招揽胜出者参与“一项特别的工作,为战事作出贡献”。
阿兰·图灵(Alan Turing) 这个名字无论是在计算机领域、数学领域、人工智能领域还是哲学、逻辑学等领域,都可谓“掷地有声”。图灵是计算机逻辑的奠基者,许多人工智能的重要方法也源自这位伟大的科学家。 他在24岁时提出了图灵机理论,31岁参与了Colossus(二战时,英国破解德国通讯密码的计算机)的研制,33岁时构思了仿真系统,35岁提出自动程序设计概念,38岁设计了“图灵测试”,在后来还创造了一门新学科—非线性力学。虽然图灵去世时只有42岁,但在其短暂而离奇的生涯中的那些科技成就,已让后人享用不尽。人们仰望着这位伟大的英国科学家,把“计算机之父”、“人工智能之父”、“破译之父”等等头衔都加冕在了他身上,甚至认为,他在技术上的贡献及对未来世界的影响几乎可与牛顿、爱因斯坦等巨人比肩。
英国的破译 Bletchley Park(布莱奇利庄园) 阿兰.图灵(Alan Turing) 方法: 针对Enigma密码机的特性:自反的 所以,某一位如果从来没有某字母,则可能就是该字母 同时,针对德军报文发送的特点(如每日6:05分发送天气预报),猜测与天气有关的单词
如天气预报密文 第7个字母:从来不出现W 第8个字母:从来不出现E 第9个字母:从来不出现T 第10个字母:从来不出现T 第11个字母:从来不出现E 第12个字母:从来不出现R 这些字母很可能就是WETTER 由此构造明文-密文关系,以及字母循环圈
如 W E T T E R E T Q W K Y 字母循环 W-E-T-W
方法 根据猜测的结果,将三台密码机如图连接 无论连接板如何,只要转子位置对了,这个电路将是通的。 因而连好电路后,可以通过自动旋转轮子,直到电路通了就停下来,此时的转轮位置,就是初始转轮位置 消除了连接板的效应
因此,英国人也制造了自动破解的机器,称为bombe
英国bombe 波兰的bomba 美国版本bombe
对付Enigma的Bombe 1941年,英国制造了16台bombe 1943年底,英国共有99台Bombe 1945年3月,英国共有211台Bombe 结果: 德军的报文,3个小时就能破译 破译队伍:12000人 费用:耗资惊人,倾全国之力 Enigma:3万USD Bombe:?? 代价!
战果 1940年,破译纳粹空军“RED”通用密钥网 1941年,纳粹北非空军作战密钥网被攻破 1942年,纳粹空军多个密钥网被攻破 1941年,纳粹海军多个密钥网被攻破 … 1943年8月29日,本月1-18日所有截获电文全部被破译
后话:Enigma输在哪里 对Enigma安全性估计过高 导致德国在使用掉以轻心 导致盟国一开始不敢轻言破解 德国在使用时的所犯的错误是被破解的原因 军民混用 使用规则制定错误 初始转轮设置变动周期过长 加密的密文与密钥一起发送 新旧机型混用 不同密级文件,都用Enigma处理 格式错误:死板的格式
启示 科学技术的发展,是密码学前进的基石 实践的需要,是推动密码科学前进的最大动力 密码编码和分析,是相互对抗和相互促进的,相辅相成 密码对抗中,人的因素是第一位的