在现代生活中,密码早已成为许多人日常使用的东西。我们的微信有密码,银行卡有密码,甚至手机屏幕解锁也有密码。而在军事领域,密码更成为不可或缺的东西。就拿二战来说,德军的恩尼格玛密码机,就成为决定二战战局的关键因素之一。
恩尼格玛密码机是一款专用密码编程工具,和现在的电子密码编程很复杂不同,恩尼格玛密码机结构非常简单,它由3个类似齿轮的转子、1个26个英文字母键盘,和一个带灯泡的显示器组成。用今天的眼光看,恩尼格玛密码机有些简陋,然而就是这样一个有些简陋的机器,却让英国、美国以及波兰专家奋斗了几年才完成破译。
其实恩尼格玛密码机的密码编程方式非常简单,每个转子上有26个数字,三个转子进行数字组合。其实就是简单的26*26*26的数学概率问题,但17576个数字组合还是让破译者非常头疼。再加上恩尼格玛密码机的设计者,给三个齿轮增加了联动机制,第一个齿轮旋转一圈后,就会带动第二个齿轮旋转一个格,同理第二个齿轮转动一圈带动第三个转动,这样一来密码就又完成一次加密。破译难度再度提升。
简单来说,如果你在键盘上摁字母A,经过转子转换后,可能在显示屏上显示的就是字母F。而下一次你再摁A,经过转换可能就变成了字母B。这中间毫无规律可言,或者说有太多规律掺杂其中,变得找不到头绪。
这其实就是所有破译者面临的问题,谁都知道,恩尼格玛密码机的密码就是26个字母,但谁也无法破译。因为任何密码的破译都需要突破口,而这个突破口就是转子的运转规律。但很显然转子运转规律只有德国人才知道,所以破译者必须先搞到一份被破译的情报。
对于破译者来说,要想破译恩尼格玛密码机,首先就要找到转子的规律。而转子规律和排列一般德军情报部门都会提前约定好,而且这个转子规律还会时不时更改,这样一来破译就变的非常困难。
然而最终恩尼格玛密码机还是被盟军破译,而随着这款密码机被破译。盟军胜利提前了至少2年。而这款密码机之所以被破译,因为两件事,一件事德国情报人员叛变,将恩尼格玛密码机的转子运转方式和内部布线告诉了盟军。另一件事是一位波兰数学家的加入,靠着数学家的本能和强大的思维逻辑能力,最终完成了恩尼格玛密码机的破译。
虽然最终盟军完成了密码机的破译,但有一点可以肯定,如果没有叛徒和数学家的出现,盟军完成恩尼格玛密码机破译几乎是不可能完成的事情。这在没有计算机的上世纪30年代,可谓是一个壮举。
从这个侧面,我们也看出恩尼格玛密码机的设计有多么成功。直到今天,它复杂的密码加密逻辑和方法,还被许多密码学家奉为经典。