首页 > 其他分享 >恩尼格玛密码机的完整历史

恩尼格玛密码机的完整历史

时间:2023-09-27 14:56:13浏览次数:31  
标签:密码机 编码 玛机 尼格 图灵 密码 完整

目录

关键点

1、破解恩尼格玛密码机的密码对于在第二次世界大战期间击败纳粹并拯救数百万人的生命至关重要。
2、恩尼格玛密码和破解它的机器的完整故事直到 20 世纪 90 年代才被揭晓。
3、2014 年奥斯卡获奖影片《模仿游戏》以阿兰·图灵破解恩尼格玛密码的故事为主题。
4、恩尼格玛 (Enigma) 以爱德华·埃尔加 (Edward Elgar) 的管弦乐作品《恩尼格玛变奏曲》(Enigma Variations) 命名。
5、1942年,阿兰·图灵协助美国海军创建了Bombe解码器设备的模拟器。
6、一台恩尼格玛密码机在 2020 年的拍卖会上以 44 万美元的价格售出。


恩尼格玛机是德国工程师 Arthur Scherbius 于 1918 年发明的一种机电密码设备。该设备类似于手动打字机,使用一系列转子来打乱信息。
虽然谢尔比乌斯打算将该设备用于商业目的,但纳粹在第二次世界大战之前和期间使用它来编码从德国指挥部到纳粹军队的战略信息。
收件人还必须拥有一台恩尼格玛密码机才能解读消息。  

恩尼格玛密码机的历史

有关恩尼格玛机的完整细节已经丢失了数十年,直到 2003 年发现了一份旧手稿。
卡尔·德·卢 (Karl de Leeuw) 撰写的论文描述了恩尼格玛机,详细介绍了其发明者阿瑟·谢尔比乌斯 (Arthur Scherbius) 所做的一些更改。

该发明的第一个专利是由一家德国公司的联合创始人 Scherbius 和 Ritter 于 1918 年申请的,该公司创建的设备旨在对企业和政府使用的秘密类型的消息进行编码。当时,发明者们并不知道编码机将成为决定第二次世界大战胜负的关键因素。

历史学家认为,发明者以爱德华·埃尔加的一首管弦乐作品“谜语变奏曲”命名了该装置。这些编码机于 1923 年首次以“Enigma”品牌出售。该设备在 20 年代主要由商业行业使用,一些政府在第二次世界大战之前和期间开始使用它,其中最著名的是纳粹德国。

它如何工作及历史意义

参考

如何工作

与当今的技术相比,恩尼格玛机是一种相对简单的设备。从外观上看它很容易被误认为是20世纪初的手动打字机。但该机器产生的代码加密几乎无法破译。
密码机会将一个人输入的字母转换为不同的字母,这样没有解密密钥的人只能看到一堆无意义的字母,称为多字母替代密码。编码通信的预期接收者也需要同一台机器来解读消息。

恩尼格玛机是一种基于转子的编码机,外观和操作与打字机类似。其目的是对敏感性质的消息进行加扰和解扰。当一个人在机器上输入消息时,一组三个转子会改变字母,使消息变成混乱的、难以阅读的字母堆。转子的位置充当读取编码消息的加扰和解扰密钥。通过正确的转子设置,输入恩尼格玛机的编码信息也可以充当模拟器来重新创建原始的、可读的信息。

历史意义

恩尼格玛机的历史意义主要集中在它用于编码纳粹战略信息以及英国密码破译者破解恩尼格玛密码的努力。恩尼格玛机的发明也是现代加密技术进步的首要步骤之一。
第二次世界大战期间,德国指挥部使用加密机来防止盟军破译向纳粹军队广播的信息。盟军很快意识到,解密这些信息可以给他们带来决定性的优势,揭露纳粹依靠编码信息来确保安全的缺陷。

波兰在数学家玛丽安·雷耶夫斯基 (Marian Rejewski) 的领导下,在战争开始前破解了恩尼格玛密码。1939年,他们与英国解码器分享了这一知识,因为很明显德国入侵迫在眉睫。然而,在战争爆发之前,纳粹意识到他们的保密存在缺陷,他们通过每天更改密码系统来提高通信的安全性。盟军面临的问题就变成了如何足够快地破解密码,以跟上加密模式的日常变化。

波兰人的努力获得了成效,不过一劳永逸是不现实的,二战爆发前后德国人用一套组合拳,把波兰人的破解一朝打回解放前

Enigma密码的安全性得到加强,原本Bomba只需运转6台Enigma机,但破解加强版的Enigma需要同时运转60台!
波兰的算力达到了极限,因此在被德国占领之前,波兰将破译技术交给了英法由数学家艾伦·图灵领导的英国解码器秘密小组 Utra 的任务是破解恩尼格玛密码。
图灵制定了一项计划,旨在创建一种设备,该设备可以比数百名密码破译者的团队更快地执行密码破译数学,并且缺陷更少。
如果没有这台机器,恩尼格玛密码就无法在第二天被更改之前及时破译。阿兰·图灵发明的解码机导致了现代计算机的发明,被称为"炸弹"。
Bombe采用图灵称为"Turingery"的方法进行操作。它的设计基于恩尼格玛密码机的机械操作,解决方案依赖于学习每天产生新的加扰模式的设备上的转子位置。

当恩尼格玛机上设置的转子位置被破译后,密码破译者可以使用恩尼格玛机上的转子设置来读取加密的消息。战争期间图灵访问了美国,他分享的信息帮助美国海军实现了创建炸弹模拟器的目的。

据计算,到第二次世界大战结束时,"炸弹"使盟军能够比其他方式提前数年击败轴心国军队。如果没有图灵创造的设备,这场战争将导致数百万人丧生。

战后,图灵继续研究"通用图灵机"的想法,这是真正的工作计算机的第一个理论想法。他发表的"自动计算引擎"设计被认为是几年后出现的第一台功能计算机的先驱。

恩尼格玛机与手动打字机有着惊人的相似之处

德国军用Enigma密码机
Enigma密码机插线板
装在木质箱子里的Enigma密码机

标签:密码机,编码,玛机,尼格,图灵,密码,完整
From: https://www.cnblogs.com/smlile-you-me/p/17732717.html

相关文章

  • 基于Java的大学生汉服租赁网站的设计与实现(亮点:在线支付、ECharts图表展示、完整下单
    大学生汉服租赁网站一、前言二、我的优势2.1自己的网站2.2自己的小程序(小蔡coding)2.3有保障的售后2.4福利三、开发环境与技术3.1MySQL数据库3.2Vue前端技术3.3SpringBoot框架3.4微信小程序四、功能设计4.1主要功能描述五、系统实现5.1前端实现5.1.1汉服租赁5.1.2汉服......
  • Python - 读取CSV文件发现有重复数据,如何清洗以及保存为CSV文件,这里有完整的过程!!!!
    语言:Python功能:1、清洗CSV文件中重复数据。2、保存为CSV文件大体流程:1、首先观察CSV文件中的数据布局格式如何?2、通过csv包读取数据。并根据规则使用continue,来跳过本次循环,并将所需数据保存到列表A中,当列表A中的数据变成len(列表A)==2时,将此数据保存到列......
  • 完整教程:使用SPRING BOOT实现大文件断点续传及文件校验
    一、简介随着互联网的快速发展,大文件的传输成为了互联网应用的重要组成部分。然而,由于网络不稳定等因素的影响,大文件的传输经常会出现中断的情况,这时需要重新传输,导致传输效率低下。为了解决这个问题,可以实现大文件的断点续传功能。断点续传功能可以在传输中断后继续传输,而不需......
  • iOS应用程序发布流程:从测试到上架的完整指南
    ​ 目录 转载:iOS应用程序的签名、重签名和安装测试前言打开要处理的IPA文件设置签名使用的证书和描述文件开始iosipa重签名 转载:iOS应用程序的签名、重签名和安装测试前言ipa编译出来后,或者ipa进行修改后,需要进行重新签名才能安装到测试手机,或者提交appstore供a......
  • 2022完整iOS APP发布App Store上架流程指南
    如果你是新手,将在这里清晰发布到AppStore整个上架流程,还有相应的流程解决方案。如果你上架过iOSAPP,这里会了解到有更快捷的上架过程。上架iOS最基本需要一个付费的开发者账号,还没有的话申请一个或者借用。通常也还需要一台Mac电脑,不过这里介绍到不用Mac在Windows系统中直接发......
  • 2022最简单易懂的IOS App打包发布完整流程
    创建appid标识符进入apple开发者中心点击Account 点击Certificates,Identifiers&Profiles,创建AppIDS标识符,点击左侧菜单栏Identifiers,再点击+按钮。选择AppIDs,再点击Continue按钮再次确认填入和勾选的信息后,点击Register按钮(这里的id必须和HBulder打包时候的appID保持一致)......
  • 四千行代码写的桌面操作系统GrapeOS完整代码开源了
    https://www.cnblogs.com/chengyujia/p/17715204.html 简介学习操作系统原理最好的方法是自己写一个简单的操作系统。GrapeOS是一个非常简单的x86多任务桌面操作系统,源代码只有四千行,非常适合用来学习操作系统原理。源码地址:https://gitee.com/jackchengyujia/grapeos视频教程......
  • 一次完整的数据分析流程包括哪些环节
    一次完整的数据分析流程通常包括以下环节:1.确定分析目标和问题:在开始数据分析之前,需要明确分析的目标和问题。这可以是探索性的、预测性的或解决特定业务问题的分析。明确目标和问题有助于确定后续的数据采集、处理和分析方法。2.数据需求和采集:根据分析目标,确定需要的数据类......
  • 四千行代码写的桌面操作系统GrapeOS完整代码开源了
    简介学习操作系统原理最好的方法是自己写一个简单的操作系统。GrapeOS是一个非常简单的x86多任务桌面操作系统,源代码只有四千行,非常适合用来学习操作系统原理。源码地址:https://gitee.com/jackchengyujia/grapeos视频教程地址:https://www.bilibili.com/video/BV1nv4y1b7Nj/课......
  • 5.1 内存CRC32完整性检测
    CRC校验技术是用于检测数据传输或存储过程中是否出现了错误的一种方法,校验算法可以通过计算应用与数据的循环冗余校验(CRC)检验值来检测任何数据损坏。通过运用本校验技术我们可以实现对特定内存区域以及磁盘文件进行完整性检测,并以此来判定特定程序内存是否发生了变化,如果发生变化......