论文部分内容阅读
在第二次世界大战中,密码学发生了一系列传奇式的故事,特别是围绕恩尼格玛密码设计和破译的战争,跌宕起伏,尽显人类智慧之美。德国人亚瑟·谢尔比乌斯发明了恩尼格玛,波兰人雷耶夫斯基初步破译了恩尼格玛,而英国人阿兰·图灵则终结了恩尼格玛。今天,我们就一起来了解下恩尼格玛的构造和原理。
恩尼格玛是世界上第一台电气机械装置的密码机,其形状如同一台打印机,它在20世纪30年代后期被用于第二次世界大战,现藏于意大利米兰国家科学技术博物馆。
恩尼格玛由键盘(Key-board)、灯盘(Lampboard)、转轮组(Rotors)、插线板(Plugboard)4个主要部分构成。键盘与普通打字机的键盘类似,但只有26个字母,没有标点符号;灯盘位于键盘之后,其上有26个字母,每个字母下面有一个小灯泡,用于显示加密或解密后的字母;转轮组位于灯盘后,在盖板之下,从外面只能看到3个转轮的部分齿状边缘和一个数字,其中齿状物用于手动转动轮子,而数字表示轮子的当前位置;插线板位于键盘下方,恩尼格玛的正面。
转轮组包括3个转轮和1个反射轮,它们都套在同一根轴上,反射轮在最左边。转轮是恩尼格玛的核心部件,转轮的圆周上刻有1到26的数字,转轮的正面有26个触点、背面有26个触针。一个轮子的触点可以和另一个轮子的触针套接在一起,形成转轮组。在转轮内部,触点和触针之间通过电线相互连接,从而形成了一种代换关系。转轮转动后,接线位置随之改变,代换关系也会跟着变化。每当键盘上键入一个字母,位于最右边的转轮就会转一格;右转轮每转完一圈26格,中间的转轮就会转一格;中间转轮每转完一圈26格,左边的转轮就转一格。反射轮则始终不动,它对加密强度没有影响,但是起到了可以使解密过程和加密过程完全一样的作用。
插线板上面有26个插口,代表26个字母。使用时可用一根电线把任意两个插口连接起来,比如说可以把A插口和J插口连接起来,这时就会把键盘上的A和J两个按键互换,即如果按A键就会得到J,按J就会得到A。
当使用恩尼格玛进行加密时,其过程如下:
(1)设好3个转轮的初始值,并用6根电线连好插线板上的6对插口。
(2)在键盘上输入明文,每输入一个字母,该字母信号就会通过相应的电线传到插线板。
(3)在插线板上,如果该字母正好属于6对连接插口中的一对,就互换字母,否则就不互换。然后,该字母信号会传到右转轮上。
(4)右转轮通过内部电线的连接方式,对输入的字母作代换,然后传到中间转轮,同时转动一格。
(5)中间转轮再对字母作代换,然后传到左边转轮。这时如果右边转轮从26格转到1格,则转动一格,否则不转。
(6)左边的转轮再对字母作代换,然后传给反射轮。这时如果中间的转轮正好从26格转到1格,则其自己也转动一格,否则不转。
(7)反射轮通过反射电路将结果传给灯盘,灯盘上对应密文字母的小灯泡被点亮。
由于反射电路的巧妙设计,恩尼格玛的解密与加密是相同的。在设定好了与加密时一样的转轮初始值和插线板接线后,在键盘上打入密文,执行以上步骤后,在灯盘上就显示出了明文。
一個插线板没有任何连线的恩尼格玛,是如何对明文消息“ABC”进行加密的呢?如图所示,当从键盘输入字母A时,通过右轮子,A被代换成了Y;再经过中轮子,Y被代换成了R;最后经过左轮子,R被代换成了E。也就是说,A经过三次代换后,最终被加密成了E。当A字母被加密后,右轮子会向上移动一格。当接下来再输入字母B时,B会被最终代换成T。同样,右轮子也会向上移动一格。当接下来再输入字母C时,C会被最终代换成G。这样,明文“ABC”就被加密成了密文“ETG”。
认识恩尼格玛
恩尼格玛是世界上第一台电气机械装置的密码机,其形状如同一台打印机,它在20世纪30年代后期被用于第二次世界大战,现藏于意大利米兰国家科学技术博物馆。
恩尼格玛由键盘(Key-board)、灯盘(Lampboard)、转轮组(Rotors)、插线板(Plugboard)4个主要部分构成。键盘与普通打字机的键盘类似,但只有26个字母,没有标点符号;灯盘位于键盘之后,其上有26个字母,每个字母下面有一个小灯泡,用于显示加密或解密后的字母;转轮组位于灯盘后,在盖板之下,从外面只能看到3个转轮的部分齿状边缘和一个数字,其中齿状物用于手动转动轮子,而数字表示轮子的当前位置;插线板位于键盘下方,恩尼格玛的正面。
转轮组包括3个转轮和1个反射轮,它们都套在同一根轴上,反射轮在最左边。转轮是恩尼格玛的核心部件,转轮的圆周上刻有1到26的数字,转轮的正面有26个触点、背面有26个触针。一个轮子的触点可以和另一个轮子的触针套接在一起,形成转轮组。在转轮内部,触点和触针之间通过电线相互连接,从而形成了一种代换关系。转轮转动后,接线位置随之改变,代换关系也会跟着变化。每当键盘上键入一个字母,位于最右边的转轮就会转一格;右转轮每转完一圈26格,中间的转轮就会转一格;中间转轮每转完一圈26格,左边的转轮就转一格。反射轮则始终不动,它对加密强度没有影响,但是起到了可以使解密过程和加密过程完全一样的作用。
插线板上面有26个插口,代表26个字母。使用时可用一根电线把任意两个插口连接起来,比如说可以把A插口和J插口连接起来,这时就会把键盘上的A和J两个按键互换,即如果按A键就会得到J,按J就会得到A。
恩尼格玛加密、解密过程
当使用恩尼格玛进行加密时,其过程如下:
(1)设好3个转轮的初始值,并用6根电线连好插线板上的6对插口。
(2)在键盘上输入明文,每输入一个字母,该字母信号就会通过相应的电线传到插线板。
(3)在插线板上,如果该字母正好属于6对连接插口中的一对,就互换字母,否则就不互换。然后,该字母信号会传到右转轮上。
(4)右转轮通过内部电线的连接方式,对输入的字母作代换,然后传到中间转轮,同时转动一格。
(5)中间转轮再对字母作代换,然后传到左边转轮。这时如果右边转轮从26格转到1格,则转动一格,否则不转。
(6)左边的转轮再对字母作代换,然后传给反射轮。这时如果中间的转轮正好从26格转到1格,则其自己也转动一格,否则不转。
(7)反射轮通过反射电路将结果传给灯盘,灯盘上对应密文字母的小灯泡被点亮。
由于反射电路的巧妙设计,恩尼格玛的解密与加密是相同的。在设定好了与加密时一样的转轮初始值和插线板接线后,在键盘上打入密文,执行以上步骤后,在灯盘上就显示出了明文。
恩尼格玛加密的例子
一個插线板没有任何连线的恩尼格玛,是如何对明文消息“ABC”进行加密的呢?如图所示,当从键盘输入字母A时,通过右轮子,A被代换成了Y;再经过中轮子,Y被代换成了R;最后经过左轮子,R被代换成了E。也就是说,A经过三次代换后,最终被加密成了E。当A字母被加密后,右轮子会向上移动一格。当接下来再输入字母B时,B会被最终代换成T。同样,右轮子也会向上移动一格。当接下来再输入字母C时,C会被最终代换成G。这样,明文“ABC”就被加密成了密文“ETG”。