恩格玛密码机的工作原理
主要组成部分:
1.键盘:输入明文
2.灯盘:在键盘上输入一个字母,会有相应的字母亮起来,代表被加密后的字母
3.转子:加密的核心,后边会详细讲
4.插线板:为提高安全性增加的装置,后边会讲
加密核心:转子
转子有两面,分别有26个点对应26个字母,转子两边的26个点用了26条导线连接起来,但是左边的A不和右边的A相连,上图中右边的杂乱的导线实现了这种对应关系,我们可以将其看作是我们最开始提到的单表替换。
也就是一个转子代表了一个单表替换关系。左边输入明文,右边输出对应的单表替换的密文。
恩格玛机使用了三个转子串联起来了.
三个转子串联,第一个转子的输出作为第二个转子的输入,第二个转子的输出作为第三个转子的输入。
举例:
A经过三个转子加密就变成了T。由于三个转子都是可以转动的,上图的中的箭头实际上是触点,并不是导线连死了,比如转子二向上转动一格,第一个转子的输出R就对应到了第二个转子的输入F上了,最后经过加密为:A->G->F->k->L->w.
由于每个转子都有26中可能的位置,所以三个转子一共可以提供26X26X26=17576个不同的密码表。三个转子有六种不同的排列方式,所以密码表的数量又增加到了17576X6=105456.
后面又增加了上面图片中的插线板,将密码数量进一步增大了1000亿倍(插线板的原理稍后介绍)。
参考:https://blog.csdn.net/darmao/article/details/84504457
恩格玛密码机的工作原理相关推荐
- python编程挑战——使用python实现恩格玛机(1)
想起一个好玩的事情,使用python来实现德军在二战时加密的设备--恩格玛机. 那么什么是恩格玛机,他是怎么工作的?这篇文章提供了很详细的说明: https://www.zhihu.com/quest ...
- 单表恩格玛机的源码实现
最近看了一部电影,叫<模仿游戏>,主要讲的就是二战期间图灵破解德军通讯密码的故事,最后的意义是导致二战提前两年结束,拯救了至少1400万人的生命.然后自己一时兴起就写了一个单表随机排列的恩 ...
- Enigma Sim-英格玛密码机模拟器
Enigma Sim是一款Enigma(英格玛)密码机模拟软件,能够对信息进行多表代换加密.该模拟器高度还原了二战时期德国所使用的三种型号Enigma的功能和细节,转子和反射器所对应的字母代换表都参考 ...
- 路由和交换机工作原理
路由器与交换机的工作原理 计算机网络往往由许多种不同类型的网络互连连接而成.如果几个计算机网络只是在物理上连接在一起,它们之间并不能进行通信,那么这种"互连"并没有什么实际意义.因 ...
- 晶体三极管如何工作的?不,我是问它的真实工作原理
简 介: 本文节选自 WILLIAM J. BEATY 在1995年写的一篇博文: HOW DO TRANSISTORS WORK? NO, HOW DO THEY REALLY WORK? ,他就自 ...
- 前端必读:浏览器内部工作原理
前端必读:浏览器内部工作原理 作者: Tali Garsiel 发布时间: 2012-02-09 14:32 阅读: 2133 次 原文链接 全屏阅读 [收藏] http://kb.c ...
- 计算机生活工作原理,计算机基本工作原理是什么?
在介绍计算机的工作原理之前,首先了解一下什么是计算机指令. 简单的理解,指令指的是能被计算机识别并执行的二进制代码,它规定了计算机能够完成的某一种操作.一条指令通常由 2 部分组成,分别是操作码和操作 ...
- 现代浏览器的工作原理
英文原文:Tali Garsiel,编译:zzzaquarius 简介 浏览器可以被认为是使用最广泛的软件,本文将介绍浏览器的工 作原理,我们将看到,从你在地址栏输入google.com到你看到goo ...
- 详细解读神经网络十大误解,再也不会弄错它的工作原理
来源:http://www.cstor.cn/textdetail_10544.html_biz=MjM5OTA1MDUyMA==&mid=407358558&idx=2&sn ...
- 【转载】现代浏览器的工作原理
原文:http://taligarsiel.com/Projects/howbrowserswork1.htm 编译:zzzaquarius http://blog.jobbole.com/1274 ...
最新文章
- $g.$utils.实用工具类
- 有效用例模式阅读笔记三
- 支付宝支付 第六集:生成支付二维码
- 贝叶斯估计和最大后验估计
- 子网划分以及子网掩码
- 计算机英语反思总结,计算机在英语教学中辅助作用的反思
- Python3.6 deep learning first step
- sqlserver 判断字段是否为空字符串或者null
- 一些比较隐秘的OJ的网址
- 拓端tecdat|python隶属关系图模型:基于模型的网络中密集重叠社区检测方法
- 微型计算机控制技术第三版第四章课后答案,微型计算机控制技术第4章习题答案.doc...
- web前端常见浏览器兼容性问题以及解决技巧
- php temp 删除,c盘temp文件夹可以删除吗
- 各种显示接口DBI、DPI、LTDC、DSI、FSMC
- 部署基于SAWP的低成本开源CRM系统
- IT狂人职场路:揭秘华为百度高管如何炼成?
- 计算机图形学6--讨论多边形
- 爪哇国新游记之十五----泛型动态数组类
- 书籍 -- 《高性能MySQL》持续更新中(四)
- 奈何桥上经过的地方,看醒了多少人