本文作者:Albert_JIAO
(本段子纯属虚构,若有类同,实属巧合)
有些男人早晨喜欢赖床,怎么叫也叫不醒。于是,某电视台的节目主持人传授给女人们一句如何叫男人起床的"魔法语言"——只须冲他耳语一句:"喂,我刚刚看了你的手机"。此节目特意找了100对男女做试验,结果100个男人中,有86人在听到这句话之后从熟睡之中惊跳起来。
松鼠会某花心男性松鼠就面临这样的困扰。他常常背着家属在外面勾搭mm,手机里保存着不少和mm的暧昧短信,要是某一天松鼠的家属不放心男友,偷偷的瞧一下手机的内容,一切就真相了。为了避免这种情况发生,此男性松鼠发明了一个"好办法",和外面那位mm约定一套"偷情密码","我们平时发短信只用英语,而且字母全部用奇怪的符号代替"。
"I love you"
就成了
"! @#$% &#*"
"这样手机短信里全是乱码,只有我们两个人才能看懂,嘿嘿。"
不过,此男松鼠的家属是位IT女博士、灭绝师太,这点招数在她眼中就弱爆了。
大家还记不记得电影《风声》里密码学女博士李宁玉破解谍报的样子,灭绝师太会把手机短信一封一封的读,然后把看到的26个奇怪符号都写到纸上,在短信里每看到一次符号,就在符号旁边画一笔,看完手机上所有的短信之后,就有了一张"!@#$%^&*"分布图。我们平常使用英语的时候,各个字母出现的频率一定是不一样的,比如e最大,z一类的字母就很小。灭绝师太只要拿着自己奇怪符号分布图和正常的26个字母分布图一比对,l是用@表示的,o是用#表示的……就彻底露馅了,短信里这些乱码就形同虚设了。
当然,此男松鼠使用的办法在n年前,早在凯撒大帝那时候就有了,大家可以参见剃刀老师这篇稿汁: http://songshuhui.net/archives/46557。
看来在这样的灭绝师太身边,真的不能轻易勾搭其他mm。不过,如果我们用高级一点的办法,在手机上下载一个专用小程序,每次发短信的时候就用程序加密一下,外面的mm也下载了程序,可以把短信自动复原成正常的文字。小程序加密字母的方式比两个人口头约定就可以复杂很多了,比如第一次出现a的时候用b表示,第二次出现a的时候用c表示,第三次可能又用别的字母了,最后短信里都是26个字母,但全是乱的,刚刚师太可以画出的"分布图"这一次就画不出来了,因为所有的字母出现的频率几乎是一样的,这回她应该无计可施了吧。
但是也有一个问题,你能下载到小程序,师太也可以下到。于是只好这样:小程序里包括了成千上万套加密方法,你要和小三约定好用里面的哪一套,比如第5套加密方案,每次打开程序的时候就输入5,师太由于不知道是第几套,手里有小程序也无可奈何。其实这个第几套就是密码上的"密钥",像一把钥匙一样,插对了才可以打开锁。要想轻松知道密码表示的什么,锁(那个包括了加密算法小程序)和钥匙(密码)缺一不可。至于刚刚说的"I love you",学名是"明文","! @#$% &#*" 的是密文。
如果密钥和密码加密的算法一样都没有,手头只有很多加密过的短信,破解它们还是有可能的,不过需要的技术就很高了,统计符号频率的简单方法很多时候是行不通的,密码破解者需要从密码的蛛丝马迹中找出其他各种隐藏的规律。我们要说的图灵在二战的时候就曾把德军一套无比复杂的锁和钥匙化解为透明一般。
在二战的时候,人格分裂超人、偏执变态狂外加国际甲级战犯——希特勒带领着他的纳粹大军席卷了大半个欧洲,以闪电战吞并了一个又一个国家,在狂轰滥炸之下,英伦三岛岌岌可危,大英帝国全国上下也要进行艰苦的"抗战"了。
决定战场成败的除了依靠天时地利、前线战士英勇搏杀、武器精良以外,保证军机不泄漏,一举一动敌人都无法察觉,同样至关重要,这就要靠军事上的密码了,德国军方对于密码保密方面自然下了不少功夫。
在那个年代,真正的计算机还没有出现,不过德国海陆空全军上下都装备了一种叫"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发的情报被一批一批地破获,对战争走势影响巨大;而在二战决定性的诺曼底战役里,图灵的"炸弹"密码破解机也多次大显身手……也许是历史的巧合,原本整日在象牙塔里构思计算机理论的图灵最终成了一位战争的功臣。
Original Article: http://songshuhui.net/archives/67583
Steven Five
沒有留言:
發佈留言