第四章 单枪匹马破密电 一、日本密电,为我所用
日军的密电码,系统不同,电码各别,其中以陆军密电码为最难破译,整个抗战期间,日本陆军与海军的密电码始终未曾被中方破译过;空军密电码则比较简单,容易破译。
池步洲先生在重庆两路口收到的日军密电码,有英文字母的,有数字组成的,也有日文的,其中以英文的为最多。但不论哪种形式,都有一个共同特点,那就是字符之间不留任何空档,一律紧密连接,不像英文电报那样每个单词一组,也不像中文电报那样每四个数字一组。有些英文密电,只从报头的TOKYO判知它是发自东京,内容则连一个字也看不懂。开头还以为它是军事密电,後来从收报地址遍布全世界,这才初步判定是日方的外交电报。
池先生决定从数量最多的英文字母密电码开始着手研究。
破译日文密电码,技术复杂,讲起来,也不大好懂。下面,我试图用最通俗的语言来说一说有关电码的常识以及池先生破译这种英文字母密电码的经过。
电报的基本信号只有短与长两种,读为“短”与“长”或“嘀”与“哒”。用最多五个长短信号相配而成的电码,就可以设定为各种字符。例如十个数字的电码为:
1 ·-
2 ··-
3 ···- -
4 ····-
5 ·····
6 -····
7 - -···
9 -·
0 -
电报传输的是文字。拼音文字的电报,传输的媒介是字母。各国拼音文字的字母,包括半拼音的日文,最多不过五十个。只要采用国际通用的字母电码(包括数码电码,因为是美国人莫尔斯在一百五十多年前发明的,通称莫尔斯电码,可拍发英法德文等)或制定一种本民族通用的字母电码(如日文、阿拉伯文、维吾尔文等),就可以了。中文因为是方块字,没有字母,而常用字总数也在一万左右,用五种长短信号组成的电码,最多只有六十四个,根本就不能用来传输汉字。为解决汉字电报的传输技术,早在一百多年前的清光绪六年(1880),有个丹麦人为中文电报制订了一套数字编码:以四个数字为一组代表一个汉字,从0000到9999,按笔画和部首排列,理论上一共可以表示一万个汉字。例如:
0001 一
0002 丁
0003 七
0004 丈
0005 三
0006 上
0007 下
0008 不
0009 丐
0010 丑
以上说的都是明码电报,也就是通用电报或民用电报。军事电报,当然都要用密码。密码由专家编制,也可以由收发报双方自己编制,方法很多。举中文密电为例:最简单的编码,不妨就以明码电报码为底本,收发报双方事先商定一个改变数码的规则,例如以发报的日期为准,星期一加一,星期二加二;或一号加一,二号加二;或十五号以前递加,十六号以后递减。或者以十个编码为一组,第一个加一,第二个加二,以此类推。这样,根本就没有密码本子,每天收发的密电就都不是同一种编码了。这种最简单的密电,一般人破译起来,就已经有一定的难度,如果每隔几个字再加上几个“废码”,也就是没有任何意义的电码,破译起来,当然也就更加困难。
或者,根本就不用电码本,比如用一本总页数不超过一千页的小字典做密码本,也用四码编码,前三位数表示字典的页码,后一位数表示这个字在这一页的次序,例如“吴”字在《小学生字典》的第387页,排在第5个字,就以3875作为“吴”字的编码。等等。
解放以前,电报局可以代发用户自编的密码电报,例如“商业密电”,用的就是这种谁都会编的编码方法。
我举这样的例子,无非说明最简单的“商业密电”,破译起来尚且如此之难,由密码专家编制的军用密码,当然要周密得多,也更其复杂,其破译之难,可以想见。
用电报传输信息,速度虽然很快,但是不论有线无线,被别人或敌人截走的可能性都无法避免。有线电报,靠一根一根的电线杆把电线架起来,或深埋地下、海底,越过不见人影的旷野或海洋,只要偷偷儿接上两根电线,全部电文就都泄露了;短波无线电报的电波发射到地球外面的电离层,再折射回地面,只要发射功率强大,几乎全世界每一个角落都可以收到。因此,不论是国家的机密电报还是军队的机密电报,都必须在密电码上作文章。
密电编码,是一门专门的学问,可以编得非常复杂,也可以编得非常简单。但就是最最简单的密电,如果不具有极高的智商,破译起来也是非常困难的。
池步洲每天晚上都要到两路口的无名收报台去坐上两三个钟头,面对着越来越多的从日本本土发出的英文字母电报凝神沉思,探索这些排成“长蛇”的英文字母的结构和规律。
首先,池先生肯定了这种用英文字母拍发的电报绝不是英文,而是一种用英文字母编码的日文密电,不然,字符必须成组,不可能连成一长串。第二,他发现在这连成长串的英文字母中,有许多“双字母组合”是极有规律的。由此可以判定这些电文不是用两个字母表示一个汉字,就是表示一个日文字母,而且还是使用频率极高的汉字或日文字母。
有了这一点点发现,就好像找到了暗堡的进口,只要继续找下去,把门找到,再把钥匙找到,登堂入室,似乎也就不难了。
于是他更加专心致志地研究起来。
这种破译密电码的研究,没有设备,没有仪器,没有资料,也没有参考书。所有的研究工作,都只能在案头进行。换言之,所谓“研究”,就是用眼睛看,用脑子想,从错综复杂的字母组合中寻找特点,总结规律,发现异同,先突破一点,最终达到完全破译的目的。
池步洲夕于斯、朝于斯、夜以继日思考于斯,废寝忘食醉心于斯,也许是看得太多了,形成了条件反射,一天深夜,他忽然发现“双字母组合”中有若干组的使用频率特别高,例如:MY、HL、GI……等等,在电文中经常出现,眼光随便一扫就能发现。这一现象,引起了他的深思:这些最最常见的字母组合,到底代表什么呢?是标点符号?是“的、了、不、一”?还是数目字?
于是就按这个思路,把一份份截获的密电按“双字母组合”进行划分,进行统计。
这是一件繁而不难但又需要极有耐心、十分枯燥而又极为细致的工作。在没有一个助手的条件下,凭着他一片抗日救国的赤胆忠心,不知疲倦、忘却饥饿、专心一志,经常一干就是通宵达旦,天亮了都还不知道。
工夫不负有心人。经过几百份电文的划分、统计,池步洲终于发现:使用频率最高的双字母组合,一共有十组。经过反复推敲,主要是进一步发现这些高频率双字母,还常常三四组、四五组结合在一起,而任何一种语言文字中,绝不可能有三四个标点符号连着用,“的、了、不、一”之类的虚词使用频率虽然高,也很少有重叠结构或互相结合的现象。于是首先排除了这些最常用双字母为标点符号或虚词的可能性。按“归谬证法”,就只剩下“是数目字”的一种可能了。而数目字的“胶着性”恰恰又是最强的。于是他又大胆地假设这十组双字母就是从一到十或从1到0的十个数目字。他想:如果能够找出哪一组是一,哪一组是二,就不难继续找出其组合规律,从而达到逐个破译的目的。
请别误解这里的“假设”二字。假设,可以从纯主观出发,也可以根据科学计算从纯客观出发。在研究工作中,往往有许多“灵机一动”产生的“灵感”比科学计算所取得的成果更加巨大。例如池先生根据统计得出来的十组双字母组合,如果假设为十个最常用的日本字,那就会失之毫厘,谬之千里,越走越远,最终就会陷进常用字的泥淖之中不能自拔。他这一辈子,就可能在密电破译方面什么成就也没有。奇的是他一语而中的,从一开始就认定这十组双字母是数字,于是一路通,路路通,从破译一个、两个、三个……最终破译出全部电码。
这就是天才。天才不等于“生而知之”,而是高智商的一种表现,是先天聪明加上后天努力的结果。
科学允许假设,但要求精密地论证,绝不许不经论证就以假设取代结论。池步洲的头脑是构思严谨的“数学脑袋”,不是随意发挥的“文学脑袋”。他学的是科学,当然懂得科学研究是来不得半点儿虚假的,更懂得“大胆假设”与“科学求证”之间不可分割的因果关系。于是他暂时放下那些读不懂的“天书”,来一个战略上的撤退、转移,动员妻子跟他一起去研究“凡间的书”,希望从中找到打开“天书”的钥匙。
他们在极为困难的条件下,广泛收集各种类型和内容的报刊书籍,开始做起数字的使用频率统计来。
从道理上说,既然他破译的是日文密电码,那么,字频的统计,也应该用日文书才对。奇怪的是:他用作字频统计的资料,却都是中文的。这也许是因为在数字的结构与用法上,日语与汉语有共同之处,也许是他有别的什么想法,使得通过汉语数字的频率统计,也能用之于日语,等等。
这种“原始数据”的统计,在现当代,通过电子计算机的运作,一部上百万字的书,只要有数据录入,做一次字频统计,不过是几分钟的事情。但在那个历史时期,要做字频统计,可就不是那么简单的了。第一这不是一朝一夕之功,而是靠长期积累;第二也不是一两个人的力量所能奏效,必须群策群力,要由许多人来共同完成;第三,统计的资料越全面越好、字数越多越好;第四,这一工作比什么事情都枯燥,没有耐心的人,绝对干不了。
他们尽自己所能,在最短时间内,用最原始的目力浏览加上手工操作法,经过最大限量的书报杂志统计,终于发现十个数字中使用频率最高的是“一”字,而频率最低的则是“九”字。
这种现象,说奇怪并不奇怪。一方面因为汉语成语中带“一”字的极多,而只有“九”字却不带“一”字的就只有“九泉之下”“九霄云外”……等极少几个;另一方面,人类使用数字,不论买东西还是借钱,总喜欢凑个整数,于是九角凑一块,九块半凑十块,“九”字的使用频率,当然就低了。
根据这一设想,池步洲把这十组假设的数字代码使用频率最高的MY定为“一”,把频率最低的GI定为“九”,再根据“零”一般很少出现在数码开头这一特点,从十组假设数字的组合中找出一组基本上不出现在开头的HL,假定它为数字“零”。这样,算是初步破译了三个数目字:一、九、零。
再进一步设想:日军密电中的数字,很可能是我军的部队番号、兵员数目、枪支弹药的数量等。于是又从军政部要来部队建制资料进行核对,发现其中有“一零二师”的番号,在截获的日军密电中,经常有MYHLWODIGL这样的字母连缀,既然已经假设MY为“一”,HL为“零”,那就不妨再假设WO为“二”,DI为“师”;“一零二师”的后面,一般不是接“长”字,就是接“部”字,这样,又不妨假设GL为“长”字或“部”字。“师长”的后面,很可能是姓名,于是根据军政部的资料,把这个师长的姓名查出来,算是又破译了三个字。“师长”、“师部”已经译出,再找“军长”、“军部”就不太困难。有了“军长”,后面的代码必为姓名无疑。这样,破译出来的“单个字”,就越来越多了。
池步洲再进一步假设:日军的密电,是用英文字母来拼日语的音。如果这一假设正确,那么这种密码就属于“有理拼缀”,是可以联想或类推的。不像汉字四码电报那样,纯粹属于人工硬性规定,是“无理拼缀”,没有密码本,根本无法联想或类推。根据这一假设,再结合日语的汉字读音,往往一音多字,例如“长”字的发音为チョウ,同音的字还有“调、张、丁、町、肠、朝、徵、蝶”等等。根据上下文联想,先猜出“调查”(チョウサ)、“长期”(チョウキ)这些词语,因此又破译出与サキ这两个字母相关的代码。
这样顺藤摸瓜,又破译出一部分相关字。这就不全是单个的字了,有的已经是“词”了。
但是,用这种零打碎敲的办法破译,费的力量很大,所得到的收效甚微。要想“系统破译”,必须根据这些字的读音,或日语的语法特点,去逐个找出双字母组合与“五十音图”即日文字母的对应关系,力求扩大已知数,缩小未知数。这样,才能把所有的密电都译出全文,达到正确理解电文的最终目的。
根据这一思路,池步洲考虑到日语有十个“格助词”的特点(永远跟在名词的后面以确定其格,例如ガ是主格助词,ヲ是宾格助词等),因其使用频率极高,很快就被一一找出,并由此推测出相关的词语。例如电文的末尾,一般都有“返电ヲ乞ウ”(请回电)一语,根据格助词的地位,很容易就推知“返”“电”“乞”这些字的代码了。
池步洲先生的密电破译研究,很快就从从主观臆测法转换为语法分析法。这一方法上的跃进,奠定了他在破译日文密电方面的科学基础,并总结出一套技术上的秘诀。经过对每天收到的密电前后对照,反复推敲,终于将这一类日文密电彻底解密了!电文证明,这一类密电,虽然属于日本外务省系统,但其中最多的是发到中国的电报,而这些“外交电报”中,又有相当大一部分是我方梦寐以求的军事秘密。
池先生单枪匹马,用的还是晚上的业余时间,在一九三八年三月初到三月尾,从建台到大功告成,拢共不到一个月时间,就把日本外务省发到世界各地的几百封密电一一破译出来了。
这等于日本外务省的密电码本子,交到了池步洲的手上!
从此,军政部掌握了一部分日军的动向,为制订作战计划争取到了主动权。为此,军政部给池步洲颁发了一枚光荣奖章。
事隔半个多世纪之后的今天,我们重提这件事情,不由得要感慨万千地说:像这种破译密电码的工作,就是用电子计算机计算,也是需要相当时日,不是半个多月所能获得成功的。这不能不说是破译密电史上的一宗奇迹,也由此可见池先生的智商之高,非比一般。