正文 第03章 文 / 丹·布朗
還原其信息的惟一手段就是輸入發送人的「萬能鑰匙」,——就是一系列密碼,其作用很像自動取款機所需的個人身份號碼。萬能鑰匙通常又長又複雜,它包含著所有說明加密規則系統所需的原始信息,其實就是進行數學運算以再現原始信息。
現在用戶可以自信地發送電子郵件了。即使這一發送物遭到攔截,也只有得到鑰匙的人才能破譯。
國安局立即意識到了困境。他們現在所面對的不再是僅憑一雙手和方格紙就可以破解的代用密碼,而是計算機生成的秘密功能,這一功能運用混沌理論和多重符號字母把信息打亂,使之看去雜亂無章,根本無法破解。
首先,用戶使用的萬能鑰匙必須較短,這樣國安局的電腦才可能「猜測」出來。如果一個萬能鑰匙是期望中的十位數,那麼電腦就可以編出程序,嘗試0000000000和9999999999之間的每一種可能性。或遲或早,電腦會碰上正確的序列。這種試猜法被稱為「蠻力解密法」。這種方法可能曠日持久,但從數學意義上來說卻是有保證的。
由於全世界都瞭解了試猜解密法的威力,因此萬能鑰匙便變得越來越長。電腦用於「猜測」正確序列的時間從最初的幾個星期到幾個月最後到了幾年。
到了1990年,萬能鑰匙就已經超過了包括字母、數字和符號的美國信息互換標準碼的全部256個字符。不同可能性之間的數字大約是10120,也就是1的後面有120個零。正確地猜出一個萬能鑰匙就相當於從三英里長的沙灘上找尋一粒正確的沙子。用試猜法破解一個標準的64比特的萬能鑰匙,國安局最快的電腦——絕密格雷/約瑟夫二世估計也要用上十九年以上的時間。
由於在虛擬情報封鎖中被抓,國安局通過了一項由美國總統簽發的秘密指令。他們獲得了聯邦基金的大力支持,還獲得了為解決這一問題可以「先斬後奏」的自由行動權,在這雙重激勵下,國安局決定開始建造一件令人難以置信的東西——世界上第一台「萬能解密機」。
儘管許多工程師都認為這新提出的解密計算機沒有建成的可能性,國安局還是堅信他們自己的座右銘:萬事皆可能;不可能的事只不過需要更多時日而已。
整整五年,在花了五千萬個人工小時和耗資1.9億美元之後,國安局再一次證實了他們的座右銘的正確性。三百萬台郵票般大小的中央處理機的最後一台被手工焊接停當,最後一道編製程序宣告結束,陶瓷外殼鍛封完畢。「萬能解密機」就這樣誕生了。
萬能解密機內部的神秘運轉是許多智慧的結晶,沒有哪一個人能夠全部清楚個中究竟,但其原理卻是再簡單不過了:人多好辦事;三個臭皮匠頂一個諸葛亮。
三百萬台中央處理機將全都並行工作——以令人眼花繚亂的速度進行計數,對每種排列進行逐一嘗試,這樣的話,即使是大得難以想像的萬能鑰匙都逃不過萬能解密機的火眼金睛。為了猜測萬能鑰匙並破譯密碼,這台耗資數億美元的傑作在明碼通信的猜測中採用高精度分類方法的同時,也將發揮並行處理的功效。其威力不光是來自數目大得令人咋舌的中央處理機,還來自那些具有突破意義的新的量子計算方法——剛剛湧現出的使信息可以作為量子力學形態而不是僅僅作為二進制的數據進行存儲的科學技術。
激動人心的時刻終於到來了,那天是十月份的一個星期四,一個雨橫風狂的早晨。首次現場試驗。儘管對這台機器到底有多快還拿不準,但工程師們有一點意見是完全一致的——如果中央處理機全都並行工作,萬能解密機的功力是強大的。但到底有多麼強大,他們還不得而知。
答案十二分鐘之後就有了。當電腦輸出並提交了明碼電文,也就是提交了破譯了的密碼之後,在場的人都驚得目瞪口呆。萬能解密機只用了十分鐘多一點點的時間就查明了一個六十四字符的萬能鑰匙,這比二十年前國安局最快的電腦要快上一百萬倍!
在萬能解密機建造指揮部副部長、國安局副局長特弗雷·J·斯特拉斯莫爾的帶領下,國安局的生產處贏得了勝利。萬能解密機是個巨大的成功。為了保守這一秘密,斯特拉斯莫爾副局長立刻向外放出風去,說這項工程已宣告徹底失敗,密碼部裡的一切行動都是要挽回兩億美金的慘痛損失。只有國安局的上層知道事實的真相——萬能解密機每天都破解著成百上千的密碼。
外面傳言,加密的電子郵件是完全不能破解的——即使是無所不能的國安局也是一籌莫展。緊接著,好消息頻頻傳來。毒梟、恐怖分子以及竊賊之流,早已受夠了手機常遭竊聽、遭攔截之苦,都轉而使用這一新興的聯繫方式,也就是轉瞬間可以同世界各地進行聯繫的加密的電子郵件。他們再也不會面對龐大的陪審團,收聽錄音機上他們自己的說話聲——那早已忘卻了的被國安局的衛星捕獲的手機對話。
情報收集還從來沒有這麼容易過。國安局截獲的密碼,作為完全不能讀解的密碼文件輸入萬能解密機後,用不了幾分鐘,就變成了完全可讀的明碼文件。世上已經完全沒有秘密可言了。
為了讓外界更加相信自己在破解郵件密碼方面的無能,國安局激烈地遊說立法議員對所有電腦加密軟件都不予通過,他們堅持說,如果予以通過,國安局的功能將大大被削弱,而立法者也就不可能去抓捕和起訴犯罪者。民權團體卻是心花怒放,他們認為,國安局本來就無權閱讀人們的信件。密碼軟件宣傳物鋪天蓋地而來。國安局「輸」了這場戰爭——這正是他們的如意算盤。殊不知,全世界的電子界都受到了愚弄——或者看起來是如此。
「人都哪兒去了?」蘇珊走過密碼破譯部的地板時暗暗思忖。緊急任務。
國安局的大多數部門在一周七天的時間裡都要滿負荷地工作,但密碼破譯部在星期六的這一天裡卻一般都是闃無一人。善於用數學破解密碼的人骨子裡就是一些腦子裡的弦拉得過緊的工作狂,因此還有個不成文的規定,就是星期六這天除非緊急任務,他們可以放假一天。密碼破譯者們都是國安局裡的頂樑柱,因此決不能讓他們過度工作從而導致疲憊不堪。
蘇珊在地板上走著,萬能解密機赫然聳現在她的右側。八層樓下的計算機的動力設備今天聽起來怪異而又不吉祥。蘇珊從不願在休息時間裡待在密碼破譯部,好像是獨自一人同一隻自命不凡的未來派的野獸一起被關在籠子裡似的。蘇珊趕忙向副局長的辦公室走去。
斯特拉斯莫爾的玻璃牆的智能工作室,高高地矗立在密碼破譯部的後牆上的一組「天橋」樓梯的上方,人們根據其外觀,特別是簾子拉開時候的樣子,給它起個綽號叫「魚缸」。蘇珊沿著裝了柵欄的樓梯向上爬著,一邊向上注視著斯特拉斯莫爾辦公室的厚厚的橡木門。這裡行使著國安局的職權——一隻禿鷹惡狠狠地緊握著一把古老的萬能鑰匙。那扇門的裡面,坐著她所見過的最偉大的人物之一——斯特拉斯莫爾。
斯特拉斯莫爾副局長,這位五十六歲的指揮部的副部長,在蘇珊眼裡就像是一位父親。是他招聘了蘇珊,也是他使國安局成了蘇珊的家。蘇珊十幾年前進國安局的時候,斯特拉斯莫爾還是密碼發展部的頭兒,那是一個剛來的密碼破譯員們——剛來的男性密碼破譯員們——的訓練基地。斯特拉斯莫爾從不允許手下戲弄新來的任何人,而對這位惟一的女性職員則更是關愛有加。有人告他偏袒蘇珊,他只是以事實回擊之:蘇珊·弗萊切是他所見過的最聰明的年輕新手,他決不會因為性騷擾而失去她。有個老密碼破譯員竟決定考驗一下斯特拉斯莫爾是否表裡如一,言行一致。
那是蘇珊到國安局的第一年。一天早晨,蘇珊到密碼破譯部的公共休息室裡去拿書面材料。離開的時候,她注意到公告板上有一張她自己的照片。她難堪得差點昏過去。畫面上,她慵懶地躺在床上,身上只穿著緊身短襯褲。
後來才知道,是一個密碼破譯員用數字電腦從一本黃色雜誌上掃瞄了一張照片,然後把蘇珊的頭像移花接木地同那張照片的身體合二為一。照片惟妙惟肖,簡直可以亂真。
但是出於對蘇珊的考慮,斯特拉斯莫爾副局長可一點也不覺得這個花招有什麼好玩兒。兩個鐘頭後,出現了一個字條,上面寫著:
職員卡爾·奧斯丁由於行為不軌被解雇。
打那天起,誰也不再招惹蘇珊。蘇珊·弗萊切成了斯特拉斯莫爾副局長的掌上明珠。早在職業生涯的初期,斯特拉斯莫爾副局長就設法通過引薦一些非正常渠道的情報交易而引起上級的注意。特雷弗·斯特拉斯莫爾以擅長中肯精練的分析而逐漸為人所知。他特別關注國安局在難以抉擇時所面臨的道德困境,做事始終不渝地從公眾利益出發,他在這些方面似乎有著異乎尋常的能力。
在眾人眼裡,斯特拉斯莫爾毫無疑問非常愛自己的國家。在同仁們的眼中,他是個愛國主義者和理想主義者——他是這個虛偽世界裡的翩翩君子。蘇珊到國安局的這些年裡,斯特拉斯莫爾從密碼破譯部主任一躍登上了整個國安局的第二把交椅。現在斯特拉斯莫爾副局長在國安局裡只在一人之下——這人就是利蘭·方丹局長,這個人物是這個龐大「迷宮」的神秘統治者,他從未露過面,偶爾會聽到他的名字,永遠讓人敬畏。他和斯特拉斯莫爾也很少面對面相見,而一旦相見,那就像是兩個巨人的衝撞。方丹是巨人中的巨人,但斯特拉斯莫爾似乎並不在乎。他像個慷慨激昂的拳擊手那樣極力克制著自己去同那位局長據理力爭,就是美國總統也不敢像斯特拉斯莫爾那樣去指責他。這樣做的人需要有政治上的豁免權——或者像斯特拉斯莫爾那樣對政治漠不關心。
蘇珊爬到了樓梯的頂部。還沒等蘇珊叩門,斯特拉斯莫爾工作室的電子門鎖已經嗡嗡地響了起來。門開了,副局長招手叫她進去。
「謝謝你趕過來,蘇珊。我欠你的情了。」
「您太客氣了。」她笑了笑,在桌子對面坐了下來。
斯特拉斯莫爾四肢瘦長,但身上的肉卻很厚實,他沉默寡言的性格多少掩蓋了他那頑固的追求盡善盡美的本性。他的一雙慧眼總是透出自信和與生俱來的審慎。但今天他的眼神看去卻有些慌亂和心神不定。
「您看上去有些疲憊。」蘇珊說。
「我以前不是這個樣子。」斯特拉斯莫爾歎了口氣說道。
我正要這麼說,蘇珊心想。
蘇珊以前還從未見斯特拉斯莫爾這個樣子過。他那稀疏的花白頭髮顯得凌亂,在這麼清爽的空調房間裡,他額頭竟還冒出了汗珠。他昨晚好像是和衣而臥的。他坐在一個新式的桌子的後面,兩個凹進去的袖珍鍵盤和一台電腦顯示器放在桌子的一頭。桌子上面堆放著各種電腦打印物,看上去像是這個拉上簾子的工作室裡放著一個叫不出品牌的駕駛座。
「這周挺累?」蘇珊詢問道。
斯特拉斯莫爾聳了聳肩道:「還那樣。『電新會』又就公民隱私權一事糾纏不休。」
蘇珊輕輕地笑了。電新會,全稱是電子新領域基金會,是一個全球性的電腦用戶聯合會,已經成立了龐大的公民自由聯合會,旨在支持在線言論自由,讓人們瞭解生活在電子世界裡的現實問題及危險因素。他們到處遊說,一貫反對他們所說的「政府機構的奧威爾(註:奧威爾:喬治·奧威爾(1903—1950),英國小說家、新聞記者,他在小說《1984年》中描述了一個受殘酷統治而失去人性的未來社會。奧威爾主義即源自此書,指的是為達到宣傳目的而篡改並歪曲事實真相。)竊聽能力」——特別反對國安局。電新會一直是斯特拉斯莫爾的眼中釘,肉中刺。
「好像一如既往嘛。」蘇珊說到,「那麼您打電話把我從浴缸裡叫出來的緊迫任務是什麼呢?」
斯特拉斯莫爾沉坐在那裡,手指觸弄著固定在桌面上的計算機跟蹤球。他沉默了良久,才發現蘇珊盯著他看,便也盯著她問道:「你知道萬能解密機破譯一個密碼用的最長時間是多少嗎?」
這話可完全出乎蘇珊的預料,好像毫無意義。他就是為這事把我叫來的嗎?「嗯……」她稍一沉吟說道:「幾個月前,我們截獲了一個通信情報,這個情報我們用了大約一個鐘頭的時間,但這個情報的萬能鑰匙出奇的長——有大約一萬個比特。」
斯特拉斯莫爾咕噥著說道:「用了一個鐘頭?呵!要是遇上邊緣密碼那得用多少時間呢?」
蘇珊聳聳肩道:「當然嘍,要是包括診斷程序在內的話,那自然就長得多。」
「要長多少?」
蘇珊鬧不清斯特拉斯莫爾問這話是什麼意思。「這麼說吧,局長,三月份的時候,我嘗試對分割成段的一百萬比特的萬能鑰匙使用了計算機演算規則系統。非法循環功能,元胞自動機,什麼都有。結果,萬能解密機還是把它解開了。」
「用了多長時間?」
「三個鐘頭。」
斯特拉斯莫爾雙眉緊蹙。「三個鐘頭?那麼長時間?」
蘇珊也皺起了眉,稍稍有些不悅。過去的三年裡,她的工作就是對這台世界上最神秘的電腦進行微調。萬能解密機的大多數程序能夠那麼神速地運行,要歸功於她。一個一百萬比特的萬能鑰匙簡直是難以想像。
「好的。」斯特拉斯莫爾說,「也就是說,再難解的密碼到了萬能解密機這裡也只需三個鐘頭左右?」
蘇珊點了點頭道:「正是,上下差不了多少。」
斯特拉斯莫爾猶豫了一下,像是怕說出什麼不想說出的話似的。最後還是抬起頭來說道:「萬能解密機遇上了點……」他又收住了話頭。
蘇珊問道:「超過了三個鐘頭?」
斯特拉斯莫爾點了點頭。
蘇珊看起來並不感興趣。「遇上了新的診斷程序?是來自系統安全部?」
斯特拉斯莫爾搖了搖頭說道:「是個外部文件。」
蘇珊等著他說出下文,可他又沒話了。「外部文件?您是在開玩笑,對嗎?」
「但願如此。我昨晚十一點半左右就把這個文件交付給了萬能解密機,但到現在還沒有破譯出來。」
蘇珊驚得張開了嘴。她看了看自己的手錶,又看了看斯特拉斯莫爾,問道:「還在破譯?十五個多鐘頭了?」斯特拉斯莫爾欠起身來,把電腦顯示器轉向蘇珊。屏幕是黑的,只有一個黃色的小盒子在中間一閃一閃的。
已過時間:15小時9分33秒
破譯結果:——
蘇珊驚愕得瞪大了眼睛。這就是說萬能解密機破解一個密碼就已經用了十五個多鐘頭。她知道計算機的處理程序每秒鐘對三千萬個字符進行清查,一個鐘頭就清查一百個億。如果萬能解密機還在計算,那就意味著這個萬能鑰匙實在是大得難以形容——其長度超過十億位數。這真是天方夜譚。
「這不可能。」她斷言道,「您檢查過誤差標記嗎?也許是萬能解密機的運算程序出了故障,而且……」
「機器運轉正常。」
「那就是萬能鑰匙太大!」
斯特拉斯莫爾搖著頭說:「是標準的商業性規則系統。我猜也就是一個六十四比特的萬能鑰匙。」
蘇珊百思不解,她向窗外下面的萬能解密機看了看。她深知這台機器不出十分鐘就可以把一個六十四比特的萬能鑰匙搞定。「其中定有蹊蹺。」蘇珊說。
斯特拉斯莫爾點了點頭說:「說到點子上了,但你不會喜歡這種蹊蹺。」
蘇珊有些擔心地說:「難道是萬能解密機出了故障?」
「萬能解密機一切正常。」
「遇上了病毒?」
斯特拉斯莫爾搖著頭說:「沒有病毒。聽我說下去。」
蘇珊驚得目瞪口呆。萬能解密機還從未碰到過一個鐘頭之內解不開的密碼。通常密碼電文幾分鐘內就可以送到斯特拉斯莫爾的電腦上進行打印。她瞥了一眼桌子後面的那台高速打印機,上面空無一物。
「蘇珊,」斯特拉斯莫爾輕聲說道,「起初可能很難接受,不過先聽聽吧。」他咬了咬舌頭接著說道:「萬能解密機正在破解的這個密碼——非常罕見,和我們以前見過的都不一樣。」斯特拉斯莫爾頓了頓,好像這話很難啟齒:「這個密碼解不開。」
蘇珊瞪大了眼睛看著他,差點笑出聲來。解不開?那會意味著什麼?就沒有解不開密碼這回兒事——只不過有的時間長點兒而已,每個密碼都是能夠解開的。從數學意義上講,萬能解密機早晚能找到正確的答案。「您能再說一遍嗎?」
「這個密碼解不開。」他含糊不清地重複道。
解不開?蘇珊不敢相信這話竟是一個有著二十七年密碼分析經驗的人說的。
「解不開,局長?」她很不自然地問道。「試過伯格夫斯基定律嗎?」
蘇珊在職業生涯的初期學過伯格夫斯基定律。這是蠻力技術的基礎,也是斯特拉斯莫爾製造萬能解密機的靈感所在。這一定律清楚地說明,如果計算機把所有的可能都嘗試一遍,那麼從數學意義上來說就一定能找到正確的答案。密碼打不開不是因為其萬能鑰匙找不到,而是由於大多數人都沒有那麼多的時間或那麼好的設備去找。
斯特拉斯莫爾搖了搖頭。「這個密碼卻是個例外。」
「例外?」蘇珊頗不以為然地瞄了他一眼。不能破解的密碼在數學意義上來說是不可能的!他知道這點。
斯特拉斯莫爾一隻手搔著汗涔涔的頭髮說:「這個密碼是一個全新的設密程序的產物——我們以前從未見到過。」
他這麼一說,蘇珊就更是丈二和尚摸不著頭腦了。設密程序其實只是公式而已,是一些把文本變成密碼的訣竅。數學家和程序編製者們每天都能造出很多新的程序。這些東西市場上成百上千——PGP加密軟件、DiffieHellman加密算法、壓縮文件、IDEA算法和ElGamal算法,等等。萬能解密機每天都破解這些程序編出的密碼,沒碰到過問題。對萬能解密機來說,所有密碼都是一樣的,根本不管是用哪個程序編出來的。
「我還是不明白。」蘇珊爭辯道,「我們現在探討的不是逆序工程中的某些複雜功能,我們探討的是蠻力技術。PGP加密軟件、Lucifer算法、數字簽名算法——都無關緊要。」程序就是要編出自以為安全的萬能鑰匙,而萬能解密機則要去破解其密碼直到找出答案。
斯特拉斯莫爾像個好老師那樣竭力耐著性子回答道:「你說得對,蘇珊。萬能解密機總是能夠解開萬能鑰匙——即使它大得驚人。」停了半晌,他才又說,「除非……」
蘇珊想插話,但顯然,斯特拉斯莫爾就要說出爆炸性的話了。除非什麼呢?
「除非計算機不知道它什麼時候解開了密碼。」
蘇珊差點從椅子上跌下來。「您說什麼?」
「除非計算機猜到了正確的答案但還只管猜下去,因為它不知道自己已經找到了正確的答案。」斯特拉斯莫爾無奈地說。「我認為這個程序用的是旋轉明碼電文。」
蘇珊驚訝得目瞪口呆。
旋轉明碼電文功能概念最初是在1987年由匈牙利數學家約瑟夫·哈恩在一家不起眼的報紙上提出來的。由於使用蠻力技術的計算機可以通過明碼電文的可識別詞彙模式來破解密碼,哈恩提出了一個新的解密程序,這一程序除設密而外,還可以在不同時間裡轉換解了密的明碼電文。從理論上來說,永恆轉變可以使解密電腦永遠找不到可辨識的詞彙模式,因此當它已經找到了準確答案的時候,它自己卻永遠也不會知道。這種理念有點像殖民火星的想法——從理智層面上講,這是可以理解的,但目前這還遠非人力所能及。
「您是從哪兒弄到這個東西的?」蘇珊追問道。
局長慢吞吞地答道:「一個國有企業的程序員寫的。」
「什麼?」蘇珊一屁股又回到椅子裡。「我們樓下的程序員都是世界上最好的!我們這麼多人通力合作都不知離旋轉明碼電文功能還有多遠。您是不是想告訴我有個凡夫俗子憑著一台計算機就把這個東西搞出來了?」
斯特拉斯莫爾降低了聲音,顯然是想讓她平靜下來。
「我倒不覺得這傢伙是個凡夫俗子。」
蘇珊根本就聽不進去。她確信總該有其他原因:是故障?是病毒?什麼都比存在解不開的密碼這個原因的可能性大。
斯特拉斯莫爾嚴肅地看著蘇珊說道:「編寫這個程序的人是有史以來最出色的密碼學專家之一。」
蘇珊更加疑惑起來。有史以來最出色的密碼學專家都在她自己所負責的密碼破譯部裡,要是誰搞出了這樣的程序,她當然最清楚了。
「是誰?」
「你肯定猜得出。」斯特拉斯莫爾說。「他並不太喜歡國安局。」
「嗯,這下倒把範圍縮小了。」蘇珊有些慍怒地諷刺道。
「他參與過萬能解密機的製造,他違反了規則,幾乎釀成大錯。我已經把他打發走了。」
蘇珊面無表情,但臉色很快又變白了。「哦,天哪……」
斯特拉斯莫爾點頭道:「他這一年來都在吹噓說他在搞一個蠻力技術抵製程序。」
「但,但是……」蘇珊有點囁嚅。「我還以為他是瞎咋呼呢。難道他真的搞出來了?」
「他確實搞出來了。他就是這個超大的不能破解的密碼的編寫者。」
蘇珊沉默了好半天。「但是……那就是說……」
斯特拉斯莫爾死死地盯著她說道:「正是。正是遠誠友加使萬能解密機成了一堆廢物。」