作为古典密码学时代加密法发展的巅峰,恩尼格玛机的出现,意味着从此开始,密码学不再依赖纸和笔的运算,使用机械和电子加密的时代正式到来。
第一台恩尼格玛机,是一战刚刚结束的时候由德国发明家雪毕伍斯(Arthur Scherbius)和里特(Richard Ritter)制造出的。
它主要由三部分组成,分别是键盘、编码器和显示板。
1键盘
这相当于恩尼格玛机的“输入设备”,它与普通打字机相似,用来输入信息的原文。但出于安全考虑,键盘只有26个字母,而没有标点符号。
2显示板
这相当于恩尼格玛机的“输出设备”,板上显示26个字母,每个字母下面有一个小灯泡,用来显示加密或解密后的字母。
3编码器
这是恩尼格玛机的核心部分,由一堆可以手工设置的机械部件组成,主要包括了转子、反射器和接线板,通过线路与键盘和显示板相连接,任何地方的调整都会改变加密的结果。
转子一般有3套齿轮,类似于时钟的时针、分针、秒针,位于最右侧的齿轮每转动一圈,中间的齿轮转动一个刻度,每个齿轮有26个刻度,代表26个字母;
反射器固定不动,它与转子的3套齿轮位于同一个轴上,可以使解码过程完全重现编码过程;
接线板一般有6根连接线,将26个字母中的12个两两相连,比如字母A和B相连,那么输入字母A时,显示的就是B。
输入的字母每经过编码器中的一个装置,就会完成一次替换。
通过恩尼格玛机的组成可以看出,它基于的原理仍然是第二代加密法——替代法,只不过由于经过了多套替换,对应的原文与密文之间存在数以亿计种可能,同时也使频率分析法无用武之地。
使用恩尼格玛机完成一次加密,大概要经过9个步骤:
1设置好三个转子的初始值,并用6根插头电线连好接线板上的6对插口;
2在键盘上打明文,每打一个字母,该字母信号就会通过相应的电线传到接线板;
3在接线板上,如果该字母恰好属于6对连接起来的插口中的一对,则字母互换,否则字母不变,通过接线圆环把字母信号传到右面第一个齿轮上;
4该齿轮通过内部电线的连接方式,对输入的字母进行替换,然后传到中间的转轮,同时自己转运一个刻度;
5中间的齿轮再对字母进行替换,然后传到左边第一个齿轮;如果这时右边的齿轮恰好从25刻度转到0刻度,则中间齿轮转动一个刻度,否则不转;
6左边的齿轮再对字母进行替换,然后传给最左边的反射器;如果这时中间的齿轮恰好从25刻度转到0刻度,则左边齿轮转动一个刻度,否则不转;
7反射器对字母进行替换,然后传回给左边齿轮;
8字母信号再从左边齿轮、中间齿轮、右边齿轮和接线板依次转回,每经过一次都会进行一次字母替换;
9最后,信号传到字母板上,使相应字母下面的小灯泡点亮,显示出加密后的字母。
那么,这个加密过程,其安全性能达到什么程度呢?
我们可以看到,在整个加密过程中,一个字母要经过7-9次的替换:被3套齿轮各替换两次,被反射器替换一次,共7次;如果还经过接线板,则再加两次,一共9次。
再来计算一下有多少种替换的可能:
a3个齿轮的排列位置可以是任意的,所以共有 种排列方式;
b3个齿轮的排列位置确定后,一共可以有 种初始转动位置;
c接线板上,从26个字母中任意选取6对字母互换的方式可以有
种
所以,替换的可能数有:
共有1亿亿余种可能。
更为关键的是,如此复杂的替换过程完成由机械完成,加密人员只需要设定好转子的初始位置,连接好接线板,然后像打字员一样正常输入字母就可以,密文随之自动生成。
这也就是恩尼格玛机为何如此受青睐的原因,它达到了安全和效率的完美平衡。
这样强大的加密杀器,究竟能不能被破解呢?
往期文章:
密码那些事儿|(十三)尴尬的维吉尼亚30
密码那些事儿|(十二)短命的维吉尼亚20
密码那些事儿|(十一)南北战争时的维吉尼亚密码大战
密码那些事儿|(十)“钥匙”打开维吉尼亚的锁
密码那些事儿|(九)维吉尼亚登场
密码那些事儿|(八)玛丽女王被密码改变的人生
密码那些事儿|(七)以频率之矛,攻移位之盾
密码那些事儿|(六)中外古时候的移位加密
密码那些事儿|(五)换个位置,面目全非
密码那些事儿|(四)隐藏的消息
密码那些事儿|(三)“风语者”——从未被破解的密码
本人是官方授权会员推广专员,点击 会员专属通道 成为会员,您将会获得钻奖励及诸多权益!
《钻奖励调整公告》
棋盘密码的加密方法,其实方法十分简单,在密码学并不发达的古代,也够用了。棋盘密码的解题思路是这样
这种密码的原理是:通信双方各掌握一个mn列的矩阵,比如A列第一行写上“我”,A列第2行写上“的”……以此类推,构成:
所以,“我的名字叫XXX”的密文即:A1 A2 A3 A4 B1 B2。这样,一份密文就出来了。
使用这种密码表的加密也叫作 ADFGX 密码(密文中只有 A D F G X)
明文:HELLO 密文:DD XF AG AG DF
对于解密,对密文每两个字符一组,分别进行解密
由于密文仅包含5个字符,所以其密钥(也就是密码表)只有5!种可能
写脚本暴力攻击(brute-force)即可
棋盘密码的由来:
公元前2世纪前后希腊人提出了棋盘密码,在当时得到了广泛的运用。同时,它也是密码史上第一个密码。棋盘密码通过将26个字母设法变成十位数来达到加密的目的。棋盘密码的密钥是一个5×5的棋盘,将26个英文字母放置在里面。其中 i 和 j 共用一个密码。
以上就是关于密码那些事儿|(十四)古典密码的巅峰——恩尼格玛机全部的内容,包括:密码那些事儿|(十四)古典密码的巅峰——恩尼格玛机、关于棋盘密码(一种古典密码) 怎么解密,加密、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)