破解最大动力是威胁下的恐惧
一战结束后欧洲暂时停止战争,因有《凡赛尔条约》限制德国发展兵力,即使欧洲其他国家知道德国已经有了恩尼格玛机,但也没有太多重视。
你想象不到的是波兰最开始在研究破解,原因是他担心西边被德国收复失地,东边又被苏联骚扰,若两边夹功就是汉堡包中间被压扁的鸡块。所以他们一直没放松密码学研究。
开始研究商用版,但商用版同军用结构不同
后知到法国间碟弄到恩尼格玛机军用说明书,就拿过来只研究岀了内部结构,但离解密还远,当时设计者已考虑到对方拥有一样的机器时还是不能破解才允许量产。
破解关健是知道加密前的初始设定
先找到三个步骤
1.设置接线板,接好26个字母中的六组。
2.设定好编码器几个齿轮的前后顺序。
3.每个齿轮第一个字母是什么
操作员每月收到一本新的密码本,上面记录着每天设定什么初始值。
但是他们一天发的所有信息不会只用设定的那一个密码,这很危险,万一密码本被获截,所有信息就泄漏,其实他们每发一条信息就有一个不同的密码,有人会想到很乱,其实不然,最初设定的密码是这些钥匙的总钥匙。
比如初始设定值为DKL, 脑子里面随便想了三个字母XYZ, 这时候就用DKL为XYZ加密第一次为BNW, 还要再加二次为UIO。那这个钥匙就是BNWUIO.
这六个字母形成后,这条密文真正的内容从第七个字母开始的。
为什么两加密两次?
1.让对方知道对应这六个字母的初始值是什么?
当对方收到这条信息时,他也要找今天的钥匙是什么,然后解开这六个字母就是这篇密文的钥匙,BNWIUO还原回去就是XYZXYZ.就用XYZ做为初始值。
2.如果还原回去变成了两个不同的循环如变成XYZCGH那么对方就要求要重发密文,这是因为受到干扰后钥匙会变。
开始怎么破解的
开始波兰就找了二十几位数学家,培训后留下最强的,他们是破解第一代恩尼格玛机的人。
当时他们知道了前六位是钥匙,也就找到了一个规律BNWIUO,B同I是对应相同的原文,N同U对应相同的原文,而BNW同IUO又是用同一个钥匙加密岀来的,求这个钥匙是什么。
就把当天所有窃取的密文来对应,我们知道B对应I, 但在其他六个字母中有时I对应F, F又对应B,这样就形成了一个环回到原路,BIF这三个字母连接线的数字就是3.
但是一天有那么多的密文,就不止三个循环,那没关系继续找对应,第一个字母有多少对应,几个数字循环,第二个字母有几个对应循环,然后写进字典。这个工作用了一年多。用这个方式当然数学家们用的数学方式也很复杂。
后面窃取到密文后就用此方式查字典找出钥匙。
第一代恩尼格玛机就是这么破的,也许有人会说同第二代的概率差不多,但第二代数学工具破解用得没有这么复杂,依然有浓重猜字迷的成份,这是第一次把数学提到这么高的位置。
我们可以想想,破解恩尼格玛机时我们在做的运算动作是什么?
对,就是去数截获的信息里字母环的数量和每个环上的连接数量。这个计算过程非常简单,就是数一数嘛。但环的数量和连接数,与恩尼格玛机的内部结构是怎么对应的呢?就不容易想了。
但经过详细统计后,机械电子结构和背后的数学描述却精确的吻合,每个齿轮的动作都和环与连接数,有逻辑关系。这就是数学方法,超越头脑风暴式猜字谜的最好例证。
我尝试花了很长时间来模拟恩尼格玛机的加密与解密,无不感受着数学计算的愉悦同满足,虽然这当中还有很多细节数学运算还没有完全弄懂,但已知树根是怎样带给树叶的养份了。
接下来写的是如何破解更难版本的恩尼格玛机了。
网友评论