书城教材教辅中外数学故事
7824600000018

第18章 应用数学的故事(1)

便条密码助出逃

那是1940年春天,美国太平洋舰队从加利福尼亚海岸的基地转移到珍珠港,以达到威胁日本,保住西方在亚洲的殖民地的目的。但野心更大的日本殖民主义者并没有因美国的威胁而退却。1941年12月7日拂晓,当太平洋舰队的8艘战列舰和众多的巡洋舰、驱逐舰、潜艇和辅助舰以及岸基飞机还在沉睡中时,日本偷袭了珍珠港。美国2000余名士兵、188架飞机和包括两艘战列舰在内的众战舰的毁灭引爆了太平洋战争。在美特混支援舰队由于加油而错过了迎击日军的时机后,日军像饿狼一样,扑入羊群,一路攻杀。日军攻进新加坡以后,有位高姓浙江人来不及逃出,只好到处躲藏。听说平时所认识的一些熟人纷纷被捕,他急得像热锅上的蚂蚁一样,度日如年。

一天,高姓商人来到街上观察形势,寻找逃脱的机会,见日本人控制得非常严密,他们不仅加紧检查邮电,就连电线杆上的一些招贴都不轻易放过。新加坡本是一个南天重镇,国际商港,日本人又是初来此地,人地生疏,局势吃紧就不足奇怪。见此情景,高姓商人不禁心灰意冷,折头回返。正当他准备进入家门时,突听有人喊自己的名字,他不禁一惊,折身向另外一个方向快步走去。走着走着一抬头,只见前面站着一个日本人正冲着自己微笑,没等姓高的回过神来,那人上前一把抓住他,拉着就走,他两眼一闭,心想:完了,必死无疑。

也不知道过了多久,高某感觉没有动静了,一睁眼,仔细一瞧不禁高兴得跳了起来,原来此人乃高某的莫逆之交徐某。徐是个日本留学生,现正在傀儡机构里做事。此人博览群书足智多谋,人称“小诸葛”。

徐某是个爱国青年,经常利用工作之便寻找机会,拯救一些抗日救国的华裔与外籍人士。当下便许诺帮老高脱离虎口。

经过几次见面,徐某与老高商定躲在货船或乘坐小渔舟渡海脱逃。为了安全起见,徐某与老高精心设计了一种局外人不得而知的通信“密码”。

一天凌晨,老高收到了一张条子,上面写着:“南无多宝如来南无宝胜如来南无妙色身如来南无广博身如来南无离怖畏如来南无甘露王如来南无阿弥陀如来南无瞿留孙佛南无拘那含牟尼佛南无迦叶佛南无本师释迦牟尼佛无阿弥陀佛无阿弥佛佛弥佛无阿弥陀佛陀佛南弥佛阿佛佛陀佛南阿佛佛南陀佛南无弥佛阿弥陀佛无阿弥陀佛南无陀佛南无阿弥陀佛南阿佛无阿弥陀佛佛南弥陀佛南阿陀佛无阿弥陀佛陀佛南阿佛南弥佛陀佛南无陀佛”。

老高一见如获至宝。匆匆忙忙地拿起一张废纸,在上面比画了一下,便懂得了这张纸条的真正含义,然后按照徐某发来的紧急指令,于9点30分到达海边,果然在那里发现了一只停泊的小船,就毫不迟疑地上了船,经苏门答腊辗转回到中国大陆,逃脱了日军的魔爪。

据说日军也曾看到过这张小条子的,起先他们也有点疑心,但在经过反复研究之后,认为那只不过是佛教徒使用的一些劝人为善的咒语而已!

其实,这是一种经过精心设计的密码系统。下面,我们就来讲一讲它的读法。首先,纸条上最上面两段是过去七佛的名号与贤劫四佛的法号,他们与佛教大乘经典里而所记载的完全相同,用意完全是为迷惑敌人,这真是设计者高明的地方。真正重要的信息是从“本师释迦牟尼佛”后面才开始的。第一个重大问题是:没有任何标点符号,怎样把它读断?如果读不断的话,那就根本谈不上破译了。按照徐某的事先指示,老高知道,每遇到一个“佛”字,就表明是一个“休止符”。于是,上面这段重要信息,经过这样的“分解”处理之后,就成为:

“无阿弥陀佛、无阿弥佛、佛、弥佛、无阿弥陀佛、陀佛、南弥佛、阿佛、佛、陀佛、南阿佛、佛、南陀佛、南无弥佛、阿弥陀佛、无阿弥陀佛、南无陀佛、南无阿弥陀佛、南阿佛、无阿弥陀佛、佛、南弥陀佛、南阿陀佛、无阿弥陀佛、陀佛、南阿佛、南弥佛、陀佛、南无陀佛”。

下面一个决定性步骤是,把“南无阿弥陀佛”与数学上的二进位记数制建立起一种“一一对应”关系。讲得通俗一点,请你准备一些小纸头,按照上面的次序,自左至右地写着“南无阿弥陀佛”。现在,凡是徐某那张纸条上有的东西,你就在相应的地方,下面打上一个“×”的记号,没有的就不打“×”。接着,把打“×”的地方看做是“1”,不打“×”的地方看做是“0”。例如:(南)无阿弥陀佛就相当于二进位记数制中的011111,也就是普通十进位里的31。

按此办法,继续做下去,就不难得出以下的字母对照表,亦即破译时所应遵循的工作清单:

真实字符十进制代码二进制代码密码本文单词空白1000001佛句子空白63111111南无阿弥陀佛a3000011陀佛b5000101弥佛d9001001阿佛m27011011无阿陀佛n29011101无阿弥佛字母o与数字031011111无阿弥陀佛r37100101南弥佛

s39100111南弥陀佛

t41101001南阿佛

u43101011南阿陀佛

315001111阿弥陀佛

935100011南陀佛

。(句点)51110011南无陀佛

:(冒号)53110101南无弥佛

这里应当说明一下,为什么密码要用英文来编制呢?因为当时还没有拼音字母,若使用汉字,单是《康熙字典》里就有4万多个,即使常用的汉字,也有七八千个之多。这就给编码、译码带来极大的困难。此外,还有更深一层的意思,从“南无阿弥陀佛”到英文字母a、b、c、d……其间相差十万八千里,有谁会猜到其中的奥妙?

经过一番破译,真正的信息就暴露出来了:

“ONBORADAT9:30

TOSUMATRA”

老高一看,马上懂得它的中文意思是:

“9点30分准时上船逃往苏门答腊”。

他当即依计行事,转移到安全地带,继续与日军作殊死的斗争去了。

密码的“加与减”

山本之死给日本海军带来了巨大的震动,特别是他的属下,均沉浸在极度的悲痛之中。联合舰队司令部和驻守拉巴尔的东南方面舰队的指挥官们,从极度的悲痛中刚刚恢复镇静,便首先怀疑到:山本之死是不是因为密码电报被破译而造成的呢?

在战争中,人们往往用密码来传递情报和信息。为了使密码不易被别人识破,有时情报员都相应地加上(或减去)同一个正整数,并且在密码的结尾写上处理的方法(或用其他方法)通知密码的接收者。接收者在收到密码后先将它还原,然后再译。

在破译别国的密码方面,美国有着悠久的历史,从陆军设立“黑室”时候就已经开始了,积累了相当丰富的经验。但是,日本这时所使用的密码,也不像当初召开华盛顿裁军会议那时那样简单了。这时所使用的是有复杂乱数表和保密可靠程度很高的机械密码。尽管这样,在日美两国间关系越来越恶化的当时,外务省还是担心,怕同驻外日本使馆联系所使用的密码被他国破译。因此,外务省决定,让驻主要国家的日本使馆使用海军研制的叫做“九七式电报印字机”的新型密码机。

这种密码,比过去使用的机械密码、海军的“吕密码”和“波密码”等保密程度更高。因此,海军采用的是被称作“海军J密码”的“九七式日文印字机”,而外务省所采用的是“九七式欧文印字机”。前者用日文片假名密码,而后者用罗马字密码。

在以罗马字字母表为序排列而成的分上下两册的密码书中,假如“日本”这个词,被编成“KXLL”这样的密码文字,将它输入印字机中,由于印字机中电子元件排列方式不断变化,虽然每次会排列出新的各不相同的罗马字字组来(即所谓二次密码化)。这种印字机的体积,约有旧式安德日德牌印字机两个大那么。如果有人打开印字机盖偷看的话,里面的电子元件就会自动弹射出来的。

要发的电文中,如果需要五次出“日本”这个词的话,那么,与“日本”这个词相对应的密码文字“KXLL”,不经印字机重新编排,自然就要重复出现五次,这在密码文字中就叫“重复”。在一份密码电子中,某个相同的密码重复出现五次的话,就有被破译的可能。而在“九七式电报印字机”中,经二次密码化了的电文,“重复”出现相同密码的概率仅为两亿分之一。

这种印字机,与当今世界上先进的计算机当然是无法相比的。但是,就当时的破译技术水平来说,日本的专家们认为,是不可能被破译的。然而,令人难以置信的是,美国的密译机构却把它破译了。

那么,究竟是怎样被破译的呢?直到战后的很长一段时间内,并没有人知其详情。据风闻:当时美国动员了数百名密码破译专家,而且使用了那时最先进的电子管式电子计算机,负责破译的领导人,由于费神过度,在破译完之后,竟得了严重的神经衰弱症,卧榻不起,后来还获得了十万美元的赏金。直到1967年,美国人出版了《密码破译专家》,才大体上解开了人们疑惑多年之谜。

据该书所载,破译日本“九七式欧文印字机”外交密码的那个最主要的人叫威廉·弗利德曼,为此,他曾荣立了一等功。

美国陆军设立的“黑室”,1921年在当时国务卿史汀生“君子不偷读他人之书信”的建议下,曾一度被解散,但不久后,又以SIS———密码情报机关———的名义再度恢复。弗利德曼参与了该机构的恢复工作,成为第二个哈巴德·雅德里。

美国把日本外务省所使用的“九七式欧文印字机”的密码称为“紫色密码”。在破译该密码的过程中,运用了高深的现代数学,并采用了各种有效的破译手段。据说,他们经约一年半“呕心沥血”的奋斗,最后,终于在1940年8月,在只用铅笔和纸的情况下,以推理和想象的方法,成功地制成了“九七式欧文印字机”的仿制品一号。使用紫色密码的“九七式欧文印字机”

的仿制品第一号出现一年后,也就是爆发战争的那年夏天,美国用这种密码机,几乎破译了日本重要的外交密码电报。

但更多的是通过破译对方的无线电通信或密码电报来获取信息的。1967年6月5日,以色列对阿联发动了突然袭击,并取得了胜利。以色列军队之所以能以劣势打败处于优势的阿联军队,重要的原因,就是掌握和利用了阿军的重要情报。以色列利用阿军通信密码,指挥孔蒂拉的阿拉重炮部队向自己的军队开炮,向援送弹药和汽油的车队发送假命令,使车队误入阿自己的地雷区。由于命令来自四面八方,使阿方无法判断哪个是正确的,哪个是错误的,只好按兵不动,被动挨打,最后以失败告终。这就是有名的第三次中东战争。

在这次战争结束后的6年多时间里,阿拉伯为收复失地,一洗当年耻辱,秘密地进行全面的战争准备。从1970年开始,他们对西奈半岛以军“防御体系”进行全面侦察;截听以军的无线电通信,破译其密码电报,获取了大量情报。经过长期而周密的准备,埃、叙军队于1973年10月6日,乘犹太人过“赎罪节”

的时机,在西、北两线同时向以色列军队发动进攻。10月7日,当“巴列夫防线”被埃军突破,以军第一线部队的反击作战连遭挫折之后,以军统帅部便给190装甲旅旅长亚古里拍发了一份十万火急的密码电报。埃军截获并破译了这份密码电报,电报的内容是让亚古里率领装甲旅迅速赶到菲尔丹,向运行军第二军团反击,阻止运行军攻势。埃军总参谋部得到情报后,由于担心重蹈上次战争惨败的覆辙,不敢贸然下决心。第二天,埃军又接连破译了以军几份密码电报,证明了190旅的动向确凿无疑,埃军最高指挥部终于做出中途伏击敌军的决定。下午,当190旅的120辆美制M-60坦克全部进入埃军的伏击圈时,埃军步兵、炮兵、装甲兵紧密配合,向敌人发起猛烈攻击,只用了十几分钟,以军的坦克就全部被击毁或缴获,旅长亚古里还来不及指挥部队突围,就乖乖地当了埃军的俘虏。

并不是所有的密码都是能够破译的,如历史上就曾有过历经三个世纪才破译的密码。

那是1598年,法国亨利四世同西班牙签订了和约。这对英国的政策是一个严重打击。英国和荷兰的间谍试图刺探在威尔文签订的和约的条款,但却徒劳无功,因为这些条款是极端保密的。然而,威尼斯大使康塔里尼却取得了较大收获。他收买了一家小酒店的老板,引诱携带和约原件的西班牙信使在这家小店过夜。西班牙信使当夜被一种药酒醉倒,和约原文被复制下来。窃取文件的手法并不简便。文件须得从焊好封口的一个金属圆筒里拿出来。金属焊接处烙有印章,不弄坏这个印章就取不出来。另外,圆筒是装在一只密封的袋子里,袋底上装有一根链条,信使把这根链条盘在自己身上。总之,花了许多工夫才取出文件,复制成功,又将原件按原来的样子封好,假印章做得非常逼真,信使到达马德里,没有人发现破绽。康塔里尼满怀喜悦地把和约的复制本送往威尼斯。在玛利·都铎执政年代,威尼斯驻英大使米凯尔所用的密码,经过三个世纪以后,即到1868年才破译。

那么,普通密码究竟是如何破译的呢?为了这个问题,我们可假设有一种,可以把数字译成英语的密码。

例如,以1~26这26个数目字顺次代表A~Z的26个字母,用这26个数目字组成密码来传递信息。例如:

9,14,20,5,18,5,19,20,9,14,7,13,1,20,8,5,13,1,20,9,3,19就表示INTERESTINGMATHEMATICS译成中文就是:有趣的数学。

然而,为了使密码不易被别人识破,有时情报员都相应地加上(或减去)同一个正整数,并且在密码的结尾写上处理的方法(或用其他方法),通知密码的接收者。接收者在收到密码后先将它还原,然后再译。例如前面的密码可以改写成:

19,24,4,15,2,15,3,19,24,17,23,11,4,18,15,23,11,4,19,13,3N+10密码的最后“N+10”表示原来的数字每个都相应地加上了10。密码的接收者在接到密码时应该先将每个数都相应地减去10以后再译。这里特别要指出的是,在处理密码时,如果原来的数加上10以后大于26,要将加得的结果减26。如上面密码里原来的数20加上10后为30,但写在密码里应是20+10-26=4;而在译密码时,4-10=6是一个负数,当所得差为一个负数时则要将这个负数再加上26进行还原:4-10+26=20。

这样发出的密码,有时还比较容易破译。有没有更安全的办法,使发出的密码更不容易破译呢?

比如,把第1,3,5,7……个数字加上10,把第2,4,6,8……个数字减去5。要破译这个密码,概率已是很小了。密码的接收者收到密码时,把5,……个数字相应地减去10,把第2,4,6,8……个数字加上5,即可还原。

一天,某军事组织收到了三个情报组发来的密电,电文如下。你能把这三个组密码译出来吗?

(1)2,16,13,2,26,9,17,22,17,1,20,13,9,4,17,22,15,14,23,26,1,16,9,22,15,16,9,17,2,23,21,23,26,26,23,5N+8(2)7,21,7,17,6,7,1,13,19,10,2,18,25,9,3,25,18,16,7,14,18,13,18,6,3,11,13,12N-2注:N+7,指第1、3、…15个数字由原数7所得,S-4指第2、4、6…个数字由原数减去4所得。

答案是:

(1)ThetrainisleavingforShanghaitomorrow(这列火车明天将开往上海。)(2)IwishIcouldtakeatriptothemoon(我希望我能到月亮去作一次旅行。)(3)Weshallcomeatsix(我们将于六点钟来。)数学模型你一定不会对模型这个词陌生吧!比如我们在博物馆会看到飞机模型、轮船模型、汽车模型。模型其实是对客观事物的一种模拟,把真实的东西按一定的比例仿制出来,使人们能清楚地了解事物的全貌。除了机械模型以外,还有生物模型、地质模型等等,可以说生活中存在的事物都可以做成模型。

上面我们提到的都是客观实物的模型,那么数学模型是怎么回事呢?数学模型是指用数学的方法来构筑的模型,也就是说把复杂的实际问题用数学的式子表示出来,从而模拟问题的发展变化。