推薦序
英國開放大學(Open University)現代語言與語言學教授
史蒂芬‧巴克斯博士
人類總是情不自禁地被各種神祕難解的事物吸引,有如飛蛾撲火。這份喜愛如此強烈,我們甚至自行發明虛構的謎題來讓夏洛克‧福爾摩斯這樣的偵探去解決。說實在的,就是因為我們對「密碼」與謎團特別著迷,也才會創造出像印第安那‧瓊斯這樣的電影角色,將我們對冒險、運動家帥氣形象以及語言天分的喜愛結合在一個英雄人物身上,再給他一頂時髦的帽子。
但是,正如這本既全面又充滿啟發性的書告訴我們的,現實世界其實已經存在大量真實的密碼與代碼來娛樂我們、讓我們傷透腦筋,何必還需要去發明虛構的謎題與密碼呢?以我自己的例子來說,我之所以下功夫解讀神祕的伏尼契手稿(Voynich manuscript),是因為童年對現實中從古到今各種解碼破譯事蹟的嚮往,包括聖書體、羅塞達碑(the Rosetta Stone)、北歐盧恩字母(runes)和克里特島線形文字B(Linear B)之謎。更何況,不僅僅是這些謎團本身吸引人,每個故事裡的人物在排除萬難破解自己這份密碼時,他們的表現經常都比印第安那‧瓊斯要更異乎尋常、更富有新意。
當我應邀為這本書寫推薦序,在閱讀這一頁頁豐富內容的過程中,我又再一次被帶回那些古老的冒險世界,而我過去也曾在其中遊覽,去看那些我最喜愛的東西,比如那尚未被解讀的斐斯托斯圓盤(Phaistos Disk),或是那奇妙的倫哥倫哥文字(Rongorongo script)。雖然這些對我來說都是老朋友,我仍然在每一頁都學到關於它們的新知識。比如說,誰會曉得摩斯是因為妻子過世的刺激而著手設計出摩斯電碼,而在這之前他的工作卻是肖像畫家?
除了這些以外,我們也會看到許多較不出名的密碼與代碼,但它們動人心魄、引人入勝的程度決不遜於其他。這麼說吧,這些就是我的新朋友,包括神祕的上古密碼、商業密碼、詩碼、先進加密技術,以及更多更多。在此同時我們還會遇見一批奇特又有趣的新角色:加密者與解密者、士兵與騙徒、江湖郎中與科學家、一頁又一頁的謎語與說謎人。有的謎題已被解開,但還有許多仍在吊著我們胃口,頑固地拒絕被破譯。所以說,我要公開向本書作者致謝,感謝他讓我重會老友,又介紹我認識新的益友。
解譯任何密碼都需要靈活思考,需要專心致志與勞心勞力,但最重要的是需要好奇心以及愛新求新的態度,能將成見放一邊,跳脫既有的框架去想更多。正因如此,本書既能提供娛樂也能提供啟發,還能提供無限的趣味和卓識,刺激我們的好奇心,觸動人人皆有的人類基本特質——我們都熱切渴望能解開未解之謎、了解神祕事物,並想要在這麼做的時候享受過程中的每一步。
序
複雜的密碼學
我們在這本書裡要踏上一場歷史之旅,從大約五千到六千年前密碼學在印度河河谷發源開始,探索古希臘人與古埃及人用來保密通訊內容的方法。從西元前第五世紀希臘史學家希羅多德(Herodotus)那裡,我們學到的不只是日常生活發生的事,更有許多有趣的細節,包括在奴隸剃光的頭上刺青以便發送密信的方法。希羅多德在《歷史》(Histories)一書裡記述了邁立特城(Miletus)的僭主(tyrant)希斯提埃烏斯(Histiaeus)與波斯交戰的時候就用了這招,先在奴隸剃光的頭上刺上訊息,等到奴隸的頭髮長出來就可以遮住刺青內容。希羅多德告訴我們,希斯提埃烏斯派出一名信使,交代他說:「當汝去至邁立特,要阿里斯塔哥拉斯(Aristagoras,希斯提埃烏斯的姪子)剃汝頭觀之。」
希羅多德還把希臘人用的另一招數透露給我們,那就是把訊息刻在木板上,然後用熔蠟覆蓋木板來掩藏文字。這種技術後來被稱為「隱寫術」(steganography,源自希臘文的steganos「隱藏」與graphia「書寫」),且還納入了更多技巧,包括使用隱形墨水、用郵票遮蓋消息,或是在特定字母下方加點以指示閱讀者挑這些字母來看。
歐洲進入中古時期後,阿拉伯學者冒出頭來成為加密這門學問的領路之光。伊拉克哲學家肯迪(al-Kindi)發明頻率分析法(frequency analysis),造就了密碼分析或說「解碼」的這門專業。這項發明是起跑線上的鳴槍,從此加密者與解碼者展開一場史詩級的競賽,一直延續到今天。歐洲思想家發展出刁鑽的新技術,使用多套字符表進行替換以使頻率分析法無效,從此掌握永遠擊敗解碼者的關鍵——至少他們自己這樣認為。然而,十九世紀德國密碼學家弗里德里希.卡西斯基(Friedrich Kasiski)卻證明這些看似毫無破綻的技術竟也有其弱點。
到了十九世紀早期,工業革命、國際貿易日益發達,再加上電報科技的盛行,都使得人們更需要能夠保密的遠距通訊。山謬.摩斯(Samuel Morse)把與他同名的這套電碼貢獻給世界,其他人則想到要讓通訊保密還得更進一步。二十世紀早期,世界爆發戰爭,設計密碼與破解密碼這兩方之間的勝負可以決定乾坤。法國軍人喬治.潘文(Georges Painvin)這位解碼天才是協助擊破德軍一九一八年春季攻勢(Spring Offensive)的功臣;而美軍的查克托族(Choctaw)印第安人密語隊(codetalker)則確保了盟軍通訊內容絕不外洩。兩次世界大戰之間這段時期是密碼學發展的重要分水嶺,手工加密的時代結束,機器時代由此開始,讓交戰雙方能以不可思議的複雜方式來迂迴處理(convolute)訊息。
不過,就連這種密碼都不是百毒不侵。直到二次大戰終戰數十年後,英國布萊奇利園(Bletchley Park)解碼專家的貢獻才為世人所知,但戰爭時期的領袖溫斯頓‧邱吉爾 (Winston Churchill)曾說過一句著名的話,他說布萊奇利園所做的事讓戰爭得以提早一年結束。直到現在,數學家仍是密碼研究的領頭先鋒,他們一直致力尋找更加複雜的函數來消隱訊息,而這也直接導致電腦時代的開始。從那時起,愈來愈複雜的資訊科技也就成為密碼學世界的主宰者。
「代碼」與「密碼」的不同
雖然英語使用者普遍混用code(代碼)與cipher(密碼) 兩字,但其實兩者之間有著本質上的重要差異。
密碼指的是將訊息中每個字母都用其他符號代換的一套做法,以此將訊息內容加以偽裝。另一方面,代碼比較注意的是文字的含義而非個別字母,其做法通常是將整個單字或整句話依照代碼本(用來蒐集、儲存和記錄代碼的檔案或書籍)中的指示加以代換。
就結果來說,代碼比密碼更固定、更不靈活。舉例來說,某一套代碼可能會特別指定用「5487」這組數字來代換「攻擊」(attack)這個詞,這樣的話任何時候某條訊息裡出現「攻擊」一詞,加密後的結果就一定會包含「5487」這組數字。就算代碼本裡提供多個用來代換「攻擊」的選項,但能夠產生的變化仍然有限。
相比之下,如果是密碼,就算是在同一條訊息裡,不同地方出現的「攻擊」(attack)一詞都可能會被以完全不同的方式加密,於是旁觀者就更難看出其中規律。
本書將代碼與密碼這個撲朔迷離的世界放入歷史的脈絡裡,同時也提供實用工具,讓有心致力於密碼學這門科學與藝術的人能用來破譯密文或自行加密訊息。