俞大維早年先後留學美國和德國,精研數學、數理邏輯、彈道學和軍事學。在留德期間他擔任華夏國民政府軍政部參事,負責兩國間國防兵工業的聯絡合作事宜,他自然對德國商用和軍用的Enig恩尼格瑪密碼機有所瞭解。
俞大維也深知密碼學和數學之間有著一脈相承的密切聯絡。
他不解地道:“Enig密碼機的應用已有近20年之久,從商用型進一步改進發展而來的軍用型在德軍中作為標準的制式密碼機也已裝備使用了十年。”
“德國人非常自信地認為他們掌握了世界最先進、最安全、無法破譯的通訊加密系統。按照我們獲悉的資料,這個密碼機的原理從數學上看是無法破解的。”
“三個轉子一共有 26x26x26= 個不同的密碼錶。這三個轉子設計成可以互相交換位置,共有6種不同的排列方式,金鑰空間增加到了 x6=,大約十萬個。插線板將6對字母用連線兩兩互換,又將密碼數量增加了1000 億倍,金鑰空間達到一億億個的水平,這是一個天文數字,暴力破解被認為是不可能的。”
宋鴻飛道:“從數學上看的確是這樣,不過破譯密碼並不等同於數學計算,機器設計上的缺陷以及使用上的一些固定習慣和漏洞都可以作為突破口,這就大有文章可做了。”
俞大維對於密碼學方面的研究涉獵不多,他愈發按捺不住心中的震驚,幾乎要驚呼起來:“你是說竟然有幾處漏洞?這可真是石破天驚,叫人不敢相信!”
恩尼格瑪密碼機是利用機械轉輪及電路系統的組合來實現複雜加密和解密的裝置,恩格瑪機的高明之處就在於它在進行高強度的複式替換加密的同時,便攜性和操作簡易性也幾乎做到了極致,它被廣泛應用在德國軍事和外交的無線電通訊中。
在歷史上德國人先後生產了各種型號的恩尼格瑪密碼機達10萬臺之多,德國陸、海、空軍和情報機構如虎添翼。
恩尼格瑪密碼機的結構主要由擾碼轉子、反射器、插線板、鍵盤和指示燈組成。它的安全性在於“複式替換密碼”的特性,其核心在於三大靈魂部件——轉子、接線板、反射器。
發報者每次按下某個按鍵時,由於轉子會持續的跟著轉動,透過不同的連線線路,每次輸入的字母會就會隨機替換成另外一個字母,使得每次得到的加密字母都會不一樣。
如果只有一個轉子,那就是一個固定不變的密碼錶,加密方式就是簡單的單字母替換加密,這在密碼學上很容易被破解。
但多個轉子同時使用,就變成了很難破譯的“複式替換密碼”加密方式。這樣相同的明文字母可以有不同的替代加密字母,而相同的密文字母又可能代表不同的明文字母,這種設計即使對手對截獲的密文進行字頻分析也是無效的。
德軍恩尼格瑪機的操作員每個月都會收到一本密碼本,指定本月的每一天所使用的金鑰,這個“每日金鑰”每一天更換一次,它包含三個部分:三個轉子的排列順序、轉子字母的初始位置以及插線板的設定。
宋鴻飛道:“一個大國的情報機構,透過間諜活動完全可以搞到這幾樣:一是恩尼格瑪機的原理及內部構造,包括每個轉子的線路;二是德軍的對恩尼格瑪機的操作守則。”
俞大維點點頭,他知道對於一個國家的情報機構來說,搞來這些東西並不是不可能的。
宋鴻飛又道:“但要想破譯密文,就必須還要知道密碼機的每日初始設定——即每日金鑰。德國人希望當密碼機和密碼本洩露時對方依然無法破解,又採取了一些防範措施。”
使用恩尼格瑪機發送密電時,傳送者設定好“每日金鑰”,然後他會隨意敲入3個字母,這3個字母就是傳送密文的“資訊金鑰”。為了防止誤操作,德軍規定將這3個字母重複打一遍,這3個字母就會被轉換成其它6個加密字母。
然後,傳送者將轉子重新設定為這3個字母,再依次輸入明文得到密文,即每次發報都先用每日金鑰生成一個資訊金鑰,再用這個資訊金鑰加密明文,並將這6個字母的金鑰附加在密文前面傳送給接收方。
接收方將資訊解密時,首先按照密碼本中的“每日金鑰”設定好,然後輸入密文中的頭6個字母。由於反射器的巧妙作用,明文輸入得到密文,密文輸入得到明文,這樣就得到這6個加密字母的明文,即傳送者的3個字母的“資訊金鑰”。
然後,接收方再將轉子設定為這個資訊金鑰,再依次將密文輸入密碼機,就可以得到解密後明文了。
“ 這個步驟有兩處缺陷,”宋鴻飛緩緩地道,“首先,傳送者需要將資訊金鑰固定附加到密文開頭,這就使第三方能夠得知這6個字母就是密碼——即3個轉子的設定。第二,這6個字母出現了連續重複輸入,這在密碼學上是一個嚴重的錯誤。”
宋鴻飛知道,正是利用了這個弱點,波蘭總參謀部密碼局早在30年代初就破譯了大量的德軍恩尼格瑪系統密電。
這裡有個相當有趣的事情,當時一戰戰勝國英國、法國對被凡爾賽條約限制的德國沒有足夠的重視,面對德國的新型密碼機他們淺嘗輒止之後一籌莫展,很快就放棄了破譯。但對於被夾在德國與蘇聯這兩個對它虎視眈眈的強鄰中間的波蘭,情報是關乎國家生死存亡的大事,亡國的極大恐懼產生了極大的動力,波蘭在軍事上毫不起眼,在密碼分析方面卻是頗有建樹。
波蘭先是想方設法搞到了一臺商用的ENIG密碼機,弄清楚了它的原理。後又從法國手中搞來了德國密碼通訊機構中的內賊出賣的有關ENIG密碼機的工作原理、轉子內部線路和操作守則資料,從而複製出了軍用的密碼機。
重複乃密碼大敵,ENIG密碼機最明顯的重複就是每條密文開頭由三個字母的資訊金鑰連續重複兩次加密而成的六個字母,波蘭密碼專家正是以此為突破口。
宋鴻飛道:“這開頭的6個密文字母,第1個和第4個字母都是由同一個明文字母加密而來。同樣的,第2個和第5個、第3個和第6個也是如此。這個‘多打一遍’看似要求嚴謹的操作,卻形成了重複的明文和密文對照組合。”
俞大維靜靜地聽著,陷入沉思。
。過析分地深樣這飛鴻宋像曾未從卻但,計設妙巧和進先的它歎驚曾也,解瞭所有機碼瑪格尼恩國德對然雖他
”。文個6這REDNAG到得設假,ZYXZYX次兩鍵續連“,劃劃寫寫上板黑塊一裡室公辦維大俞在筆用邊一,著索思邊一飛鴻宋”。母字個3這ZYX為’鑰金訊資‘的鍵意任他設假們我,後’鑰金日每‘好定設者送傳“
”。推類此依,2f是就次兩轉,示表1f用係關代替的後之次一加轉即,示表nf式函用係關代替個這把,換替母字是質本的它。果結加的同不到得後轉次3子轉過經X文明個一同是D母字個四第和G母字文個一第“
:作記可,加次兩ZYX“
,G=)1f(X
,A=)2f(Y
,N=)3f(Z
,D=)4f(X
,E=)5f(Y
,R=)6f(Z
”。X=)1f(G,G=)1f(X即,理原解的它是正也這,X母字到得會就G母字輸,下置配的樣同,G母字文到得X母字文明輸果如,的反自是它——特的要重常非個一有機瑪格恩
”。自它到得會換替次兩續連)nf(式函個一同被母字個一說是就也,X=)1f()1f(X即,示表來)1f(式函個一第才方用“
”。關相鑰金日每的天一這在機碼與只,的關無是鑰金訊資與實其絡聯種這間之D和G文說是就也!了掉消抵被就母字鑰金個這X,D=)4f()1f(G到得就樣這,D=)4f()1f()1f(X即,D=)4f(X式函的加次4第代再“
”。R-N、E-A組兩他其得可又,的樣同,D-G組一為記。代替種一是還質本的它,係關應對的得所換替次一行進再位三轉子轉將又,後換替次一行進定設始初的機碼過母字個一將是就義含的D=)4f()1f(G“
”。全完對配都母字個62到直,合組母字的對配兩兩的多更到得就,作的似類行進母字個6前的報電封每對,報電的量大軍德獲截天每手對果如“
。著考思在散發在般奔狂馬烈如也維思的他刻此,了呆驚要直簡維大俞”!了妙太“
”!的行可全完是,解破行進時同機碼的量大出製複,力財、力、力人的量大投說來面層家國在,能可種萬01約大共一定設始初和列排的子轉個三,嗯!解破力暴行進來,合組對配的樣這到得否是換替次一再置位個3轉旋和換替次一第過經母字個一每試測以可就,整個一做當態狀個這把,機碼的下態狀置配定一於對,合組母字對62這據!口破突的妙絕個一是真“:亮一前眼維大俞
。的蓋是不真商智這,才奇的士博佛哈到拿就年3業畢科本是愧不真維大俞,服佩不中心得不也飛鴻宋
”?呢響影的板線除消麼怎,倍億0001了加增果結的能可有所,線線連對6有共母字個62板線,的合組得所響影接直是確端出輸,提不且暫端輸,板線過要都端兩出進的碼擾子轉在,題問個有還是但“:著考思續繼維大俞








