分享

杀人不见血的密码大战

 老头cnc 2014-01-23
    如果密钥和密码加密的算法一样都没有,手头只有很多加密过的短信,破解它们还是有可能的,不过需要的技术就很高了,统计符号频率的简单方法很多时候是行不通的,密码破解者需要从密码的蛛丝马迹中找出其他各种隐藏的规律。我们要说的图灵在二战的时候就曾把德军一套无比复杂的锁和钥匙化解为透明一般。

       在二战的时候,人格分裂超人、偏执变态狂外加国际甲级战犯——希特勒带领着他的纳粹大军席卷了大半个欧洲,以闪电战吞并了一个又一个国家,在狂轰滥炸之下,英伦三岛岌岌可危,大英帝国全国上下也要进行艰苦的“抗战”了。

       决定战场成败的除了依靠天时地利、前线战士英勇搏杀、武器精良以外,保证军机不泄漏,一举一动敌人都无法察觉,同样至关重要,这就要靠军事上的密码了,德国军方对于密码保密方面自然下了不少功夫。

      在那个年代,真正的计算机还没有出现,不过德国海陆空全军上下都装备了一种叫“enigma”的机器。这种机器外观看起来只是一个普通小箱子,上面有一个包括着各个字母的键盘,还有一个“显示屏”,不过这个屏幕很简单,只是每个字母旁边有一个灯。在键盘和显示屏之间的构造复杂无比,有三个大齿轮,每个大齿轮可以把它们的位置调到26个字母中的一个。在机器的旁边还有一大堆插孔,每次可以选择把其中的一些字母两两连到一起。

这货就是enigma机器

       这台机器功能极其强大,如果想把一封文件变成加密的,只要把所有的字母逐一在键盘上打出,看“显示屏”上哪一个灯亮,把相应的字母记录下来,就成了密文。

       首先,使用者一边在键盘上敲打的时候,三个轮子一边还会转,里面转盘和连线的位置会不断变化,这样文件上第一个字母加密的方式和第二个、第三个都是不一样的,截获一封密文密文之后,从里面很难发现什么规律。

enigma上的三个轮子

       其次,不只是同一封电报里每一个字母可以以不同的形式加密,对于整封电报,只要对于机器稍微做一点点调整,产生的密文就会面目全非。使用电报的人首先可以调整好三个轮子的初始位置,每个轮子上有26个位置可以选择,一共有26*26*26=17576种可能;三个轮子的排列顺序还有6种可能,合到一起就有10万多种可能。这还不算完,最后还可以从26个字母里选出六对字母进行两两交换,比如把b和e两个小孔连到一起,原本密文上的b就变成了e,e就变成了b。经过好几层加密,最后这台小小的机器可以产生的加密方案一共有惊人的1亿亿种!

图里面把A-J,S-O连到了一起,就代表密文A和J,S和O互相交换过来了

       其实破解密码有一种“耍流氓”的方法,就是试遍所有可能的加密方案,看其中的哪种能把密文复原成有意义的文字,也就是所谓的“暴力式破解”,可是面对enigma如此多的可能性,想“很黄很暴力”也没戏。

       即便可以从德国军队手里俘获一台这样的机器(其实二战时盟军军队手里确实有这种机器),把里面的零件、轮子、电线全部拆开,上下左右前后仔细研究过。只要不知道机器是怎么设置的,用的1亿亿种方案中的哪一种,照样对于密文无可奈何。

       第三,既然机器能偷到,盟军顺便也把它们使用的enigma怎么设置的机密文件搞到手,不就万事大吉了。可是纳粹们是这么办的:每个月发给各个部队一个本子,作为密钥,本子上记着接下来几个月每天enigma的线三个轮子应该怎么放,字母应该怎么交换,每天一换,甚至一天之内的每封电报之间都是加密方案都是不一样的。这样总是变来变去,盟军截获的每一封电报密文都像是说的不同语言,让事情复杂上加复杂。盟军就算有幸能查获这个本子,最多也就能管一个月,德国大兵下个月又换本子了。当然,德国军队内部不同部队之间法的本子还各不一样。

德国大兵手里的“小本本”

       别看enigma这台机器可以产生这么复杂的结果,但是使用起来却简单得要死,即使小学文化水平的德国大兵也轻松应对。发电报的,也就是把电报加密的一方,只要按照本子上的说明把机器调好,照着电报上的明文一个一个敲键盘就行了,收电报的需要把密文转换成正常的文字,方法竟然一模一样:按照本子上的说明把机器调好,一个一个敲键盘就行了。因为这台机器里有一个“反射板”,相当于说第一次加密正常文字变成密文,“明的”变“暗的”,第二次再加密的时候,“暗的”就变成“明的”了,密码复原了。

       在德军内部,加密解密过程如此简单,可是对于外面没有密钥的人,拿着密文咬牙跺脚也什么办法没有,“使用简便、安全可靠、老少皆宜”的enigma自然受到希特勒和他的将领们的欢迎,而且自信的认为这台机器”无人能破解“。

       面对这么神奇的机器,这么复杂的加密方法,盟军还有办法吗?好在英国有图灵大神,德国不是有台三个齿轮的小机器吗,图灵专门设计了一台有上百个齿轮大机器破解enigma,来个“一物降一物”。

图灵的“炸弹(Bombe)”密码破解机

       在国家生死存亡的严峻时刻,英国军情六处在一个小镇里买下了一个隐蔽的庄园,成立了一个“上尉的射击队”,不过这个组织可不是一个小排长领着几个哥们每天去打打靶那样简单的,而是军方四处招兵买马,网罗了全英国智慧天才的一个密码破译机构。”射击队“里有英国牛津剑桥知名学府的研究人员,有精通十几门语言的语言学家,有经验丰富军方情报人员,有无线电工程师,原本在剑桥工作的计算机奇才图灵也放下手头工作,应邀加入其中。

       德国的机器和加密系统虽然十分强悍,但百密必有一疏,任何系统都有漏洞。

       图灵和其他密码破译者发现了其中的两个问题,第一,enigma虽然可以产生1亿亿种加密方案,但是其中的主要功劳还是靠着”换字母“这个简单方法;第二个,enigma为了让发送的和接受的都方便一些,里面”反射板“是一个安全破绽。

       图灵的办法是首先在截获的所有的密文中先靠直接猜,猜出来几个单词的意思,比如他们发现德军每天早上在固定的时间都有天气预报的电报,电报里常会有德语里天气一类的词汇,可以猜出天气这个词是在电报里对应着哪个字母。

       凭借这一点蛛丝马迹的对应关系,图灵就可以把几台庄园里用来破译密码而仿造的enigma机器按照相应的方式地连在一起,连接到一起之后的系统可以同时利用上面说到的enigma的两个弱点,利用反射板的作用把换字母的功能抵消掉,也就是说把1亿亿中的加密方案”降格“成10万种。10万对于人来说数字依然很大,但是相比于1亿亿的天文数字来说,已经是可以接受的数字了。

       对于这10万种可能性,图灵继续完善他的破解器,让很多机器一起工作尝试遍这十万种组合,从中挑出来德国大兵真正使用的那一种,也就是当天德军手里的enigma轮子是怎么摆的,每个轮子26个位置怎么调的。这些一旦确定了,再回头对付字母是怎么换的,虽然其中可能性很多,但是破解起来却很容易,因为换字母和文章最开始说的“!@#$^%^&”方法一样,本身是很弱的,只有和那”10万种“相乘到一起,才能发挥威力。

       图灵凭借自己的设想和庄园里的机器,通过几个步骤就可以破解德军的秘密电报,不仅成功率高,机器转的也很快,往往当天几个小时就搞定任务,德国大兵手里的那个宝贵小本本当天那一页就”神不知鬼不觉“飞到了庄园里,他们当天的”聊天内容隐私“也一五一十的被英国知道了。

       这种专门破解德军密码的机器被取了”炸弹“的名字,从最初的一台变成了几台,后来几十台、上百台,装备在英国各级军队里,德军的大量密码都被破译,军事情报像放在到处是孔的袋子里的米一样,泄漏个没完。

       提到二战盟军的胜利,很多人会归功于蒙哥马利、巴顿、艾森豪威尔这些著名将军,还有美国那两枚超级炸弹,不过身在幕后的图灵功劳未必小过这些将领,他的”炸弹“机器也不逊色于美国的核弹。德国四处神出鬼没袭击海上船只的U潜艇上几乎都装备着enigma机器,很多就是因为它们发出的密报被成功破译,才被送上了”喂鲸鱼“之路;在北非战场上,德国军队enigma发的情报被一批一批地破获,对战争走势影响巨大;而在二战决定性的诺曼底战役里,图灵的”炸弹“密码破解机也多次大显身手……也许是历史的巧合,原本整日在象牙塔里构思计算机理论的图灵最终成了一位战争的功臣。

[专题:图灵]杀人不见血的密码大战—从某男性松鼠偷情谈起 - 科学松鼠会 - 科学松鼠会

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多