第四章 單槍匹馬破密電
沒有助手,用最簡單的方法,最原始的工具,最簡陋的設備,在不到一個月的時間內,完全破譯了日本外務省的密電碼。憑的是什麼?是他與眾不同的高智商,是他那比電腦還好使的人腦,是他抗擊日帝、盡忠報國的一片丹心!
一、日本密電,為我所用
再進一步設想:日軍密電中的數字,很可能是我軍的部隊番號、兵員數目、槍支彈藥的數量等。於是又從軍政部要來部隊建制資料進行核對,發現其中有「一零二師」的番號,在截獲的日軍密電中,經常有MYHLWODIGL這樣的字母連綴,既然已經假設MY為「一」,HL為「零」,那就不妨再假設WO為「二」,DI為「師」;「一零二師」的後面,一般不是接「長」字,就是接「部」字,這樣,又不妨假設GL為「長」字或「部」字。「師長」的後面,很可能是姓名,於是根據軍政部的資料,把這個師長的姓名查出來,算是又破譯了三個字。「師長」、「師部」已經譯出,再找「軍長」、「軍部」就不太困難。有了「軍長」,後面的代碼必為姓名無疑。這樣,破譯出來的「單個字」,就越來越多了。
7 - -···
0001 一
6 -····
從此,軍政部掌握了一部分日軍的動向,為制訂作戰計劃爭取到了主動權。為此,軍政部給池步洲頒發了一枚光榮獎章。
用電報傳輸信息,速度雖然很快,但是不論有線無線,被別人或敵人截走的可能性都無法避免。有線電報,靠一根一根的電線杆把電線架起來,或深埋地下、海底,越過不見人影的曠野或海洋,只要偷偷兒接上兩根電線,全部電文就都泄露了;短波無線電報的電波發射到地球外面的電離層,再折射回地面,只要發射功率強大,幾乎全世界每一個角落都可以收到。因此,不論是國家的機密電報還是軍隊的機密電報,都必須在密電碼上作文章。
日軍的密電碼,系統不同,電碼各別,其中以陸軍密電碼為最難破譯,整個抗戰期間,日本陸軍與海軍的密電碼始終未曾被中方破譯過;空軍密電碼則比較簡單,容易破譯。
這就是天才。天才不等於「生而知之」,而是高智商的一種表現,是先天聰明加上後天努力的結果。
0003 七
科學允許假設,但要求精密地論證,絕不許不經論證就以假設取代結論。池步洲的頭腦是構思嚴謹的「數學腦袋」,不是隨意發揮的「文學腦袋」。他學的是科學,當然懂得科學研究是來不得半點兒虛假的,更懂得「大胆假設」與「科學求證」之間不可分割的因果關係。於是他暫時放下那些讀不懂的「天書」,read.99csw.com來一個戰略上的撤退、轉移,動員妻子跟他一起去研究「凡間的書」,希望從中找到打開「天書」的鑰匙。
根據這一設想,池步洲把這十組假設的數字代碼使用頻率最高的MY定為「一」,把頻率最低的GI定為「九」,再根據「零」一般很少出現在數碼開頭這一特點,從十組假設數字的組合中找出一組基本上不出現在開頭的HL,假定它為數字「零」。這樣,算是初步破譯了三個數目字:一、九、零。
池先生單槍匹馬,用的還是晚上的業餘時間,在一九三八年三月初到三月尾,從建台到大功告成,攏共不到一個月時間,就把日本外務省發到世界各地的幾百封密電一一破譯出來了。
0005 三
或者,根本就不用電碼本,比如用一本總頁數不超過一千頁的小字典做密碼本,也用四碼編碼,前三位數表示字典的頁碼,后一位數表示這個字在這一頁的次序,例如「吳」字在《小學生字典》的第387頁,排在第5個字,就以3875作為「吳」字的編碼。等等。
以上說的都是明碼電報,也就是通用電報或民用電報。軍事電報,當然都要用密碼。密碼由專家編製,也可以由收發報雙方自己編製,方法很多。舉中文密電為例:最簡單的編碼,不妨就以明碼電報碼為底本,收發報雙方事先商定一個改變數碼的規則,例如以發報的日期為準,星期一加一,星期二加二;或一號加一,二號加二;或十五號以前遞加,十六號以後遞減。或者以十個編碼為一組,第一個加一,第二個加二,以此類推。這樣,根本就沒有密碼本子,每天收發的密電就都不是同一種編碼了。這種最簡單的密電,一般人破譯起來,就已經有一定的難度,如果每隔幾個字再加上幾個「廢碼」,也就是沒有任何意義的電碼,破譯起來,當然也就更加困難。
電報傳輸的是文字。拼音文字的電報,傳輸的媒介是字母。各國拼音文字的字母,包括半拼音的日文,最多不過五十個。只要採用國際通用的字母電碼(包括數碼電碼,因為是美國人莫爾斯在一百五十多年前發明的,通稱莫爾斯電碼,可拍發英法德文等)或制定一種本民族通用的字母電碼(如日文、阿拉伯文、維吾爾文等),就可以了。中文因為是方塊字,沒有字母,而常用字總數也在一萬左右,用五種長簡訊號組成的電碼,最多只有六十四個,根本就不能用來傳輸九九藏書漢字。為解決漢字電報的傳輸技術,早在一百多年前的清光緒六年(1880),有個丹麥人為中文電報制訂了一套數字編碼:以四個數字為一組代表一個漢字,從0000到9999,按筆畫和部首排列,理論上一共可以表示一萬個漢字。例如:
0 -
破譯日文密電碼,技術複雜,講起來,也不大好懂。下面,我試圖用最通俗的語言來說一說有關電碼的常識以及池先生破譯這種英文字母密電碼的經過。
於是他更加專心致志地研究起來。
0002 丁
0007 下
這樣順藤摸瓜,又破譯出一部分相關字。這就不全是單個的字了,有的已經是「詞」了。
0008 不
事隔半個多世紀之後的今天,我們重提這件事情,不由得要感慨萬千地說:像這種破譯密電碼的工作,就是用電子計算機計算,也是需要相當時日,不是半個多月所能獲得成功的。這不能不說是破譯密電史上的一宗奇迹,也由此可見池先生的智商之高,非比一般。
3 ···- -
0006 上
9 -·
但是,用這種零打碎敲的辦法破譯,費的力量很大,所得到的收效甚微。要想「系統破譯」,必鬚根據這些字的讀音,或日語的語法特點,去逐個找出雙字母組合與「五十音圖」即日文字母的對應關係,力求擴大已知數,縮小未知數。這樣,才能把所有的密電都譯出全文,達到正確理解電文的最終目的。
他們在極為困難的條件下,廣泛收集各種類型和內容的報刊書籍,開始做起數字的使用頻率統計來。
我舉這樣的例子,無非說明最簡單的「商業密電」,破譯起來尚且如此之難,由密碼專家編製的軍用密碼,當然要周密得多,也更其複雜,其破譯之難,可以想見。
0009 丐
池步洲先生的密電破譯研究,很快就從從主觀臆測法轉換為語法分析法。這一方法上的躍進,奠定了他在破譯日文密電方面的科學基礎,並總結出一套技術上的秘訣。經過對每天收到的密電前後對照,反覆推敲,終於將這一類日文密電徹底解密了!電文證明,這一類密電,雖然屬於日本外務省系統,但其中最多的是發九九藏書到中國的電報,而這些「外交電報」中,又有相當大一部分是我方夢寐以求的軍事秘密。
這種現象,說奇怪並不奇怪。一方面因為漢語成語中帶「一」字的極多,而只有「九」字卻不帶「一」字的就只有「九泉之下」「九霄雲外」……等極少幾個;另一方面,人類使用數字,不論買東西還是借錢,總喜歡湊個整數,於是九角湊一塊,九塊半湊十塊,「九」字的使用頻率,當然就低了。
這是一件繁而不難但又需要極有耐心、十分枯燥而又極為細緻的工作。在沒有一個助手的條件下,憑著他一片抗日救國的赤膽忠心,不知疲倦、忘卻飢餓、專心一志,經常一干就是通宵達旦,天亮了都還不知道。
池步洲每天晚上都要到兩路口的無名收報台去坐上兩三個鐘頭,面對著越來越多的從日本本土發出的英文字母電報凝神沉思,探索這些排成「長蛇」的英文字母的結構和規律。
0010 丑
池步洲先生在重慶兩路口收到的日軍密電碼,有英文字母的,有數字組成的,也有日文的,其中以英文的為最多。但不論哪種形式,都有一個共同特點,那就是字元之間不留任何空檔,一律緊密連接,不像英文電報那樣每個單詞一組,也不像中文電報那樣每四個數字一組。有些英文密電,只從報頭的TOKYO判知它是發自東京,內容則連一個字也看不懂。開頭還以為它是軍事密電,後來從收報地址遍布全世界,這才初步判定是日方的外交電報。
這種破譯密電碼的研究,沒有設備,沒有儀器,沒有資料,也沒有參考書。所有的研究工作,都只能在案頭進行。換言之,所謂「研究」,就是用眼睛看,用腦子想,從錯綜複雜的字母組合中尋找特點,總結規律,發現異同,先突破一點,最終達到完全破譯的目的。
有了這一點點發現,就好像找到了暗堡的進口,只要繼續找下去,把門找到,再把鑰匙找到,登堂入室,似乎也就不難了。
這等於日本外務省的密電碼本子,交到了池步洲的手上!
根據這一思路,池步洲考慮到日語有十個「格助詞」的特點(永遠跟在名詞的後面以確定其格,例如ガ是主格助詞,ヲ是賓格助詞等),因其使用頻率極高,很快就被一一找出,並由此推測出相關的詞語。例如電文的末尾,一般都有「返電ヲ乞ウ」(請回電)一語,根據格助詞的地位,很容易就推知「返」「電」「乞」這些字的代碼了。
他們盡自己所能
九-九-藏-書,在最短時間內,用最原始的目力瀏覽加上手工操作法,經過最大限量的書報雜誌統計,終於發現十個數字中使用頻率最高的是「一」字,而頻率最低的則是「九」字。池步洲夕於斯、朝於斯、夜以繼日思考於斯,廢寢忘食醉心於斯,也許是看得太多了,形成了條件反射,一天深夜,他忽然發現「雙字母組合」中有若干組的使用頻率特別高,例如:MY、HL、GI……等等,在電文中經常出現,眼光隨便一掃就能發現。這一現象,引起了他的深思:這些最最常見的字母組合,到底代表什麼呢?是標點符號?是「的、了、不、一」?還是數目字?
池先生決定從數量最多的英文字母密電碼開始著手研究。
電報的基本信號只有短與長兩種,讀為「短」與「長」或「嘀」與「噠」。用最多五個長簡訊號相配而成的電碼,就可以設定為各種字元。例如十個數字的電碼為:
0004 丈
首先,池先生肯定了這種用英文字母拍發的電報絕不是英文,而是一種用英文字母編碼的日文密電,不然,字元必須成組,不可能連成一長串。第二,他發現在這連成長串的英文字母中,有許多「雙字母組合」是極有規律的。由此可以判定這些電文不是用兩個字母表示一個漢字,就是表示一個日文字母,而且還是使用頻率極高的漢字或日文字母。
池步洲再進一步假設:日軍的密電,是用英文字母來拼日語的音。如果這一假設正確,那麼這種密碼就屬於「有理拼綴」,是可以聯想或類推的。不像漢字四碼電報那樣,純粹屬於人工硬性規定,是「無理拼綴」,沒有密碼本,根本無法聯想或類推。根據這一假設,再結合日語的漢字讀音,往往一音多字,例如「長」字的發音為チョウ,同音的字還有「調、張、丁、町、腸、朝、徵、蝶」等等。根據上下文聯想,先猜出「調查」(チョウサ)、「長期」(チョウキ)這些詞語,因此又破譯出與サキ這兩個字母相關的代碼。
於是就按這個思路,把一份份截獲的密電按「雙字母組合」進行劃分,進行統計。
請別誤解這裏的「假設」二字。假設,可以從純主觀出發,也可以根據科學計算從純客觀出發。在研究工作中,往往有許多「靈機一動」產生的「靈感」比科學計算所取得的成果更加巨大。例如池先生根據統計得出來的十組雙字母組合,如果假設為十個最常用的日本字,那就會失之毫釐,謬之千里,越走越遠,九九藏書最終就會陷進常用字的泥淖之中不能自拔。他這一輩子,就可能在密電破譯方面什麼成就也沒有。奇的是他一語而中的,從一開始就認定這十組雙字母是數字,於是一路通,路路通,從破譯一個、兩個、三個……最終破譯出全部電碼。
這種「原始數據」的統計,在現當代,通過電子計算機的運作,一部上百萬字的書,只要有數據錄入,做一次字頻統計,不過是幾分鐘的事情。但在那個歷史時期,要做字頻統計,可就不是那麼簡單的了。第一這不是一朝一夕之功,而是靠長期積累;第二也不是一兩個人的力量所能奏效,必須群策群力,要由許多人來共同完成;第三,統計的資料越全面越好、字數越多越好;第四,這一工作比什麼事情都枯燥,沒有耐心的人,絕對幹不了。
5 ·····
2 ··-
4 ····-
從道理上說,既然他破譯的是日文密電碼,那麼,字頻的統計,也應該用日文書才對。奇怪的是:他用作字頻統計的資料,卻都是中文的。這也許是因為在數字的結構與用法上,日語與漢語有共同之處,也許是他有別的什麼想法,使得通過漢語數字的頻率統計,也能用之於日語,等等。
1 ·-
工夫不負有心人。經過幾百份電文的劃分、統計,池步洲終於發現:使用頻率最高的雙字母組合,一共有十組。經過反覆推敲,主要是進一步發現這些高頻率雙字母,還常常三四組、四五組結合在一起,而任何一種語言文字中,絕不可能有三四個標點符號連著用,「的、了、不、一」之類的虛詞使用頻率雖然高,也很少有重疊結構或互相結合的現象。於是首先排除了這些最常用雙字母為標點符號或虛詞的可能性。按「歸謬證法」,就只剩下「是數目字」的一種可能了。而數目字的「膠著性」恰恰又是最強的。於是他又大胆地假設這十組雙字母就是從一到十或從1到0的十個數目字。他想:如果能夠找出哪一組是一,哪一組是二,就不難繼續找出其組合規律,從而達到逐個破譯的目的。
密電編碼,是一門專門的學問,可以編得非常複雜,也可以編得非常簡單。但就是最最簡單的密電,如果不具有極高的智商,破譯起來也是非常困難的。
解放以前,電報局可以代發用戶自編的密碼電報,例如「商業密電」,用的就是這種誰都會編的編碼方法。