密码学系列之:明文攻击和Bletchley Park

简介: 密码学系列之:明文攻击和Bletchley Park

目录



简介


明文攻击就是指已经知道了部分明文和它对应的加密后的字段,从而可以推测出使用的加密手段或者密码本。明文攻击这个故事还要从二战时候说起。


crib和明文攻击


谈到明文攻击,就不能不讲到一个词crib和它的发源地布莱奇利公园(Bletchley Park)。


布莱奇利公园(Bletchley Park)是位于米尔顿凯恩斯(Buckinghamshire)的英国乡村房屋和庄园,它是由金融家和政治家赫伯特·莱昂爵士在1883年建造的, 在第二次世界大战期间成为同盟国密码破解的主要中心。


在第二次世界大战期间,该庄园内设有专门进行密码破译的研究所,该研究所主要负责破译轴心国的秘密通信,其中最重要的是德国的Enigma和Lorenz密码。在其早期人员中,密码破译团队拥有很多著名的人物,包括Alan Turing,Gordon Welchman,Hugh Alexander,Bill Tutte和Stuart Milner-Barry。直到战后多年,那里的工作才被公布于世。


正因为这个密码破译团队的杰出成效,破译了很多轴心国的密码,据说直接导致二战提前四年结束,如果没有它,二战的结果还是未知之数。


为了更加有效的破译密码,Bletchley Park的团队开始借助机械的力量来进行密码破解,最终发展了世界上第一台可编程数字电子计算机Colossus。Bletchley Park的密码破解活动于1946年结束,并于1970年代中期才对外公开。


crib这个词源自于一句关于抄袭的谚语:“I cribbed my answer from your test paper”。


那么crib在明文攻击中到底意味着什么呢?


比如同盟军截获到了轴心国发送的一个电报,那么应该怎么来进行破解呢?


当然,前提是那时候的加密手段还比较粗浅,基本上是一个字符或者单词被转换成了其他的字符或者单词。


同盟军已经拿到了电报了,比如是一封完全看不懂的邮件。那么如何来进行破解呢?


常见的做法就是从点到面,如果我们能够破解其中的一部分单词或者句子,那么对于我们理解整个密文肯定是有好处的,即使不能了解当前的密文,那么如果后面截获了其他的密文,也是可以对破解有所帮助的。


为了猜测密文对应的明文信息,Bletchley Park团队根据发送消息的时间和识别一些常规操作消息来猜测一些纯文本。例如,德国人每天在同一时间发送每日天气预报。因为军事报告的格式是非常统一的,所以在每封邮件的同一位置都应包含Wetter(德语为“天气”)一词。 当然,在消息末尾出现的“ Heil Hitler”也是非常容易猜测到的明文。


知道这些简单的明文往往是不够的,盟军需要知道更多更加关键的明文信息。为此有时候甚至会故意泄露一些消息给轴心国,比如某时某刻准备用空军轰炸某个地方,那么马上就会监控到的消息中很有可能就会包含轰炸和要轰炸的地方,这样就会为最终密码的破解提供了线索。


布莱奇利公园(Bletchley Park)


从1919到1942年间,Bletchley Park的最高指挥官是阿拉斯泰尔·丹尼斯顿(Alastair Denniston)。最初的人员是从海军部40室(NID25)和战争办公室的MI1b组成的。


当然还有一些其他的密码学家,那时候的密码学家主要是语言学家和国际象棋冠军,并且还招募了一些谜题填字游戏的顶级求解者,因为这些人具有较强的横向思维能力。


少不了的还有正规军也就是各大高校的教授和数学家,特别是剑桥和牛津大学的人。


牛津大学的彼得·特温(Peter Twinn)于1939年2月加入,]剑桥大学的艾伦·图灵和戈登·韦尔奇曼于1938年开始训练,并在宣战后的第二天与约翰·杰弗里斯一起向布莱奇利汇报。


后来招聘的密码分析家包括数学家Derek Taunt,Jack Good,Bill Tutte 和Max Newman。历史学家哈里·辛斯利(Harry Hinsley)以及国际象棋冠军休·亚历山大(Hugh Alexander)和斯图尔特·米尔纳·巴里(Stuart Milner-Barry)。


还有受聘为密码分析员的女性琼·克拉克(Joan Clarke)。



1945年1月,在代码破解工作的顶峰时期,有近10,000名人员在布莱奇利及其分站工作。其中约四分之三是妇女。许多妇女来自中产阶级背景,并在数学,物理学和工程学领域拥有学位,可以说妇女能顶半边天。

相关文章
|
算法 安全 PHP
密码学系列之二:密码学基本概念
密码学系列之二:密码学基本概念
密码学系列之二:密码学基本概念
|
安全 数据安全/隐私保护
密码学系列之一:密码学的前世今生
密码学系列之一:密码学的前世今生
|
安全 算法 量子技术
密码学系列之十:量子密码
密码学系列之十:量子密码
|
机器学习/深度学习 算法 安全
密码学系列之六:公钥密码体制
密码学系列之六:公钥密码体制
|
机器学习/深度学习 算法 JavaScript
密码学系列之四:一文搞懂序列密码
密码学系列之四:一文搞懂序列密码
1250 0
高等数学II-知识点(1)——原函数的概念、不定积分、求原函数的两种常用方法 (凑微分法、第二换元法)、分部积分法、有理函数原函数求法、典型三角函数原函数求法
高等数学II-知识点(1)——原函数的概念、不定积分、求原函数的两种常用方法 (凑微分法、第二换元法)、分部积分法、有理函数原函数求法、典型三角函数原函数求法
528 1
|
SQL 关系型数据库 MySQL
Python系列:教你使用PyMySQL操作MySQL数据库
Python系列:教你使用PyMySQL操作MySQL数据库
658 8
|
消息中间件 运维 数据管理
Kafka 如何基于 KRaft 实现集群最终一致性协调
Kafka 3.3.1 引入了 KRaft 元数据管理组件,替代 Zookeeper,以简化集群一致性维护,支持更大规模集群并减轻运维复杂性。在 Zookeeper 模式下,需同时运维 ZK 和 Broker,而 KRaft 模式仅需 3 个节点即可构成最小生产集群,且通信协调基于 Raft 协议,增强了一致性。KRaft 模式中,Controller 使用单线程处理请求,通过 KRaft 保持内存状态与多节点一致性。此外,Broker 根据 KRaft 记录更新元数据,实现声明式管理,提高集群协调效率。KRaft 的引入是集群协调机制的演进,采用事件驱动模型实现元数据的一致性。
714 1
Kafka 如何基于 KRaft 实现集群最终一致性协调
|
Linux Python
linux安装python3.11
linux安装python3.11
713 7
|
搜索推荐 机器人 索引
内容分发策略与 SEO 优化指南
内容分发是指通过各种媒介分享、发布或传播内容给受众的过程。这些媒介可以包括不同的渠道,例如社交媒体平台(Facebook、Twitter、LinkedIn、朋友圈、微博、小红书、B 站、抖音、公众号等)、电子邮件新闻稿、博客、播客、网站,甚至杂志和报纸等线下场所。内容分发的性质可以涵盖从博客文章、文章、视频、信息图表到播客的各种内容。内容分发的目的是使您的内容尽可能多地接触到相关受众,提高覆盖面、可见性和参与度。该策略可能涉及有机和付费两种分发方式,通常采用多渠道方法来最大限度地扩大覆盖面。
731 2