作为古典密码学时代加密法发展的巅峰,恩尼格玛机的出现,意味着从此开始,密码学不再依赖纸和笔的运算,使用机械和电子加密的时代正式到来。
第一台恩尼格玛机,是一战刚刚结束的时候由德国发明家雪毕伍斯(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次。
再来计算一下有多少种替换的可能:
a.3个齿轮的排列位置可以是任意的,所以共有种排列方式;
b.3个齿轮的排列位置确定后,一共可以有种初始转动位置;
c.接线板上,从26个字母中任意选取6对字母互换的方式可以有
种
所以,替换的可能数有:
共有1亿亿余种可能。
更为关键的是,如此复杂的替换过程完成由机械完成,加密人员只需要设定好转子的初始位置,连接好接线板,然后像打字员一样正常输入字母就可以,密文随之自动生成。
这也就是恩尼格玛机为何如此受青睐的原因,它达到了安全和效率的完美平衡。
这样强大的加密杀器,究竟能不能被破解呢?
往期文章:
本人是官方授权简书会员推广专员,点击会员专属通道成为简书会员,您将会获得简书钻奖励及诸多权益!