二野時光

二野,居於南美,正宗華人也。
正文

【長篇精彩文章】ENIGMA的興亡

(2007-09-15 16:08:34) 下一個
【此文見於本壇【科技世界]】-由 iamcaibird網友所發,讀來大有收獲,特此轉貼並感謝。】

ENIGMA的興亡(一)
            (連載)

           作者 異調

轉於:三思科學網 www.oursci.org


  人類使用密碼的曆史,從今天已知的,最早可以一直追溯到古巴
比倫人的泥板文字。古埃及人,古羅馬人,古阿拉伯人……幾乎世界
曆史上所有文明都使用過密碼。軍事和外交一直是密碼應用的最重要
的領域,國王、將軍、外交官以及陰謀分子等,為了在通訊過程中保
護自己信息不被外人所知,使用過形形色色的密碼;而為了刺探於己
不利的秘密,他們又絞盡腦汁地試圖破譯對手的密碼。加密與解密一
直是密碼學這枚硬幣互相對抗又互相促進的兩麵。在所有用於軍事和
外交的密碼裏,最著名的恐怕應屬第二次世界大戰中德國方麵使用的
ENIGMA(讀作“恩尼格瑪”,意為“謎”)。


一、誕生

  直到第一次世界大戰結束為止,所有密碼都是使用手工來編碼的。
直接了當地說,就是鉛筆加紙的方式。在我國,郵電局電報編碼和譯
碼直到很晚(大概是上個世紀八十年代初)還在使用這種手工方法。
手工編碼的方式給使用密碼的一方帶來很多的不便。首先,這使得發
送信息的效率極其低下。明文(就是沒有經過加密的原始文本)必須
由加密員人工一個一個字母地轉換為密文。考慮到不能多次重複同一
種明文到密文的轉換方式(這很容易使敵人猜出這種轉換方式),和
民用的電報編碼解碼不同,加密人員並不能把轉換方式牢記於心。轉
換通常是采用查表的方法,所查表又每日不同,所以解碼速度極慢。
而接收密碼一方又要用同樣的方式將密文轉為明文。其次,這種效率
的低下的手工操作也使得許多複雜的保密性能更好的加密方法不能被
實際應用,而簡單的加密方法根本不能抵擋解密學的威力。

  解密一方當時正值春風得意之時,幾百年來被認為堅不可破的維
吉耐爾(Vigenere)密碼和它的變種也被破解。而無線電報的發明,使得
截獲密文易如反掌。無論是軍事方麵還是民用商業方麵都需要一種可
靠而又有效的方法來保證通訊的安全。

  1918年,德國發明家亞瑟·謝爾比烏斯(Arthur Scherbius)和他的朋
友理查德·裏特(Richard Ritter)創辦了謝爾比烏斯和裏特公司。這是一
家專營把新技術轉化為應用方麵的企業,很象現在的高新技術公司,
利潤不小,可是風險也很大。謝爾比烏斯負責研究和開發方麵,緊追
當時的新潮流。他曾在漢諾威和慕尼黑研究過電氣應用,他的一個想
法就是要用二十世紀的電氣技術來取代那種過時的鉛筆加紙的加密方
法。
         


                  亞瑟·謝爾比烏斯

  謝爾比烏斯發明的加密電子機械名叫ENIGMA,在以後的年代裏,
它將被證明是有史以來最為可靠的加密係統之一,而對這種可靠性的
盲目樂觀,又使它的使用者遭到了滅頂之災。這是後話,暫且不提。

     

                  ENIGMA

  ENIGMA看起來是一個裝滿了複雜而精致的元件的盒子。不過要是
我們把它打開來,就可以看到它可以被分解成相當簡單的幾部分。下
麵的圖是它的最基本部分的示意圖,我們可以看見它的三個部分:鍵
盤、轉子和顯示器。
ENIGMA Structure 1


  在上麵ENIGMA的照片上,我們看見水平麵板的下麵部分就是鍵
盤,一共有26個鍵,鍵盤排列接近我們現在使用的計算機鍵盤。為了
使消息盡量地短和更難以破譯,空格和標點符號都被省略。在示意圖
中我們隻畫了六個鍵。實物照片中,鍵盤上方就是顯示器,它由標示
了同樣字母的26個小燈組成,當鍵盤上的某個鍵被按下時,和此字母
被加密後的密文相對應的小燈就在顯示器上亮起來。同樣地,在示意
圖上我們隻畫了六個小燈。在顯示器的上方是三個轉子,它們的主要
部分隱藏在麵板之下,在示意圖中我們暫時隻畫了一個轉子。

  鍵盤、轉子和顯示器由電線相連,轉子本身也集成了6條線路(在
實物中是26條),把鍵盤的信號對應到顯示器不同的小燈上去。在示
意圖中我們可以看到,如果按下a鍵,那麽燈B就會亮,這意味著a被加
密成了B。同樣地我們看到,b被加密成了A,c被加密成了D,d被加密
成了F,e被加密成了E,f被加密成了C。於是如果我們在鍵盤上依次鍵
入cafe(咖啡),顯示器上就會依次顯示DBCE。這是最簡單的加密方
法之一,把每一個字母都按一一對應的方法替換為另一個字母,這樣
的加密方式叫做“簡單替換密碼”。

  簡單替換密碼在曆史上很早就出現了。著名的“凱撒法”就是一
種簡單替換法,它把每個字母和它在字母表中後若幹個位置中的那個
字母相對應。比如說我們取後三個位置,那麽字母的一一對應就如下
表所示:

  明碼字母表:abcdefghijklmnopqrstuvwxyz
  密碼字母表:DEFGHIJKLMNOPQRSTUVWXYZABC

  於是我們就可以從明文得到密文:(veni, vidi, vici,“我來,我見,
我征服”是儒勒·凱撒征服本都王法那西斯後向羅馬元老院宣告的名
言)

  明文:veni, vidi, vici
  密文:YHAL, YLGL, YLFL

  很明顯,這種簡單的方法隻有26種可能性,不足以實際應用。一
般上是規定一個比較隨意的一一對應,比如

  明碼字母表:abcdefghijklmnopqrstuvwxyz
  密碼字母表:JQKLZNDOWECPAHRBSMYITUGVXF

甚至可以自己定義一個密碼字母圖形而不采用拉丁字母。但是用這種
方法所得到的密文還是相當容易被破解的。至遲在公元九世紀,阿拉
伯的密碼破譯專家就已經嫻熟地掌握了用統計字母出現頻率的方法來
擊破簡單替換密碼。破解的原理很簡單:在每種拚音文字語言中,每
個字母出現的頻率並不相同,比如說在英語中,e出現的次數就要大大
高於其他字母。所以如果取得了足夠多的密文,通過統計每個字母出
現的頻率,我們就可以猜出密碼中的一個字母對應於明碼中哪個字母
(當然還要通過揣摩上下文等基本密碼破譯手段)。柯南·道爾在他
著名的福爾摩斯探案集中《跳舞的人》裏詳細敘述了福爾摩斯使用頻
率統計法破譯跳舞人形密碼的過程。

  所以如果轉子的作用僅僅是把一個字母換成另一個字母,那就沒
有太大的意思了。但是大家可能已經猜出來了,所謂的“轉子”,它
會轉動!這就是謝爾比烏斯關於ENIGMA的最重要的設計——當鍵盤
上一個鍵被按下時,相應的密文在顯示器上顯示,然後轉子的方向就
自動地轉動一個字母的位置(在示意圖中就是轉動1/6圈,而在實際中
轉動1/26圈)。下麵的示意圖表示了連續鍵入3個b的情況:
ENIGMA Structure 2


當第一次鍵入b時,信號通過轉子中的連線,燈A亮起來,放開鍵後,
轉子轉動一格,各字母所對應的密碼就改變了;第二次鍵入b時,它所
對應的字母就變成了C;同樣地,第三次鍵入b時,燈E閃亮。
轉子


  照片左方是一個完整的轉子,右方是轉子的分解,我們可以看到安裝在轉子中的電線。

  這裏我們看到了ENIGMA加密的關鍵:這不是一種簡單替換密碼。
同一個字母b在明文的不同位置時,可以被不同的字母替換,而密文中
不同位置的同一個字母,可以代表明文中的不同字母,頻率分析法在
這裏就沒有用武之地了。這種加密方式被稱為“複式替換密碼”。

  但是我們看到,如果連續鍵入6個字母(實物中26個字母),轉子
就會整整轉一圈,回到原始的方向上,這時編碼就和最初重複了。而
在加密過程中,重複的現象是很危險的,這可以使試圖破譯密碼的人
看見規律性的東西。於是謝爾比烏斯在機器上又加了一個轉子。當第
一個轉子轉動整整一圈以後,它上麵有一個齒撥動第二個轉子,使得
它的方向轉動一個字母的位置。看下麵的示意圖(為了簡單起見,現
在我們將它表示為平麵形式):
ENIGMA Structure 3


這裏(a)圖中我們假設第一個轉子(左邊的那個)已經整整轉了一圈,
按b鍵時顯示器上D燈亮;當放開b鍵時第一個轉子上的齒也帶動第二個
轉子同時轉動一格,於是(b)圖中第二次鍵入b時,加密的字母為F;而
再次放開鍵b時,就隻有第一個轉子轉動了,於是(c)圖中第三次鍵入b
時,與b相對應的就是字母B。

  我們看到用這樣的方法,要6*6=36(實物中為26*26=676)個字母
後才會重複原來的編碼。而事實上ENIGMA裏有三個轉子(二戰後期
德國海軍用ENIGMA甚至有四個轉子),不重複的方向個數達到26*26*26
=17576個。

  在此基礎上謝爾比烏斯十分巧妙地在三個轉子的一端加上了一個
反射器,而把鍵盤和顯示器中的相同字母用電線連在一起。反射器和
轉子一樣,把某一個字母連在另一個字母上,但是它並不轉動。乍一
看這麽一個固定的反射器好象沒什麽用處,它並不增加可以使用的編
碼數目,但是把它和解碼聯係起來就會看出這種設計的別具匠心了。
見下圖:
ENIGMA Structure 4

我們看見這裏鍵盤和顯示器中的相同字母由電線連在一起。事實上那
是一個很巧妙的開關,不過我們並不需要知道它的具體情況。我們隻
需要知道,當一個鍵被按下時,信號不是直接從鍵盤傳到顯示器(要
是這樣就沒有加密了),而是首先通過三個轉子連成的一條線路,然
後經過反射器再回到三個轉子,通過另一條線路再到達顯示器上,比
如說上圖中b鍵被按下時,亮的是D燈。我們看看如果這時按的不是b鍵
而是d鍵,那麽信號恰好按照上麵b鍵被按下時的相反方向通行,最後
到達B燈。換句話說,在這種設計下,反射器雖然沒有象轉子那樣增加
可能的不重複的方向,但是它可以使譯碼的過程和編碼的過程完全一
樣。
  
                  反射器

  想象一下要用ENIGMA發送一條消息。發信人首先要調節三個轉
子的方向,使它們處於17576個方向中的一個(事實上轉子的初始方向
就是密匙,這是收發雙方必須預先約定好的),然後依次鍵入明文,
並把閃亮的字母依次記下來,然後就可以把加密後的消息用比如電報
的方式發送出去。當收信方收到電文後,使用一台相同的ENIGMA,
按照原來的約定,把轉子的方向調整到和發信方相同的初始方向上,
然後依次鍵入收到的密文,並把閃亮的字母依次記下來,就得到了明
文。於是加密和解密的過程就是完全一樣的——這都是反射器起的作
用。稍微考慮一下,我們很容易明白,反射器帶來的一個副作用就是
一個字母永遠也不會被加密成它自己,因為反射器中一個字母總是被
連接到另一個不同的字母。
  

          安裝在ENIGMA中的反射器和三個轉子

  於是轉子的初始方向決定了整個密文的加密方式。如果通訊當中
有敵人監聽,他會收到完整的密文,但是由於不知道三個轉子的初始
方向,他就不得不一個個方向地試驗來找到這個密匙。問題在於17576
個初始方向這個數目並不是太大。如果試圖破譯密文的人把轉子調整
到某一方向,然後鍵入密文開始的一段,看看輸出是否象是有意義的
信息。如果不象,那就再試轉子的下一個初始方向……如果試一個方
向大約要一分鍾,而他二十四小時日夜工作,那麽在大約兩星期裏就
可以找遍轉子所有可能的初始方向。如果對手用許多台機器同時破譯,
那麽所需要的時間就會大大縮短。這種保密程度是不太足夠的。

  當然謝爾比烏斯還可以再多加轉子,但是我們看見每加一個轉子
初始方向的可能性隻是乘以了26。尤其是,增加轉子會增加ENIGMA
的體積和成本。謝爾比烏斯希望他的加密機器是便於攜帶的(事實上
它最終的尺寸是34cm*28cm*15cm),而不是一個具有十幾個轉子的龐
然大物。首先他把三個轉子做得可以拆卸下來互相交換,這樣一來初
始方向的可能性變成了原來的六倍。假設三個轉子的編號為1、2、3,
那麽它們可以被放成123-132-213-231-312-321六種不同位置,當然現在
收發消息的雙方除了要預先約定轉子自身的初始方向,還要約定好這
六種排列中的使用一種。

  下一步謝爾比烏斯在鍵盤和第一轉子之間增加了一個連接板。這
塊連接板允許使用者用一根連線把某個字母和另一個字母連接起來,
這樣這個字母的信號在進入轉子之前就會轉變為另一個字母的信號。
這種連線最多可以有六根(後期的ENIGMA具有更多的連線),這樣
就可以使6對字母的信號互換,其他沒有插上連線的字母保持不變。
在上麵ENIGMA的實物圖裏,我們看見這個連接板處於鍵盤的下方。
當然連接板上的連線狀況也是收發信息的雙方需要預先約定的。
ENIGMA Structure 5

在上麵示意圖中,當b鍵被按下時,燈C亮。

  於是轉子自身的初始方向,轉子之間的相互位置,以及連接板連
線的狀況就組成了所有可能的密匙,讓我們來算一算一共到底有多少
種。

  三個轉子不同的方向組成了26*26*26=17576種不同可能性;

  三個轉子間不同的相對位置為6種可能性;

  連接板上兩兩交換6對字母的可能性數目非常巨大,有
100391791500種;

  於是一共有17576*6*100391791500,大約為10000000000000000,
即一億億種可能性。

  隻要約定好上麵所說的密匙,收發雙方利用ENIGMA就可以十分
容易地進行加密和解密。但是如果不知道密匙,在這巨大的可能性麵
前,一一嚐試來試圖找出密匙是完全沒有可能的。我們看見連接板對
可能性的增加貢獻最大,那麽為什麽謝爾比烏斯要那麽麻煩地設計轉
子之類的東西呢?原因在於連接板本身其實就是一個簡單替換密碼係
統,在整個加密過程中,連接是固定的,所以單使用它是十分容易用
頻率分析法來破譯的。轉子係統雖然提供的可能性不多,但是在加密
過程中它們不停地轉動,使整個係統變成了複式替換係統,頻率分析
法對它再也無能為力,與此同時,連接板卻使得可能性數目大大增加,
使得暴力破譯法(即一個一個嚐試所有可能性的方法)望而卻步。

  1918年謝爾比烏斯申請了ENIGMA的專利。他以為既然自己的發
明能夠提供優秀的加密手段,又能擁有極高的加密解密效率,一定能
很快就暢銷起來。他給商業界提供了一種基本型ENIGMA,又給外交
人員提供一種豪華的裝備有打印機的型號。但是他似乎搞錯了。他的
機器售價大約相當於現在的30000美元(如果訂購一千台的話每台便
宜4000美元)。這個價錢使得客戶望而卻步。雖然謝爾比烏斯向企業
家們宣稱,如果他們重要的商業秘密被競爭對手知道了的話,遭到的
損失將比ENIGMA的價格高得多,但是企業家們還是覺得他們沒有能
力來購買ENIGMA。謝爾比烏斯的新發明並沒有象他預料的那樣帶來
多少回響。軍隊方麵對他的發明也沒有什麽太多的注意。

  謝爾比烏斯的失望是可想而知的。但是這方麵他不是唯一的人。
和他幾乎同時在另外三個國家的三個發明家也都獨立地想到了發明了
使用轉子的電氣加密機的主意。1919年荷蘭發明家亞曆山大·科赫
(Alexander Koch)注冊了相似的專利,可是卻沒有能夠使它商業化,
1927年他隻好賣掉了他的專利。在瑞典,阿維德·達姆(Arvid Damm)
也獲得了一個差不多的專利,但是直到1927年他去世時還是沒有能找
到市場。在美國,愛德華·赫本(Edward Hebern)發明了他的“無線獅
身人麵”,對它充滿希望。他用三十八萬美元開了一個工廠,卻隻賣
出價值一千兩百美元的十來台機器。1926年在加利福尼亞州赫本被股
東起訴,被判有罪。

  可是謝爾比烏斯突然時來運轉。英國政府發表了兩份關於一次大
戰的文件使得德國軍隊開始對他的發明大感興趣。其中一份是1923年
出版的溫斯頓·丘吉爾的著作《世界危機》,其中有一段提到了英國
和俄國在軍事方麵的合作,指出俄國人曾經成功地破譯了某些德軍密
碼,而使用這些成果,英國的40局(英國政府負責破譯密碼的間諜機
構)能夠係統性地取得德軍的加密情報。德國方麵幾乎是在十年之後
才知道這一真相。第二份文件同樣是在1923年由皇家海軍發表的關於
第一次世界大戰的官方報告,其中講述了在戰時盟軍方麵截獲(並且
破譯)德軍通訊所帶來的決定性的優勢。這些文件構成了對德國情報
部門的隱性指控,他們最終承認“由於無線電通訊被英方截獲和破譯,
德國海軍指揮部門就好象是把自己的牌明攤在桌子上和英國海軍較量。”

  為了避免再一次陷入這樣的處境,德軍對謝爾比烏斯的發明進行
了可行性研究,最終得出結論:必須裝備這種加密機器。從1925年開
始,謝爾比烏斯的工廠開始係列化生產ENIGMA,次年德軍開始使用
這些機器。接著政府機關,比如說國營企業,鐵路部門等也開始使用
ENIGMA。這些新型號的機器和原來已經賣出的一些商用型號不同,
所以商用型機器的使用者就不知道政府和軍用型的機器具體是如何運
作的。

  在接下來的十年中,德國軍隊大約裝備了三萬台ENIGMA。謝爾
比烏斯的發明使德國具有了最可靠的加密係統。在第二次世界大戰開
始時,德軍通訊的保密性在當時世界上無與倫比。似乎可以這樣說,
ENIGMA在納粹德國二戰初期的勝利中起到的作用是決定性的,但是
我們也會看到,它在後來希特勒的滅亡中扮演了重要的角色。

  但是謝爾比烏斯沒有能夠看見所有這一切。有一次在套馬時,他
被摔到了一麵牆上,於1929年5月13日死於內髒損傷。END

ENIGMA的興亡(二上)
            (連載)

            作者 異調


二、弱點(上)

  在一次大戰其間,英國的情報機關非常嚴密地監控了德國方麵的
通訊,丘吉爾的書和英國海軍部的報告中透露的消息隻不過是一鱗半
爪。事實上,將美國引入一次大戰的齊末曼(Arthur Zimmermann,1916
年起任德國外交部長)電報就是由著名的英國40局破譯的。在此電報
中德國密謀墨西哥對美國發動攻擊,這使得美國最終決定對德宣戰。
但是英國人的障眼法用得如此之好,使得德國人一直以為是墨西哥方
麵泄漏了秘密。

  戰後英國仍舊保持著對德國通訊的監聽,並保持著很高的破譯率。
但是從1926年開始,他們開始收到一些不知所雲的信息——ENIGMA
開始投入使用。德國方麵使用的ENIGMA越多,40局破解不了的電文
就越多。美國人和法國人碰到的情況也一樣,他們對ENIGMA一籌莫
展。德國從此擁有了世界上最為可靠的通訊保密係統。

  一次大戰的戰勝國很快就放棄了破譯這種新型密碼的努力。也許
是出於自信,在他們看來,在凡爾賽條約約束下的德國已經造成不了
什麽危害。由於看不到破譯德國密碼的必要性,盟國的密碼分析專家
懶散下來,幹這一行的頭腦似乎也變得越來越平庸。在科學的其他領
域,我們說失敗乃成功之母;而在密碼分析領域,我們則應該說恐懼
乃成功之母。普法戰爭造就了法國一代優秀的密碼分析專家,而一次
大戰中英國能夠破譯德國的通訊密碼,對失敗的極大恐懼產生的動力
無疑起了巨大的作用。

  曆史又一次重演。因為在歐洲有一個國家對德國抱有這種極大的
恐懼——這就是在一戰灰燼中浴火重生的新獨立的波蘭。在她的西麵,
是對失去舊日領土耿耿於懷的德國,而在東麵,則是要輸出革命的蘇
維埃聯盟。對於波蘭來說,關於這兩個強鄰的情報是有關生死存亡的
大事,波蘭的密碼分析專家不可能象他們的英美法同事那樣愛幹不幹
——他們必須知道這兩個大國都在想什麽。在此情況下波蘭設立了自
己的破譯機構,波軍總參二局密碼處(Biuro Szyfrow)。密碼處的高效率
在1919-1920年波蘇戰爭中明顯地體現出來,軍事上屢嚐敗績的波蘭在
密碼分析方麵卻一枝獨秀。在蘇軍兵臨華沙城下的情況下,1920年一
年他們破譯了大約400條蘇軍信息。在對西麵德國的通訊的監控方麵,
波蘭人也保持了同樣的高效率——直到1926年ENIGMA登場。

  波蘭人想方設法搞到了一台商用的ENIGMA機器,大致弄清楚了
它的工作原理。但是軍用型的轉子內部布線和商用型的完全不同,沒
有這個情報,想要破譯德軍的電報可謂難如登天。波蘭人使出了渾身
的解數,甚至病急亂投醫,請了個據說有天眼通功能的“大師”來遙
感德國人機器裏轉子的線路圖——當然和所有的“大師”一樣,一遇
上這種硬碰硬的事情,神乎其神的天眼通也不靈了。

  這時事情有了轉機。

  漢斯—提羅·施密特(Hans-Thilo Schimdt) 於1888年出生在柏林的
一個中產階級家庭裏,一次大戰時當過兵打過仗。根據凡爾賽條約,
戰敗後的德國進行了裁軍,施密特就在被裁之列。退了伍後他開了個
小肥皂廠,心想下海從商賺點錢。結果戰後的經濟蕭條和通貨膨脹讓
他破了產。此時他不名一文,卻還有一個家要養。

                 漢斯-提羅·施密特
  和他潦倒的處境相反,他的大哥魯道夫(Rudolph)在戰後春風得意。
和漢斯—提羅一樣都是一次大戰的老兵,可魯道夫沒有被裁減,相反卻
一路高升。到了二十年代,他當上了德國通訊部門的頭頭,就是他正
式命令在軍隊中使用ENIGMA。和大哥的成功比起來,漢斯—提羅自
然覺得臉上無光。

  可是破產後漢斯-提羅不得不放下自尊心來去見大哥,求他在政府
部門替自己謀個職位。魯道夫給他的二弟在密碼處(Chiffrierstelle)找了
個位置。這是專門負責德國密碼通訊的機構——ENIGMA的指揮中心,
擁有大量絕密情報。漢斯—提羅把一家留在巴伐利亞,因為在那裏生活
費用相對較低,勉強可以度日。就這樣他一個人孤零零地搬到了柏林,
拿著可憐的薪水,對大哥又羨又妒,對拋棄他的社會深惡痛絕。

  接下來的事情可想而知。如果把自己可以輕鬆搞到的絕密情報出
賣給外國情報機構,一方麵可以賺取不少自己緊缺的錢,一方麵可以
以此報複這個拋棄了他的國家。1931年11月8日,施密特化名為艾斯克
(Asche)和法國情報人員在比利時接頭,在旅館裏他向法國情報人員提
供了兩份珍貴的有關ENIGMA操作和轉子內部線路的資料,得到一萬馬
克。靠這兩份資料,盟國就完全可以複製出一台軍用的ENIGMA機。

  不過事情並不象想象的那麽簡單。要破譯ENIGMA密碼,靠這些情
報還遠遠不夠。德軍的一份對ENIGMA的評估寫道:“即使敵人獲取了
一台同樣的機器,它仍舊能夠保證其加密係統的保密性。”就算有了
一台ENIGMA,如果不知道密鑰(在本文的第一部分裏我們知道所謂的
密鑰,就是轉子自身的初始方向,轉子之間的相互位置,以及連接板
連線的狀況)的話,想破譯電文,就要嚐試數以億億計的組合,這是
不現實的。

  “加密係統的保密性隻應建立在對密鑰的保密上,不應該取決於
加密算法的保密。”這是密碼學中的金科玉律。加密算法可以直接是
某個抽象的數學算法,比如現在通用的DEA和RSA算法,也可以是實現
某個算法的象ENIGMA這樣的加密機械或專門用於加密的電子芯片等加
密器件,還可以是經過編譯的在計算機上可執行的加密程序,比如現
在在互聯網通信中被廣泛使用的PGP(Pretty Good Privacy)。因為對加密
算法的保密是困難的。對手可以用竊取、購買的方法來取得算法、加
密器件或者程序。如果得到的是加密器件或者程序,可以對它們進行
反向工程而最終獲得加密算法。如果隻是密鑰失密,那麽失密的隻是
和此密鑰有關的情報,日後通訊的保密性可以通過更換密鑰來補救;
但如果是加密算法失密,而整個係統的保密性又建立在算法的秘密性
上,那麽所有由此算法加密的信息就會全部暴露。更糟糕是,為了使
以後的通訊保持秘密,必須完全更換加密算法,這意味著更新加密器
械或更換程序。比起簡單地更換密鑰,這要耗費大量財富和管理資源
(大規模更換加密器械和程序會使對手更有機會乘虛而入!)。


  如此明顯的道理,卻時常有人不願遵守,把加密係統的保密性建
立在對加密算法的保密上,為此吃夠了苦頭。最著名的例子莫過於DVD
的加密算法(DVD Movie encryption scheme)。信息和密碼專家通過對
DVD驅動器解密芯片和解密軟件的分析得到了它的加密和解密算法。
以此為基礎有人編寫了一個破解DVD加密算法的程序DeCSS。雖然在
2000年1月,美國法官劉易斯·卡普蘭(Lewis Laplan)裁定在互聯網上傳
播DeCSS為非法,但是這種行政的強製手段似乎毫不奏效。反對裁決
的一方以保護言論自由的美國憲法第一修正案的來反駁,卡普蘭不得
不附加了“計算機源程序不屬言論”的附加裁定。

  但這個附加裁定似乎也沒有什麽太大的用處——雖然不能直接傳
播DeCSS的源程序,如果願意的話,人們還是可以用“源程序的第一個
字母是A,第二個字母是=”這類卡普蘭法官絕不能歸到“非言論”一
類去的方法來描述。在http://www.cs.cmu.edu/~dst/DeCSS/Gallery/你可以
找到十幾種怪裏怪氣地“不違法”地傳播DeCSS的方法,其中包括一首
詩,一件印著源程序的T恤衫, 一段朗誦源程序的錄音和三張顯示著
源程序的GIF圖片——法官大人下令禁止的是源程序,不是它的圖片,
不是嗎?

  更有甚者,有人在網上公布了一個素數,如果把這個素數寫成十
六進製並記錄成一個文件,我們就可以拿解能夠解gzip格式的壓縮軟
件(比如說WinZip)來將它解成DeCSS。如果卡普蘭法官下令禁止這個
素數的話,它很有可能成為有史以來第一個“非法”的素數。你可以
在http://www.utm.edu/research/primes/curios/48565...29443.html看到這個
素數。

  在上麵這個例子裏我們甚至可以看到,在此時更換加密算法已經
變得實際上不可能,因為DVD作為標準已經被固定下來,於是它的加
密算法也就從此形同虛設。

  正如前麵所言,ENIGMA的設計使得搞到了它的秘密的法國人也
一籌莫展。法國密碼分析人員斷定這種密碼是不可破譯的。他們甚至
根本就懶得根據搞到的情報去複製一台ENIGMA。

  在十年前法國和波蘭簽訂過一個軍事合作協議。波蘭方麵一直堅
持要取得所有關於ENIGMA的情報。既然看來自己拿著也沒什麽用,法
國人就把從施密特那裏買來的情報交給了波蘭人。和法國人不同,破
譯ENIGMA對波蘭來說至關重要,就算死馬也要當作活馬醫。現在他們
總算能邁出最初的一步了。

  在施密特提供的關於ENIGMA的情報中,不僅有關於ENIGMA構造
和轉子內部連線的描述,還有德國人使用ENIGMA進行編碼的具體規定。
每個月每台ENIGMA機的操作員都會收到一本當月的新密鑰,上麵有此
月每天使用的密鑰。比如說,第一天的密鑰可以是這個樣子:

1.連接板的連接:A/L-P/R-T/D-B/W-K/F-O/Y
2.轉子的順序:2,3,1
3.轉子的初始方向:Q-C-W

  當操作員要發送某條消息時,他首先從密鑰本中查到以上信息。
然後按照上麵的規定,首先用連線把連接板上的A字母和L字母,P字
母和R字母……連接起來;然後把2號轉子放在ENIGMA的第一個轉子
位置上,把3號轉子放在第二個位置上,把1號轉子放在第三個位置上
;最後,他調整轉子的方向(從照片上可以看到每個轉子的邊上都刻
著一圈字母用來顯示轉子所處的方向),使得三個轉子上的字母Q、C
和W分別朝上。在接收信息的另一方,操作員也進行同樣的準備(他
也有一本同樣的密鑰本),就可以進行收信解碼的工作了。


模擬ENIGMA的Java Applet。你要打開WEB瀏覽器的Java功能才能使用。
這裏各部件的位置和真正的ENIGMA機差不多,最上方為三個轉子,方向由0到25的數字
表示,其下為顯示器,再往下為鍵盤,最後是連接板(你可以用鼠標把兩個字母連起來)。
在最下方你可以在九個備用轉子裏選三個裝在ENIGMA上(這比當初德國人的選擇要多,
最開始他們僅有三個備用轉子,後來增加到五個),也可以在那裏選擇轉子的初始方向。
本程序由Russell Schwager編寫,源碼可在http://hops.cs.jhu.edu/~russell/classes/enigma/enigma.html取得

  調整好ENIGMA,現在操作員可以開始對明文加密了。但是我們看
到每天隻有一個密鑰,如果這一天的幾百封電報都以這個密鑰加密發
送的話,暗中截聽信號的敵方就會取得大量的以同一密鑰加密的信息,
這對保密工作來說不是個好兆頭。我們記得在簡單替換密碼的情況下,
如果密碼分析專家能得到大量的密文,就可以使用統計方法將其破解。

  盡管不知道對ENIGMA是否可以采用類似的統計方法,德國人還是
留了個心眼。他們決定在按當日密鑰調整好ENIGMA機後並不直接加密
要發送的明文。相反地,首先發送的是一個新的密鑰。連接板的連線順
序和轉子的順序並不改變,和當日通用的密鑰相同;想反地,轉子的初
始方向將被改變。操作員首先按照上麵所說的方法按當日密鑰調整好
ENIGMA,然後隨機地選擇三個字母,比如說PGH。他把PGH在鍵盤上
連打兩遍,加密為比如說KIVBJE(注意到兩次PGH被加密為不同的形式,
第一次KIV,第二次BJE,這正是ENIGMA的特點,它是一種複式替換密
碼)。然後他把KIVBJE記在電文的最前麵。接著他重新調整三個轉子的
初始方向到PGH,然後才正式對明文加密。

  用這種方法每一條電文都有屬於自己的三個表示轉子初始方向的
密鑰。把密鑰輸入兩遍是為了防止偶然的發報或者接收錯誤,起著糾
錯的作用。收報一方在按當日密鑰調整好ENIGMA機後,先輸入密文
的頭六個字母KIVBJE,解密得到PGHPGH,於是確認沒有錯誤。然後
把三個轉子的初始方向調整到PGH,接著就可以正式解密其餘的密文了。

  如果不使用對每條電文都不同的密鑰,那麽每天很可能總共會有
幾千條電文也就是幾百萬個字母的消息以同一個密鑰加密。而采用每
條電文都有自己的密鑰這個方法後,當日密鑰所加密的就是很少的幾
萬個字母,而且這些字母都是隨機選取,和有意義的電文性質不同,
不可能用統計方法破譯。

  乍一看來這種方法無懈可擊。可是波蘭人鐵了心,必須在這厚厚
的護甲上撕出一個口子來。

  在此以前,密碼分析人員通常是語言天才,精通對語言方麵特征
的分析。但是既然ENIGMA是一種機械加密裝置,波蘭總參二局密碼
處就考慮到,是否一個具有科學頭腦的人更適合於它的破譯工作呢?

  1929年1月,波茲南大學數學係主任茲德齊斯羅·克裏格羅夫斯基
(Zdzislaw Krygowski)教授開列了一張係裏最優秀的數學家的名單,在這
張名單上,有以後被稱為密碼研究“波蘭三傑”的馬裏安·雷傑夫斯基
(Marian Rejewski),傑爾茲·羅佐基(Jerzy Rozycki)和亨裏克·佐加爾斯
基(Henryk Zygalski)。波茲南大學並非當時波蘭最有名的大學,但是它地
處波蘭南部,那裏直到1918年還是德國領土,所以所有這些數學家都能
講流利的德語。
    

             馬裏安·雷傑夫斯基
  在三位被密碼局招聘的數學家中,雷傑夫斯基的表現最為出色。
當年他是個架著一副近視眼鏡,臉上略帶羞色的二十三歲小夥子。他
的在大學裏學的專業是統計學,打算以後去幹保險業行當,也許在此
之前他從未想到會在密碼分析方麵大展身手。在經過短期的密碼分析
訓練後,他把所有的精力都投入到破解ENIGMA的工作中去。

  雷傑夫斯基深知“重複乃密碼大敵”。在ENIGMA密碼中,最明顯
的重複莫過於每條電文最開始的那六個字母——它由三個字母的密鑰
重複兩次加密而成。德國人沒有想到這裏會是看似固若金湯的ENIGMA
防線的弱點。

ENIGMA的興亡(二下)
            (連載)

            作者 異調


二、弱點(下)

  德方每封密文最開始的六個字母,是此信密鑰的三個字母重複兩
遍,由當日密鑰加密而成。比如說這封信的密鑰是ULJ(這是開始加
密明文時由操作員臨時隨機選取的),那麽操作員首先用當日通用的
密鑰加密ULJULJ,得到六個字母的加密後序列,比如說PEFNWZ,然
後再用ULJ來作為密鑰加密正文,最後把PEFNWZ放在加密後的正文前,
一起用電報發給收信方。

  雷傑夫斯基每天都會收到一大堆截獲的德國電報,所以一天中可
以得到許多這樣的六個字母串,它們都由同一個當日密鑰加密而成。
比如說他收到四個電報,其中每封電報的開頭的六個字母為

        1 2 3 4 5 6
  第一封電報:L O K R G M
  第二封電報:M V T X Z E
  第三封電報:J K T M P E
  第四封電報:D V Y P Z X

對於每封電報來說,它的第一個字母和第四個字母都是由同一個字母
加密而來,同樣地第二和第五個字母以及第三和第六個字母也是分別
由同一個字母加密而來。比如說在第一封電報中,字母L和R是由同一
字母加密而來。這個字母之所以先被加密成L,然後又被加密成了R,
是因為在此期間轉子向前轉動了三個字母的位置。

  從L和R是由同一個字母加密而來這點,雷傑夫斯基就有了判斷轉
子的初始位置的一條線索。當轉子處於這個初始位置時,字母L和R在
某種意義下具有緊密的聯係。每天截獲的大量電文能夠給出許多這樣
的緊密聯係,從而使雷傑夫斯基最終能夠判斷出轉子的初始位置。在
上麵的第二、三、四封電報中,我們看見M和X,J和M,D和P都有這
種聯係:

  第一個字母:ABCDEFGHIJKLMNOPQRSTUVWXYZ
  第四個字母:___P_____M_RX_____________

  如果雷傑夫斯基每天可以得到充分多的電報,他就可以把上麵這
個關係表補充完整:

  第一個字母:ABCDEFGHIJKLMNOPQRSTUVWXYZ
  第四個字母:FQHPLWOGBMVRXUYCZITNJEASDK

光憑這個對應表格,雷傑夫斯基還是沒辦法知道當天的通用密鑰。可
是他知道,這個表格是由當天的通用密鑰決定的,而且隻由它決定。
如果密鑰不同,那麽這個表格也應該不同——那麽,有沒有一種辦法
可以從這個對應表來推斷出當日的通用密鑰呢?雷傑夫斯基對這樣的
表格進行了仔細觀察。從字母A開始看,它被對應成F;而F在此表中
又被對應成W,接下去它被對應成A,我們又回到了最先開始的字母,
於是就有了一個循環的字母圈A→F→W→A。如果考慮所有的字母,
雷傑夫斯基就能寫出關於此對應表的所有的循環圈:

A→F→W→A           3個字母的循環圈
B→Q→Z→K→V→E→L→R→I→B  9個字母的循環圈
C→H→G→O→Y→D→P→C     7個字母的循環圈
J→M→X→S→T→N→U→J     7個字母的循環圈

這裏我們隻是考慮了第一和第四個字母形成的對應表。同樣地對第二
和第五、第三和第六個字母形成的對應表,我們也可以寫出類似的字
母循環圈。由於每天的密鑰都不同,雷傑夫斯基得到的循環圈也各不
相同。

  雷傑夫斯基觀察到,這些循環圈長短不一。這使他有了一個重要
的靈感:雖然這些循環圈是由當日密鑰,也就是轉子的位置,它
們的初始方向以及連接板上字母置換造成的,但是每組循環圈的
個數和每個循環圈的長度,卻僅僅是由轉子的位置和它們的初始
方向決定的,和連接板上字母交換的情況無關!

  假定在上麵這個例子中,原來在接線板上字母S和G由一根連線相
連。現在轉子的位置和它們的初始方向保持不變,去掉這根連線而將
字母T和K連在一起,那麽第一和第四個字母的對應表就會變成
  第一個字母:ABCDEFGHIJKLMNOPQRSTUVWXYZ
  第四個字母:FQHPLWKSBMNRXUYCZIOVJEAGDT
(原來的G對應O,S對應T,去掉G和S的連線後,G就對應T,但是T被
新的連線接到了K,所以G最終對應著K。其他受影響的字母還有H、K、
S、T、X、Z)。而循環圈表就變成了:

A→F→W→A           3個字母的循環圈
B→Q→Z→T→V→E→L→R→I→B  9個字母的循環圈
C→H→S→O→Y→D→P→C     7個字母的循環圈
J→M→X→G→K→N→U→J     7個字母的循環圈

某些循環圈中的字母變了,但是循環圈的數目仍舊是四個,每個循環
圈的長度也沒有改變。應用置換變換的理論,雷傑夫斯基可以從數學
上嚴格證明這一點對於任何的連線變化都是成立的。 

  這是一個非常重大的進展。我們知道,如果要強行試遍所有的密
鑰來破解密文,那得要試一億億個密鑰之多;但是ENIGMA的數量巨
大的密鑰主要是由連接板來提供的,如果隻考慮轉子的位置和它們的
初始方向,隻有105456種可能性。雖然這還是一個很大的數字,但是
把所有的可能性都試驗一遍,已經是一件可以做到的事情了。

  波蘭人按照漢斯-提羅·施密特提供的情報複製出了ENIGMA樣機。
到了1934年,他們有了十幾台波蘭造ENIGMA。雷傑夫斯基和他的同
事們每天都在ENIGMA前工作,一個接一個地試驗轉子的不同位置和
初始方向,然後產生相應的字母對應表並構造相應的字母循環圈,並
把它們記錄下來。比如說其中的一個記錄可以是這樣的:

  第一和第四字母對應表中有4個循環圈,長度分別為3,9,7,7;
  第二和第五字母對應表中有4個循環圈,長度分別為2,3,9,12;
  第三和第六字母對應表中有5個循環圈,長度分別為5,5,5,3,8;

  當對所有105456種轉子位置和初始方向都編好記錄以後,破譯
ENIGMA生成的密文就比較容易了。首先要取得足夠的當日電文來構
造字母對應表並且寫出字母循環圈;然後根據循環圈的數目和它們的
長度從記錄表中檢索出相對應的轉子位置和初始方向:這就是當日的
密鑰(連接板的情況還未知)。循環圈的個數和長度可以看作是這個
密鑰的“指紋”——通過建立密鑰“指紋”檔案,雷傑夫斯基就能及
時地把當天的密鑰找出來。通過分離轉子的狀態和連接板的狀態,雷
傑夫斯基大大簡化了破譯ENIGMA的工作。建立這樣一個檔案花了整
整一年時間,工作相當艱苦,有時工作人員的手指都被磨出血來。

  必須指出的是,上麵對雷傑夫斯基的工作的介紹是極其簡單化的,
隻以舉例的形式介紹了其中最重要的思路。雷傑夫斯基對於ENIGMA
的分析是在密碼分析史上最重要的成就之一,整個工作都是嚴格地數
學化了的(求解關於置換矩陣的方程),決非上麵所舉例子可以包含。
比如說,找到當日密鑰中轉子狀態後,還需要找到連接板狀態,才能
真正譯出密文。另外,ENIGMA中轉子中的線路並非總是固定不變,
雷傑夫斯基的理論允許從密文和密鑰倒推出轉子內部的連線狀態。即
便是施密特提供的情報也未明確指出轉子內部的連線狀態,雷傑夫斯
基一項重要工作就是成功地判斷出軍用型ENIGMA的轉子上字母以字
母表順序排列,而不是如商用型那樣,字母以鍵盤上的順序排列。另
外還要指出的是,雷傑夫斯基的同事,尤其是另兩位數學家羅佐基和
佐加爾斯基在破譯工作中也作出了很重要的貢獻。佐加爾斯基還設計
了用在紙上鑽孔的方法來迅速查詢對應於某類字母循環圈的轉子狀態
的方法。
 

        佐加爾斯基設計的用來查詢密鑰的鑽孔表格
  在雷傑夫斯基和他的同事的努力下,波蘭情報部門在後來的幾年
裏成功地掌握了大量德國方麵的情報。據估計,在1933年1月到1939年
9月這六年多的時間裏,波蘭方麵一共破譯了近十萬條德方的消息,其
中最重要的有德國在包括蘇台德地區兵力重新部署的情報,這對波蘭
的安全是極大的威脅。對ENIGMA的破解即便在總參二局領導層內部
也屬最高機密,軍官們會收到標有“維奇爾”(Wicher,破譯ENIGMA
行動的代號)的情報,他們被告知這些情報絕對可靠,但來源絕密。1934
年,納粹德國元帥赫爾曼·戈林訪問華沙,他怎麽也沒有懷疑波蘭人
已經掌握了他的機密。當他和德國高級官員向位處波蘭密碼處附近的
無名戰士墓獻花圈時,雷傑夫斯基正透過辦公室的窗子望著他們,心
中為自己能知道他們最機密的通訊而狂喜不已。

  當德國人對ENIGMA轉子連線作出一點改動以後,花了一年功夫
建立起來的密鑰“指紋”檔案就變得毫無用處了。但是雷傑夫斯基和
羅佐基有了一個更好的主意。他們在ENIGMA的基礎上設計了一台能
自動驗證所有26*26*26=17576個轉子方向的機器,為了同時試驗三個轉
子的所有可能位置的排列,就需要6台同樣的機器(這樣就可以試遍所
有的17576*6=105456種轉子位置和初始方向)。所有這6台ENIGMA和
為使它們協作的其他器材組成了一整個大約一米高的機器,能在兩小
時內找出當日密鑰。羅佐基把它取名為“炸彈”(La Bomba),可能是
因為它運轉起來震耳欲聾的聲響;不過也有人傳說,製造這樣一台機
器的主意是雷傑夫斯基一次在飯店裏吃叫做“炸彈”的冰淇淋時想到
的。無論如何,“炸彈”實現了密碼分析機械化,它是對ENIGMA機
械加密的一種很自然的回應手段。

  30年代的大部分日子裏,雷傑夫斯基和他的同事們不斷地從事著
尋找密鑰的工作,時不時地還要修複出了故障的“炸彈”。他們不知
道的是,在密碼處處長格維多·蘭傑(Gwido Langer)少校的抽屜裏,已
經有了他們正在絞盡腦汁試圖尋找的東西。

  事實上,在提供了兩份極其重要的關於ENIGMA的情報後,漢斯
-提羅·施密特還在繼續向法國情報機關提供關於德國通訊的情報。在
1931年後的七年中,他和法國情報人員接頭二十次,每次都提供若幹
德國通訊用密碼本,上麵記載著一個月中每天使用的當日密鑰。漢斯
-提羅·施密特總共提供了三十八個月的密碼。蘭傑少校通過法國密
碼處(“第二處”)負責人居斯塔夫·貝特朗(Guistav Bertrand)上尉得
到了這些密碼本。如果雷傑夫斯基能夠預先知道這些密碼,無疑可以
節省大量的時間,從而進行其他的同樣十分重要的破譯工作。

  但是蘭傑少校覺得雷傑夫斯基的小組應該習慣於單獨工作,以便
在將來得不到密碼本的時候,也能同樣破譯ENIGMA。我們的確不知
道,如果自1931年來沒有這樣的壓力,雷傑夫斯基是否能夠有上麵所
述的重要工作。

  波蘭密碼局的破譯能力在1938年的十二月達到了極限,德國人加
強了ENIGMA的加密能力。每台ENIGMA機增加了兩個可供選擇的轉
子。原來三個轉子不同的排列方式有6種,現在從五個轉子中選取三個
裝入機器中的方式達到了5*4*3=60種。這就意味著要達到原來的效率,
“炸彈”中必須有60台機器同時運轉,而不是原來的6台。建造這樣一
台“炸彈”的價格是密碼處總預算的十五倍!在1939年一月,連接板
上的連線又由六根增加到十根,這樣就隻剩6個字母不會被交換。密鑰
的總數達到了一萬五千九百億億個,是原來的一萬五千九百倍。
  
  雖然波蘭數學家們成功地推斷出了第四和第五個轉子中的連線狀
態,雷傑夫斯基也證明了ENIGMA並非象德國人或盟國密碼分析專家
想象的那樣堅不可破,但是他的方法終於也不適用了。這時蘭傑少校
應該從他的抽屜裏拿出施密特提供的密碼本來——但是正是德國人增
加轉子個數的時候,施密特停止了和法國情報部門的接頭。七年中施
密特不斷地提供給波蘭人能靠自己的力量破譯的密鑰,現在波蘭人急
需這些密鑰,他們卻再也搞不到了。

  這對波蘭是一個致命的打擊。因為ENIGMA不僅僅是德國秘密通
訊的手段,更是希特勒“閃電戰”(blitzkrieg)的關鍵。所謂的“閃電
戰”是一種大規模快速協同作戰,各裝甲部隊之間,它們和步兵、炮
兵之間必須能夠快速而保密地進行聯係。不僅如此,地麵部隊的進攻
還必須由斯圖卡轟炸機群掩護支援,它們之間也必須有可靠的聯絡手
段。閃電戰的力量在於:在快速的通訊保證下的快速進攻。
 古德裏安和ENIGMA

“閃電戰”的提出者,德國裝甲部隊之父,納粹德國的海因茨·古德裏安
(Heinz Guderian)將軍在指揮車上。在照片的左下方我們可以看見一台ENIGMA。
  如果波蘭不能知道德軍的通訊,那麽想要抵擋德國的入侵是毫無
希望的,現在看來這在幾個月裏就會發生。1939年4月27日德國撕毀
同波蘭簽訂的互不侵犯條約,侵占了蘇台德地區;在德國國內,反波
蘭的聲浪不斷高漲。在此情況下,蘭傑少校決定把直到現在還對盟國
保密的關於ENIGMA的破譯方法告訴盟國同行,以便在波蘭遭到入侵
後,擁有更大人力物力財力的盟國還可以繼續對雷傑夫斯基的方法進
行研究。

  6月30日,蘭傑少校致電他的英國和法國同行,邀請他們來華沙緊
急討論有關ENIGMA的事項。7月24日英法密碼分析專家到達波蘭密碼
處總部,全然不知波蘭人葫蘆裏賣的什麽藥。具有諷刺意味的是,這
次會麵中用來交流使用的語言是……德語——這是唯一的在場三方所
有人都懂的語言。蘭傑少校將他們領到一間房間,在那裏有一個被黑
布蒙住的東西,當黑布被揭開時,英法的密碼分析專家目瞪口呆。出
現在他們眼前的是一台雷傑夫斯基的“炸彈”。當聽到雷傑夫斯基破
譯ENIGMA的方法時,他們意識到波蘭在密碼分析方麵比世界上任何
國家先進至少十年。法國人尤其吃驚,他們以為他們得到的情報用處
不大,所以很慷慨地把它們轉給了波蘭人,他們卻讓波蘭人一直瞞到
現在。英法密碼分析專家對波蘭同行的感激是無以言表的,直到那時,
他們在破譯德國密碼的方麵毫無進展。

  蘭傑少校給英法密碼分析專家的最後驚喜是宣布贈送給他們兩台
ENIGMA的複製品,以及“炸彈”的圖紙,它們由法國密碼處的貝特
朗(他現在是個少校了)通過外交郵包寄往巴黎。8月19日,在橫渡
英吉利海峽的渡船上有兩位看似平常的旅客:英國作家沙夏·居特裏
(Sacha Guitry)和他的太太女演員依弗娜·普林坦普斯(Yvonne Printemps)。
但是在他們的旅行箱裏卻藏著當時英國最高的機密:一台波蘭製造的
ENIGMA。為了避開無所不在的德國間諜的耳目,ENIGMA就這樣來
到了英國,在那裏等待它的將是它的徹底滅亡。

  兩星期後的1939年9月1日,希特勒發動“閃電戰”入侵波蘭。9月
17日,蘇聯入侵波蘭。9月28日,德軍占領華沙,波蘭不複存在。END

ENIGMA的興亡(三上)
            (連載)

            作者 異調


三、滅亡(上)

  整整十三年裏,英國人和法國人都以為ENIGMA是不可破譯的,
波蘭人的成功重新鼓起了他們的勇氣。雖然德國人已經加強了密碼機
的安全性能,但是波蘭人的實踐表明,ENIGMA決非堅不可破。波蘭
密碼局的經驗也表明,數學家在密碼分析中能夠起到多麽重要的作用。
在英國密碼局(40局),以往都是由精於文字的語言學家或作家來擔
負起密碼分析的重任,此後40局開始通過局內人際關係向牛津大學和
劍橋大學招聘數學家和數學係學生。

  英國的政府代碼及加密學校(GC&CS, Government Code and Cipher
School)是40局新設的機構,它的的總部坐落在白金漢郡的布萊切利公
園(Bletchley Park)裏,40局新招聘的密碼分析專家就在那裏學習和工
作。布萊切利公園的中心是一座歌特都鐸式的城堡,19世紀時由金融
家赫伯特·萊昂(Herbert Leon)爵士建造,GC&CS的領導機構就設立
在它的圖書館、寬大的餐廳以及裝飾得富麗堂皇的舞廳裏。從城堡的

              布萊切利公園
底層望出去,外麵是寬闊的花園。不過在1939年的秋天,那裏的風景
可不怎麽樣,花園裏戳滿了新建的小木屋,那是密碼分析人員的工作
場所,各種信息在擔負不同任務的小木屋進進出出。比方說,6號木
屋是負責破譯德軍ENIGMA電報的,從那裏出來的明文由3號木屋翻
譯並進行綜合情報分析;8號木屋專門負責對付德國海軍的ENIGMA,
這是一種特別複雜的ENIGMA機,和普通型不同,它有四個轉子,在
這裏破譯的情報由4號木屋中的情報人員翻譯和分析。一開始在布萊
切利公園工作的隻有大約二百人,可是到了五年後戰爭結束時,城堡
和小木屋中已經多達七千人!
  

                3號木屋
  

                6號木屋

  英國數學家和其他密碼分析人員很快就掌握了波蘭人進攻ENIGMA
的技巧和方法。布萊切利公園擁有比波蘭密碼處多得多的人員和資金,
所以足以對付由於德國人對ENIGMA的改動而增加到原來十倍的破譯
工作量。和在波蘭密碼處的情景一樣,布萊切利公園的男女們日夜緊
張工作,為的就是找到德國人當天的密鑰。一到午夜,轉子和連線板
的設置就會變動,一切又要重新開始。

  由此而破譯的情報極其珍貴。如果布萊切利公園能夠及時得到德
軍的情報,德國人的計劃和行動就會暴露無遺。如果德軍計劃一次進
攻,英軍就可以采取相應的增援或撤退措施;更妙的是,如果德國將
軍在他們的電報中爭論己方的弱點,英國軍隊就可以采取德國人最擔
心的計劃。1940年4月德國入侵丹麥和挪威,布萊切利公園取得了一
份詳細的軍事計劃。同樣在英倫戰役之初,密碼分析人員準確預告了
德軍轟炸的準確時間和地點,並且取得了德國空軍(Luftwaff)極為寶貴
的情報,比如飛機的損失情況,新飛機的補充數量和速度等。這些情
報被送往M16的總部,再由那裏轉送戰爭部、空軍部和海軍部。

  布萊切利公園的密碼分析專家們有時也有點空餘時間,最受歡迎
的消遣活動是圓場棒球,球賽就在那座城堡前的草坪上舉行。和自自
在在的大學生一樣,這些肩負著重任的男女也經常為一個有爭議的球
嚴肅地爭論得麵紅耳赤。

  在掌握了波蘭人對付ENIGMA的手段後,英國密碼分析專家也開
始摸索出自己獨特的方法。在正式用“炸彈”開始係統搜索當日密鑰
以前,他們總要試一遍“投機取巧”的門道。根據德軍通訊的規定,
每一條電文都要隨機選擇三個不同的字母組合,但是在激戰之時,德
軍指揮官經常顧不上“隨機”,往往在鍵盤上敲上三個相鄰的字母了
事,比方說DFG或者VBN,有時甚至重複使用某三個字母的組合來當
密鑰。英國密碼分析專家把這樣的密鑰叫“西爾絲”(cillies),即三字母
組合CIL的讀音,大概來源於哪位倒黴德國軍官的女友的名字。

  “西爾絲”並非ENIGMA本身的弱點,而是ENIGMA使用者的弱
點。另一種更為嚴重的人為使用錯誤是密鑰本編製者對密鑰使用過分
嚴格的規定。為了強調密鑰的不可預見性,他們規定每天在三個放置
轉子的位置上,不得有和昨天放在此位置上相同的轉子。比如說每台
ENIGMA機一共配備編號為1、2、3、4、5的五個轉子,而前一天所使
用的轉子順序為134,那麽第二天可以使用例如215這樣的轉子順序,
但是214這樣的順序是不允許的,因為和前一天相比較,在第三個位
置上都是4號轉子。看起來這樣交叉使用轉子是個好主意,避免了象
上麵所說的重複使用某個密鑰的過失,但是如果過分強調這一點,卻
會使英國密碼分析專家的工作量減小一半,因為在開始分析當日密鑰
前,他們就可以把所有至少有一個轉子處在前一日位置上的那些轉子
的排列排除在外了。德軍密鑰編製的另一條規定是,在連接板上不允
許把兩個相鄰的字母連接起來。直覺似乎告訴人們不該使用這樣簡單
的字母交換,但是這樣的規則搞得太嚴格過了頭,也就反而會幫對手
的忙,對手根本就不用考慮這樣的可能性了。

  在整個戰爭過程中,ENIGMA機被不斷改善,所以這樣的“投機
取巧”也變得十分重要,密碼分析專家可以通過對密鑰的猜測來推斷
出密碼機新的變動,從而相應地改善“炸彈”的設計,使用新的策略。
英國人能夠在戰爭其間成功地持續破解ENIGMA密碼,和小木屋裏各
種各樣不同尋常的怪才的努力分不開。他們之中有數學家,各類科學
家,語言學家,象棋冠軍,填字遊戲高手……一個難題經常從一隻手
傳到另一隻手,直到它最終得到解決;也有可能一個人解決一點,再
由另一個人解決另一部分……按照6號木屋的負責人戈爾登·魏齊曼
(Gordon Welchman)的話來說,這是“一群想方設法嗅出一條線索的獵
犬”。

  在布萊切利公園有一大群為破譯ENIGMA作出了卓越貢獻的人們。
但是如果隻能選擇性地講述一個人的功績,那麽這個人無論如何應該
是阿蘭·圖靈(Alan Turing)。
  

                阿蘭·圖靈

  圖靈1912年6月23日在倫敦出生,他的父親是當時英國殖民地印度
南部的行政官員。他的父母為了使兒子在英國出生,暫時從印度回到
了英國。圖靈出生後不久他父親重新回到印度,十五個月後他的母親
也離開英國返回印度,把圖靈一個人留在倫敦,由保姆和朋友撫養長
大,一直到了圖靈上寄宿學校的年紀。

  1926年,14歲的圖靈進入了雪伯恩(Sherborne)學校就讀。上學的第
一天恰好碰上罷工,為了不錯過就學典禮,圖靈從南安普敦到雪伯恩
一氣騎了一百公裏的自行車,為此他上了當地的報紙。在學校裏一年
下來,他給人的印象是個愛害羞,做事笨手笨腳的男孩,但是在自然
科學方麵充滿才華。雪伯恩學校是培養為大英帝國效力的男子漢的地
方,圖靈的性格卻似乎於此不合拍,所以那幾年他的學校生涯不免有
些難捱。

  在學校裏他唯一的朋友是一個名叫克裏斯多夫·莫爾貢(Christopher
Morcon)的男孩。他倆都熱愛科學,經常在一起談論最新的科學發現,
做各種科學小實驗。這段友誼激發了圖靈對科學的興趣,他對莫爾貢
的感情似乎也超出了朋友的範圍,成為一種依戀。但是莫爾貢永遠不
會知道這點了,在他們認識的第四年,1930年的2月13日,他死於突
發性結核病。這對圖靈是一個巨大的打擊,他失去了唯一的朋友。似
乎是為了讓自己代替朋友活著,他學習更加努力。在去世前莫爾貢已
經取得了一份劍橋大學的獎學金,圖靈決定自己也將進入劍橋大學學
習,去完成亡友的未竟事業。
  

            布萊切利公園裏圖靈工作過的木屋
  1931年圖靈如願以償地進入劍橋大學國王學院。當時的數理邏輯
學界正熱烈地討論著二十世紀最偉大的數學發現之一——昆特·哥德
爾的不完全性定理。在那以前,數學家們總以為,一個數學問題,雖
然要找到回答也許很困難,但是理論上總有一個確定的答案。一個數
學命題,要麽是真的,要麽是假的。但是哥德爾的不完全性定理指出,
在一個稍微複雜一點的數學公理係統中,總存在那樣的命題,我們既
不能證明它是真的,也不能證明它是假的。數學家們大吃一驚,發現
以往大家認為絕對嚴明的數學中原來有如此令人不安的不確定性。

  每個邏輯學家都在苦苦思索,試圖替陷入了危機的數學找到一條
出路,他們包括當時在劍橋的貝特朗·羅素(Bertrand Russell)、阿爾弗
雷德·懷特海(Alfred Whitehead)、路德維格·維特根斯坦(Ludwig
Wittgenstein)這樣著名的邏輯學家。在這種環境下,圖靈作出了他一生
中最重要的科學貢獻,在他著名的論文《論可計算數》(On Computable
Numbers)中,他提出了日後以他名字命名的虛擬計算機器——圖靈機。

ENIGMA的興亡(三中)
            (連載)

            作者 異調


三、滅亡(中)

  圖靈設想的虛擬機器擁有一條無限長的紙帶、一個讀寫頭,和一
個控製裝置。控製裝置具有有限個內部狀態,它能夠根據這些內部狀
態來控製讀寫頭作出相應的動作,比如說沿著紙帶前後移動,在紙帶
上記錄改變或抹去信息,或者讀取紙帶上的信息並據此改變自己的內
部狀態。你可以把紙帶上的信息看做是指令或者數據,讀寫頭根據這
些指令和數據來完成一係列的動作。圖靈提出了各種各樣這樣的機器,
有些能做加法(隻要在紙帶上先寫好兩個數,然後讓圖靈機運行,最
後機器停止時寫在紙條上的那個數就是起先兩數的和),有些能做乘
法,等等等等。當然有些似乎什麽也不做,或者在紙帶上亂塗亂畫,
而另外有一些,好像永遠也不停下來。這就是在信息科學史上和“馮
·諾依曼機器”齊名的“圖靈機”。

  圖靈機的個數是可數無限個,所以我們可以用自然數把所有的圖
靈機都標上號。圖靈發現了這樣一種圖靈機,它能夠做到任何一台圖
靈機能辦到的事情,隻要在紙帶上首先標出想要模擬的圖靈機的號碼,
然後給出相應的輸入,最後它的輸出將是號碼被指定的那台圖靈機的
輸出。可以說這是一台“萬能”圖靈機,當然它隻是一種理想的計算
模型,或者說是一種理想中的計算機。事實上我們平時使用的計算機
就可以被看做是這樣一台“萬能”圖靈機(隻是它沒有一條無限長的
紙帶,也就是內存。不過如今內存便宜得這個模樣,對於一般的問題
來說,差不多可以說有無窮的內存了),紙帶上的那些指令就相當於
程序和數據,如果程序不同,計算機可以完成的任務也不同。

  圖靈發現,有些問題是這台“萬能”圖靈機也不能回答的。比如
說著名的“停機問題”:給定一台圖靈機的編號,和紙帶上的輸入,
是否總能回答它最終是否會停下來?不能。這是和哥德爾不完全性定
理密切相關的,圖靈的結果從另一個側麵支持了數學中的“不確定性”。
但是和不完全性定理不同的是,圖靈的成果給數學家指出了一條具體
構造這樣一台“萬能機器”的途徑。雖然那還是在二十世紀的三十年
代,當時的技術能力還不能將圖靈的設想變為現實,但是他毫不懷疑
自己的設想能夠實現。這無疑是二十世紀科學理論最重要的發展之一,
在計算機被廣泛應用,甚至影響到我們每個人的日常生活的今天來看,
尤其如此。當年,圖靈年僅二十六歲。

  這是圖靈事業最為輝煌的時期,他在國王學院取得了教職,在劍
橋過著平靜的學術生活。1938年迪斯尼公司著名的動畫片《白雪公主
和七個小矮人》上映,圖靈興衝衝地跑去看。在後來的一些日子裏,
他的同事聽見他不停地哼哼電影中巫婆王後泡製毒蘋果時的歌:“毒
液浸透蘋果,如睡之死滲入。”
   

  圖靈喜歡他在劍橋的歲月,成功的事業,活躍和寬容的環境。大
學並不對同性戀大驚小怪,他可以和幾個人同時結交而不用擔心誰在
背後嘰嘰喳喳。但是在1933年他的學院生涯突然中斷了,他受代碼及
加密學校的邀請成為一個密碼分析專家。1939年9月4日,就在首相張
伯倫向德國宣戰的第二天,圖靈離開了劍橋,來到離布萊切利公園五
公裏的雪納利布魯克恩德(Shenley Brook End)居住。他每天騎自行車到
布萊切利公園上班。因為患有對花粉過敏的鼻炎,圖靈就常常戴個防
毒麵具騎車上班,招搖過市。

  在布萊切利公園裏,每天他花一部分時間和其他人一樣在小木屋
裏進行破譯密碼的工作,而另一些時間他就呆在被稱為“智慧水箱”
(Think Tank),原來用來放水果的儲藏室裏。在那裏密碼分析專家思考
在未來日子裏有可能碰到的難題以及它們的解決方法。

  直到當時,對ENIGMA的破譯都采用雷傑夫斯基的方法,即利用
每條密文最開始重複的密鑰。如果此電文的密鑰為YGB,那麽電文開
頭就是六個由YGBYGB加密而成的字母,德國人以此來預防可能的傳
送錯誤。但是這是ENIGMA使用中的一個重大弱點,德國人很可能會
發覺這一點並取消這種重複,這樣就會使英國密碼分析專家的破譯手
段變得毫無用處。圖靈的任務就是要找到另一種不必利用重複密鑰的
破譯方法。

  在分析了以前大量德國電文後,圖靈發現許多電報有相當固定的
格式,他可以根據電文發出的時間、發信人、收信人這些無關於電文
內容的信息來推斷出一部分電文的內容。比方說,德國人每天的天氣
預報總在早上六點左右發出,要是在六點零五分截獲了一份德國電報,
它裏麵八成有Wetter這個詞,也就是德文中的“天氣”。根據在此之
前德國人天氣預報電文的死板格式,圖靈甚至能相當準確地知道這個
詞具體在密文的哪個位置。這就使得圖靈想到了用“候選單詞”這一
方法來破譯ENIGMA電文,在英語中,圖靈把這些“候選單詞”叫做
Cribs。

  如果在一篇密文中,圖靈知道Wetter這個詞被加密成了ETJWPX,
那麽剩下的任務就是要找到將Wetter加密成ETJWPX的初始設置。如果
采用一個一個試過去的暴力破解法,那就會碰到1590億種組合這個大
問題。但是雷傑夫斯基的天才思想告訴圖靈,必須把轉子方向變化造
成的問題和連接板交換字母造成的問題分開來考慮。如果他能夠象雷
傑夫斯基那樣發現在Cribs中某些不隨連接板上連線方式變化的特性,
他就可以最多隻用嚐試1054560次(60種轉子放置方法乘以17576種轉
子初始方向)便可找到正確的轉子設置。

  圖靈找到了這樣的特性。這是一種和雷傑夫斯基發現的循環字母
圈類似的東西,隻不過這回和重複的密鑰沒有關係,卻是基於候選單
詞。假設圖靈已經正確地猜到wetter被加密成了ETJWPX,這裏就存
在著一個字母循環圈:
 


  圖靈並不清楚在密文中出現這個候選單詞時的轉子狀態,但是假
設他猜對了這個候選單詞,把這個候選單詞起始時轉子的方向記為S,
那麽在此時ENIGMA把w加密成了E;然後轉子轉到下一個方向,就是
S+1,ENIGMA把e加密成T;在方向S+2上一個不屬於這個循環的字母
被加密了,這個我們暫且不去管它;接下來在方向S+3,ENIGMA把t
加密為W。

  這看起來好像還是讓人摸不著頭腦,但是圖靈想的辦法很巧妙,
因為在這個字母循環圈裏有3個字母,所以他想像如果用3台ENIGMA
同時加密這個候選單詞,會發生些什麽事。三台ENIGMA的初始設置
除了轉子方向外完全一樣,第一台ENIGMA機的轉子初始方向被定為
原來的S,而第二台ENIGMA機的轉子初始方向卻是S+1,第三台的轉
子初始方向是S+3。當然一開始圖靈根本就不知道這個S具體是什麽
(要是知道的話密碼也就破譯出來了),所以隻能一個一個方向地試。
大家可能會問,那為什麽需要3台ENIGMA呢?隻要在第一台上我們發
現了一個把wetter加密成ETJWPX的轉子方向,不就找到了密碼嗎?

  這就要考慮連接板的問題。上麵我們說過,如果隻用一台ENIGMA
來試所有的密碼,我們要試的就不僅僅是所有的轉子方向,而且還要
考慮所有的連接板上的連線方向,那個數目是1590億種。圖靈的絕妙
主意就是用3台ENIGMA把連接板上連線的效應抵消掉!這樣他就隻要
考慮1054560種轉子方向就可以了。

  圖靈把三台ENIGMA的顯示器按下圖的方式連接起來,也就是說
 

把第一台ENIGMA顯示器上的E和第二台ENIGMA顯示器上的e連起來,
又把第二台上的T和第三台上的t連起來,最後把第三台上的W和第一
台上的w連起來(注意ENIGMA上字母沒有大小寫之分,這裏我們隻是
用大小寫來區別密文和明文)。下麵的解釋聽起來稍微有一點複雜,
最好對照著上麵的圖來讀。假設連接板上有關的交換字母的連線是下
麵這樣的(三台ENIGMA機上的都一樣)
  E←→L1
  T←→L2
  W←→L3
當然這裏的L1、L2和L3都還是未知的。

  現在假設字母w被輸入第一台ENIGMA,它先通過連接板變成了L3,
然後通過三個轉子經過反射器,再通過三個轉子返回連接板;因為我
們根據候選單詞知道w此時會被加密成E,所以沒有經過接線板前它一
定是和E對應的L1;L1經過接線板變成E後,直接成了第二台ENIGMA
的輸入。提醒一下,第二台ENIGMA的轉子方向是S+1,所以根據候選
單詞知道e此時會被加密成T,我們來看看具體是怎麽回事。從第一台
ENIGMA來的e通過連接板變成了L1,再通過轉子和反射器回來變成了
連接板上和字母T對應的L2;通過連接板後變成了T,然後這個T又變
成第三台ENIGMA機上的輸入t。第三台ENIGMA機的轉子方向是S+3,
這個傳送過來的t會被加密成E,具體的情況和上麵第一第二台上的類
似。我們發現現在三台ENIGMA機的線路組成了一個閉合回路,如果
在裏麵加上一個燈泡,它就會亮起來。這個閉合回路事實上就是那
個字母循環圈的形象化。

  稍微思考一下就可以看到,無論連接板上的連線實際如何(也就
是說無論L1、L2和L3實際上是什麽),隻要轉子方向湊對了,這個閉
合回路就會形成(當然如果有閉合回路形成不等於這個方向就一定是
正確的,但是這樣的情況很少,用手工就可以把正確的方向從中選出)。
就這樣,連接板上的連線效應被消除了。找到了轉子的初始方向S,當
然還要找到連接板上的連線,才能最終找到完整的密鑰,但是這就相
當簡單了,這隻是一個簡單替換密碼。如果在一台普通的ENIGMA上
不接連線板,調整好找到的轉子方向,鍵入密文ETJWPX,出來的明
文成了tewwer,我們馬上就知道w和t被交換了。鍵入密文的其他部分
可以猜出其他字母的交換狀況。

  把候選單詞,字母循環圈和用線路連接起來的多台ENIGMA機構
成了密碼分析的強大武器。而隻有圖靈,這個數學虛擬機器的發明人,
才能有這樣的想像力。圖靈對ENIGMA的破譯方法完全是純數學和理
論性的,他為此寫了一篇著名的論文,在http://frode.home.cern.ch/frode/crypto/Turing/
你可以讀到這篇論文的一部分。但是他的理論研究已經完全可以讓工
程師來實際造出這樣一台機器了。

  布萊切利公園得到十萬鎊的經費來研製這種機器,綽號仍叫“炸
彈”(bombes)。每個“炸彈”裏都有十二組轉子(因為根據上麵的分
析,顯示器,連接板實際上都沒必要存在了。而上麵的例子裏隻要三
台ENIGMA的原因是字母循環圈的長度是3,十二組轉子的目的就是要
攻擊更長的字母循環圈)。一台這樣的“炸彈”高兩米長兩米寬一米。
圖靈的研究於1940年初完成,機器由英國塔布拉丁機械廠(British Tabulating
Machinery)製造。

  圖靈的發明贏得了他在布萊切利公園的同事的尊敬,大家把他看
做是超群的密碼分析專家。他的一位同事彼得·希爾頓(Peter Hilton)
回憶道:“圖靈毫無疑問是個天才,而且是個極近人情的天才。他總
是願意花費時間和精力來解釋他的想法。這不是一個鑽在狹窄領域裏
的專家,他的思想遍布科學的許多領域。”

  當然圖靈的工作在布萊切利公園之外是絕對機密,就連他的父母
都不知道他在幹破譯密碼的工作,因為他是全英國最厲害的密碼分析
專家。有一次去看他母親時圖靈提到過他正在為軍事部門工作,但是
沒有透露其他風聲。他母親在意的是他兒子剃的頭很難看。雖然領導
布萊切利公園的是些軍人,不過他們也知道在生活細節上不能對這些
知識分子嚴格要求,在這方麵都是睜眼閉眼。圖靈就經常不刮臉,穿
著皺皺巴巴的衣服,指甲又長又黑。但是軍隊沒有過問圖靈的同性戀,
是因為他們不知情。布萊切利公園的退伍軍人傑克·古德(Jack Good)
後來說:“幸虧布萊切利公園的負責人不知道圖靈是個同性戀,否則
的話,我們就會打敗這場戰爭。”

  1940年3月14日第一台“炸彈”運抵布萊切利公園。可是它運行得
太慢,有時要一個星期才找得到一個密鑰。工程師們花了很大的努力
來改善“炸彈”的設計,然後開始製造新的“炸彈”,這又花了四個
月時間。但是在5月10日,最令英國密碼分析專家擔心的事情發生了,
德國人改變了密碼傳遞規則,他們的密鑰不再重複,這使得布萊切利
公園破譯的電文量急劇下降。幸運的是,改進以後的“炸彈”在8月8
日到達,而且這次它運行得很好。在接下來的八個月裏,十五台新
“炸彈”在布萊切利公園裏轟然作響。一般上一台“炸彈”可以在一
小時裏找到一個密鑰。
 

               “炸彈”
  但是並非有了“炸彈”就萬事大吉了。在讓它運行之前還有許多
困難要克服。比如說使用“炸彈”前先要找到一個候選單詞。但是密
碼分析人員不能保證他猜的詞一定在電報的明文中;就算猜對了,要
把候選單詞所在的位置正確地找出來也不是一件容易的事情,很有可
能他猜到了電文中的一整句話,但是把這句話的位置搞錯了,那“炸
彈”也就白白運行了。密碼分析人員找到了一些技巧,比如說,他知
道下麵“wetterbullsechs”一定在電文明文中,但是具體位置卻隻知道
個大概。於是他猜想密文和明文的對應是:

  候選單詞: wetterbullsechs
    密文:IPRENLWKMJJSXCPLEJWQ

在介紹ENIGMA的構造時我們知道,由於反射器的作用,一個字母從
來也不會被加密成它本身。所以上麵的候選單詞所對應的位置一定是
不對的,因為第二個字母e被對應到E上了。解決方法可以是慢慢地移
動候選單詞,看看是否每個字母都對應一個和自己不同的字母。比如
把上麵例子中的候選單詞向左移動一位,變成

  候選單詞: wetterbullsechs
    密文:IPRENLWKMJJSXCPLEJWQ

現在就符合要求了,所以此時才可以讓“炸彈”去試試它的威力。

  英國領導高層當然非常注重密碼分析工作,溫斯頓·丘吉爾親自
訪問了布萊切利公園,他把這幫具有稀奇古怪才能的密碼分析專家稱
為“從不呱呱叫的下金蛋的鵝”。在圖靈和他的同事的努力和丘吉爾
的親自過問下,布萊切利公園解決了經費和人員缺乏的困難。到1942
年底,密碼局擁有49台“炸彈”,密碼分析人員的隊伍也在不斷擴大。
事實證明玩填字遊戲的高手往往會成為密碼分析的高手,英國情報部
門甚至在報紙上登出填字遊戲來招聘新的密碼分析人員

ENIGMA的興亡(三下)
            (連載)

            作者 異調


三、滅亡(下)

  在前麵的記述中讀者似乎會有這樣一種感覺,所有的ENIGMA機
都是一樣的,而密碼分析人員在找到破譯的方法以後每天按部就班地
進行破譯工作。但事實上,德軍內部有好幾個不同的通訊網絡,比如
說,在北非的德軍就有自己的一套通訊網,他們的密碼本和在歐洲的
德軍網絡不同,德國空軍也有自己的通訊網絡。某些通訊網絡的保密
性要強於其他的,而德國海軍通訊網的保密性是最強的,它使用的
ENIGMA機是經過強化特製的,它有八個轉子可供選擇,這樣轉子的
初始位置數就幾乎是五個轉子情況的六倍,於是布萊切利公園破譯它
所需要花費的時間也幾乎是普通情況的六倍。另外海軍用的ENIGMA
機的反射器是可以轉動的,於是密鑰的可能性就是原來的二十六倍。
有一些海軍型ENIGMA機甚至有四個轉子。德國海軍為了加強通訊保
密性,甚至取消使用固定的信件格式,這樣就使圖靈的“候選單詞”
法極難被使用。另外它的每條電文的密鑰也以一種不同於平常的方式
傳送。

  德國空軍和陸軍的ENIGMA密文都能比較順利地被破譯,但是德
國海軍的這些保密措施使得英國密碼分析人員在破譯電文時遇到極大
的困難。在大西洋海戰中這使英國付出了極大的代價。德國海軍元帥
鄧尼茨使用“狼群戰術”來對付英國的海上運輸線。首先,德軍眾多
的潛艇分散在大西洋廣闊的海域中,試圖尋找合適的目標;如果其中
有一艘潛艇發現目標,它就會通知其它潛艇趕來增援;一旦在此海區
中潛艇數量足夠,它們就向目標發動進攻。很顯然,在這種需要高度
協作的戰術中,保密和快速的通訊起著決定性的作用,而如果英國方
麵不能及時破譯這些通訊內容,所遭受的打擊是毀滅性的。

  當時歐洲大陸盡陷納粹魔掌,英國抗戰所必需的食品彈藥幾乎完
全依靠從大西洋上運來的美國援助。如果盟軍不能知道德軍潛艇在汪
洋大海中的位置,那麽就不能有效地對付狼群戰術,也就不可能有一
條安全的運輸線。在1940年6月到1941年6月一年間,盟軍平均每月損
失五十艘船隻,而且建造新船隻的能力已經幾乎不能夠跟上損失的步
伐;與此相聯係的還有巨大的人命損失——在戰爭中有高達五萬名水
手葬身大西洋底。英國麵臨在大西洋海戰中失敗的危險,而在大西洋
海戰中失敗,也就意味著在整個戰爭中失敗。

  即使在破譯密碼這樣的所謂“數學家的戰爭”中,軍事和間諜手
段也是必不可少的,漢斯-提羅·史密特的情況已經足夠說明問題了。
如果布萊切利公園不能用破譯的手段來取得密鑰,那麽間諜、滲透以
致於竊取等手段也成為必需。英國皇家空軍有時采取一種名叫“播種”
的手段來幫助取得布萊切利公園破譯密鑰所需的“候選單詞”。空軍
在某個特定的海區布撒水雷,迫使在附近的德國艦艇向其他艦艇發送
有關雷區的情報,這個情報裏必定包含著對此雷區所在方位等的描述,
而這是英國人早已知道的,於是從中就可以確定“候選單詞”。但是
為了避免德國人的疑心,這樣的花招不能時時使用,所以還需要許多
其他的方式。

  當時在英國情報部門工作的揚·弗萊明(Ian Fleming),也就是後來
大名鼎鼎的007係列小說的作者,甚至策劃了這樣一個代號“殺無赦”
的計劃:在英吉利海峽中讓一架被俘的德軍轟炸機在一艘德國艦艇附
近墜毀,等到德國艦艇趕來救援時,機上假扮成德國飛行員的英國諜
報人員趁機混上德國艦艇以竊取密碼本。這個幾乎是瘋狂的計劃最後
由於種種原因而沒有實行。

  除了要獲得密碼本外,了解德國海軍特製ENIGMA機尤其是它的
轉子線路無疑也是破譯密碼所必需的。1940年2月德國潛艇U-33在蘇
格蘭附近海麵被擊沉,英國情報部門因此能獲得海軍用ENIGMA機上
的三個轉子,使得密碼分析人員能對這種特別的ENIGMA機有所了解
並對截獲的密文作部分的破解;同年4月在挪威,盟軍俘獲了一條德
國拖撈船,從上麵取得了幾份關於ENIGMA的資料並送交圖靈研究。
但是在還沒有取得任何進展之前,德國人就改換了轉子結構,密文重
新又變得牢不可破了。1941年3月4日在盟軍特種兵對挪威羅弗敦群島
的突襲中繳獲了兩台海軍用ENIGMA機,於是盟國重新能夠部分破譯
德海軍情報。幸運的是這一次鄧尼茨元帥相信了他的密碼專家的誇口,
認為ENIGMA不可破譯,沒有再次改變密碼機的設置。
  
  1941年春天,布萊切利公園的一位密碼分析人員哈裏·辛斯利
(Harry Hinsley)意識到,在德軍的氣象船和補給船和德國海軍使用的是
同一套ENIGMA係統。問題在於要周密計劃俘獲這些船隻取得密碼本
而不使德國海軍指揮部起疑心。5月7日,在一次高度機密的行動中,
英國皇家海軍俘獲了德國氣象船慕尼黑號,取得了六月份的密碼本。
兩天後在一次巧遇中英國驅逐艦迫使德國潛艇U-110浮出水麵,由於德
國人以為潛艇很快就要沉沒,他們沒有及時銷毀艇上的ENIGMA機和
密碼本。在六月份英軍又俘獲了一艘德軍氣象船勞恩堡號,取得六月
和七月的密碼本。這些進展使得布萊切利公園對海軍型ENIGMA機有
了比較充分的了解。雖然直至戰爭結束,德國人仍不時改進他們的加
密係統,但是英國方麵一般來說總能用各種方法跟進,包括上麵所說
的軍事和間諜手段,或者提高“炸彈”的數量和威力,密碼分析人員
的經驗也不斷增加。雖然如此,這樣的變化總會為密碼破譯帶來暫時
的困難,從而可能遭遇嚴重的問題,比如北冰洋航線上PQ17運輸輪沉
沒的嚴重損失。最大的此類危機發生在1942年2月1日,德軍潛艇通訊
網開始使用前麵提到的四轉子ENIGMA,新增加的這個轉子使得盟軍
的損失大量增加。但是由於同時期美國開始參戰,德軍潛艇在美國東
海岸的頻頻得手避免了德軍總部把近期的勝利和增加轉子一事聯係起
來。

  無論如何,通過軍事、情報當然還有密碼分析人員的努力,盟軍
終於能夠了解德國“狼群”的位置,從而為運輸船隊選擇一條安全的
航線,不僅如此,英國海軍的驅逐艦甚至還能主動出擊,尋找德軍潛
艇並將其擊沉。但是這裏還是存在著如何恰到好處地使用所得到的情
報,以免德軍總部懷疑他們的最高機密已被破譯的問題。正所謂兵不
厭詐。通過對ENIGMA的破譯,盟軍能夠知道德國潛艇的位置,但是
擊沉所有這些潛艇是愚蠢的,因為突然升高的損失不可避免地會使德
國人猜測到他們的通訊並不安全。所以盟軍經常放掉一些已經到手的
肥肉,隻攻擊那些被偵查機發現的潛艇,當然盟軍也會發出一些假的
偵查到潛艇的消息來掩蓋隨之而來的攻擊。有一次布萊切利公園破譯
了一條電文,其中有九條德國油輪的方位,為了避免德國人起疑心,
英國海軍總部決定隻進攻其中的七條油輪。這七條油輪沉沒後,對破
譯ENIGMA和需要保持秘密一事一無所知的皇家海軍艦隊“不幸”恰
好又碰上了另兩條倒黴鬼,於是也將它們送入了海底。在柏林德國人
為此事進行了調查,但是他們的疑心集中在這是一次偶然的事件,還
是由於英國諜報人員的滲透,沒有人懷疑這是英國人破譯ENIGMA所
取得的勝利。

  布萊切利公園所破譯的不僅僅是德國的ENIGMA密碼,在戰爭期
間他們同樣破譯了意大利和日本的密碼係統,這三方麵的情報來源被
冠以“Ultra”的代號,意為“絕密”。通過Ultra提供的情報,盟軍在
戰場上取得了明顯優勢。在北非,Ultra使得盟軍能夠切斷德軍的供給
線,得到隆美爾將軍部隊的情報,使第八軍團成功抵禦了德軍的攻擊;
在德軍進攻希臘的戰役中,依靠Ultra英軍成功撤退避免了大量傷亡;
Ultra提供了敵軍在地中海地區的詳細分布情報,這對盟軍1943年在意
大利和西西裏登陸至關重要。

  但是最重要的是,Ultra在盟軍諾曼底登陸中起了不可磨滅的作用。
在登陸前的幾個月裏,依靠Ultra,盟軍獲得了德軍在法國沿海的布防
的詳細情報,從而能夠及時地針對敵軍的虛實強弱之處改進登陸計劃。

  但是布萊切利公園的工作人員並不知道諾曼底登陸計劃,在預定
登陸的前夜,他們舉行了一次舞會,這使公園裏唯一知道登陸計劃的
負責人特拉維司(Travis)很不高興,但他又不能下令取消這次舞會,因
為這會走漏風聲,使人猜想有什麽重要行動即將進行。幸虧由於天氣
的原因,登陸行動推遲了二十四小時,密碼分析專家們於是才有機會
把舞跳了個痛快。登陸當天法國抵抗組織成員切斷了陸上電話線路,
迫使德軍使用無線電報聯絡,密碼分析人員因此截獲了大量情報。

  美軍對Ultra的一份評價報告中是這樣說的:“在高級指揮官和政
治首腦之中,Ultra創造了這樣一種改變了決策方式的精神狀態。敵人
的所做作為都逃不過你的視線,這給予你信心;在你觀察敵人思想和
反應,他的一舉一動時,這種信心不斷增強。對敵人有這樣程度的了
解能夠使你的計劃大膽而又有保證,堅決而又樂觀。”

  在二次大戰盟軍的勝利中,對布萊切利公園是否起了決定性的作
用這點,曆史學家自然有大量爭議,但是毫無疑問的是,布萊切利公
園的密碼分析專家大大地加快了戰爭的進程。這在大西洋戰役的曆史
中尤其明顯。如果沒有Ultra,德軍就能在大西洋上保持一支強大的潛
艇群和反應能力,相反地盟軍必須付出巨大的人命和財力的代價來建
造新的船隻和保持運輸能力。曆史學家估計盟軍的登陸計劃會被推延
到次年,而哈裏·辛斯利則認為,在此情況下,戰爭很可能要到1948
年,而不是在1945年,才能結束。如果是這樣,希特勒將能夠更大規
模地使用V1和V2飛彈對整個英國南部進行轟炸。

  曆史學家大衛·凱恩(David Kahn)評價Ultra的作用時說:“這拯
救了生命。不僅僅是俄國人和盟軍的生命,它也拯救了德國人,意大
利人和日本人的生命。對許多在二次大戰後幸存下來的人來說,沒有
這個方案,他們將已不在人世。這就是這個世界欠這些密碼破譯者的
債務:他們的勝利折換成人類生命的價值。”

ENIGMA的興亡(四)
            (連載)

            作者 異調


四、尾聲

  戰爭結束後,布萊切利公園的秘密卻仍不能被公之於眾,英國人
想繼續利用他們在這一領域的優勢。他們把在戰爭中繳獲的數以千計
的EBIGMA機分發到英國原殖民地,那裏的政府仍舊以為ENIGMA是
堅不可破的。

  布萊切利公園的密碼學校被關閉了,“炸彈”被拆毀,和戰時密
碼分析和破譯工作有關的檔案資料有的被銷毀,其他的都被封存,嚴
密地看護起來。在幾千名原來的工作人員中,有一些成員得以繼續為
軍方新的密碼分析機構工作,但是大多數人都被遣散,轉回了原來的
平民身份。他們宣誓對在布萊切利公園的經曆保守秘密。

  從戰場上回來的老戰士們可以自豪地談論他們在二戰中的戰鬥經
曆,但是在布萊切利公園工作過的人們卻不得不隱瞞自己在戰爭中為
國家作出的貢獻。一位曾在6號小木屋中工作過的年輕密碼分析專家甚
至收到了一封他早年所在的中學的老師寄來的信,責罵他在戰爭中逃
避戰鬥的懦夫行為。

  經過長期的沉默後,直到1967年,波蘭出版了第一本關於波蘭在
破譯ENIGMA方麵的工作的書;1970年一名原德軍海軍情報人員出版
了一本有關書籍;1973年貝特朗上校出版了關於波蘭和法國在二戰初
期破譯ENIGMA密碼方麵的工作的書。最後打破沉默的是英國人。原
布萊切利公園負責Ultra情報分配工作的溫特伯坦姆(F.W.Winterbotham)
上校向英國政府寫信,要求將這些秘密公之於眾,因為此時世界上已
經沒有哪一個政府使用ENIGMA加密了,所以也已經完全沒有必要再
對破譯ENIGMA一事保密。在戰爭中為國家作出貢獻的人們的功績應
該受到應有的承認。經過溫特伯坦姆的努力,英國政府終於同意了他
的請求。1974年夏,溫特伯坦姆寫的《超級機密》(The Ultra Secret)
一書出版,使外界廣泛知道了二戰中默默工作的密碼分析專家的豐功
偉績。原布萊切利公園的工作人員因此知道他們不用再為自己在二戰
中的經曆保守秘密了,他們的貢獻也為世人所稱讚。

  對溫特伯坦姆的書最感吃驚的也許就是雷傑夫斯基,這位首先發
現ENIGMA弱點的波蘭英雄了。1939年9月1日德軍入侵波蘭後,在法
國密碼處的貝特朗少校的指揮下,他和另兩位為破譯ENIGMA作出巨
大貢獻的波蘭數學家羅佐基和佐加爾斯基帶著他們的機器逃往羅馬尼
亞,從那裏穿越南斯拉夫和意大利的邊界到達法國巴黎。他們成立了
Z小組,在法國維希繼續進行ENIGMA的破譯和“炸彈”的改進工作。
在那裏他們獨立工作了兩年之久,破譯了九千條以上的德軍情報,許
多情報導致了德軍在南斯拉夫,希臘和蘇聯的慘敗,也有力地支援了
盟軍開辟北非戰場的計劃。
       

           雷傑夫斯基、羅佐基和佐加爾斯基
  1941年下半年,羅佐基穿越地中海到法屬阿爾及利亞,為設在那
裏的一個Z小組的ENIGMA監聽站工作。1942年1月9日,羅佐基搭乘
Lamoriciere號返回法國,在回程中客船在Balearic島附近撞上了一個
水下不明物體(礁石或水雷),羅佐基和船上的221名乘客一起遇難,
同時遇難的包括另兩名的密碼分析專家。

  遭到入侵後的法國變得越來越危險,德國人密切監視著維希,Z小
組決定逃離法國。1942年11月9日,就在盟軍在北非登陸的次日,兩位
波蘭數學家開始繼續他們的流亡。1943年1月29日,他們從比利牛斯山
脈穿過法國西班牙邊境,不幸被西班牙安全警察逮捕,投入了難民營。
在那裏他們始終沒有向其他人透露過他們的真實身份。五月份他們被
釋放,前往葡萄牙直布羅陀,在那裏乘船,終於到達英國。在那裏他
們進行另一種德軍密碼SS碼的分析工作。雖然英國人知道他們對破譯
ENIGMA作出的傑出貢獻,卻寧可把他們排除在破譯ENIGMA的重要
工作以外。

  佐加爾斯基從此留在了英國,戰後在巴特爾西(Battersea)技術學
院任教,於1978年在普利茅茨去世。雷傑夫斯基戰後回到了波蘭,西
班牙的難民營使他患上了風濕症。在波茲南大學他擔任不重要的行政
工作,直到1967年退休。溫特伯坦姆的書使他第一次得知,他對ENIGMA
的攻擊方法是整個二戰期間盟軍破譯德軍ENIGMA碼的基石。1980年
雷傑夫斯基去世,享年75歲。

  對於許多人來說,他們沒有雷傑夫斯基那樣幸運,這本書也許出
版得太晚了。鄧尼森(Alastair Dennison)是布萊切利公園第一任主任,
在他去世後多年,他的女兒收到了他原來的同事的一封信:“你父親
是一個偉大的人,很長的時間裏,如果不是永遠的話,所有說英語的
人都欠著他一份債。隻有很少的人知道他做了什麽,這真是令人傷感
的事情。”

  2000年7月17日,波蘭政府向雷傑夫斯基、羅佐基和佐加爾斯基追
授波蘭最高勳章。波蘭總理布澤克在儀式上發表講話指出:“對許多
人來說,ENIGMA的破譯是對盟軍在二戰中勝利的最大貢獻。”

  值得一提的是,即使是在關於ENIGMA的秘密被公之於眾後,在
非常長的一段時間裏,波蘭數學家在這方麵的重大貢獻沒有得到應有
的承認。大量的書籍和資料(包括溫特伯坦姆的書,以及大英百科全
書)把破譯ENIGMA的功勞完全歸於英國密碼分析機構,對於波蘭人
在此事中所起作用不置一詞。波蘭的密碼分析專家從未受到過盟國
(美英法)的表彰。長期以來這使波蘭對英國耿耿於懷。

  具有諷刺意味的是,當2000年好萊塢影片《U-571》上映時,遭
到了大量英國輿論的批評。影片描述了美國海軍機智勇敢地奪取德國
潛艇上ENIGMA機的故事。英國輿論認為,首先從德國潛艇上奪取
ENIGMA機的是英國皇家海軍,美國人這樣做是把他人之功據為己有。

  2000年9月英國約克公爵安德魯王子在訪問波蘭時,代表英國政府
將一台從德國潛艇上繳獲的ENIGMA機贈送給波蘭,表示對波蘭在破
譯ENIGMA密碼中作出的貢獻的感謝。在演講中他說:“如果沒有波
蘭數學家的發現,ENIGMA密碼可能不能被破譯。”波蘭總理布澤克
對英國正式承認是由波蘭人首先破譯ENIGMA的態度表示“非常滿意”,
同時也希望能夠早日改寫大英百科全書中的有關條目。在1999、2000
和2001年,在布萊切利公園都舉行“波蘭日”的紀念活動以紀念波蘭
數學家的貢獻。
        

        安德魯王子向布澤克總理贈送ENIGMA機

  2001年4月21日,雷傑夫斯基、羅佐基和佐加爾斯基紀念基金在波
蘭華沙設立,基金會在華沙和倫敦設置了紀念波蘭數學家的銘牌。2001
年7月,基金會在布萊切利公園安放了一塊基石,上麵刻著丘吉爾的名
言:“在人類曆史上,從未有如此多的人對如此少的人欠得如此多。”
這當然是為了紀念所有在破譯ENIGMA的行動中做出貢獻的人們。

  阿蘭·圖靈沒有能活到看見自己在破譯ENIGMA中作出的巨大貢
獻為人所知的這一天,沒有看到人們為此向他的深深敬意。在他生命
的後來的時光,他並沒有被看做一個英雄,而是因他的性傾向而飽受
騷擾糾纏。1952年因被小偷入室行竊,他向警察報了案,但是不通世
事使他忘了向警察掩蓋他和另一位男士同居的事實。1952年3月31日圖
靈被警方逮捕,被以“有傷風化”罪的罪名起訴,並被判為有罪。在
整個過程中他不得不忍受報紙對他的案件的公開報道。

  他的性傾向被大眾所知,私生活被曝於光天化日之下,政府取消
了他在情報部門的工作,也不允許他繼續進行可編程計算的研究。在
入獄和治療兩者之間,圖靈選擇了注射激素和心理療法,來治療所謂
的“性欲倒錯”。此後圖靈開始研究生物學、化學。由於這些“治療”,
他的脾氣變得躁怒不安,性格更為陰沉怪僻,生理方麵也出現了異常。
1954年6月8日,人們在他的寓所發現了他的屍體。當代最偉大的頭腦
之一,就這樣在四十二歲時離開了這個世界。今天,信息科學領域內
最重要的獎項被命名為“圖靈獎”。

  那天當人們發現圖靈時,在他的床頭有一個咬了幾口的蘋果。屍
體解剖表明是氰化物致死。在1954年6月7日的那個晚上,也許圖靈耳
邊又回響起了二十年前的那首歌:“毒液浸透蘋果,如睡之死滲入。”END

全文完。

本文大多數材料來自Simon Singh的著作The Code Book,其他材料散見於互聯網。


[ 打印 ]
閱讀 ()評論 (0)
評論
博主已隱藏評論
博主已關閉評論