官术网_书友最值得收藏!

從舍棄維吉尼亞到鐵面人

維吉尼亞密碼法之前的傳統替代式密碼法,均屬于單套字母密碼法,因為整則信息只使用一套密碼字母來加密。相對地,維吉尼亞密碼法則被歸類為多套字母密碼法(polyalphabetic cipher),因為它在一則信息中就動用了數套密碼字母。它的牢固難破,便是來自于多套字母的特點,但也正因為如此,使得它的使用程序復雜很多。應用維吉尼亞密碼法所需的額外功夫讓很多人打退堂鼓。

在17世紀,對一般的用途而言,單套字母密碼法便已足夠。如果你要防備仆人閱讀你的私密通訊,或是預防配偶偷窺你的日記,這種老式的密碼法是最理想的。單套字母密碼法使用起來又快又簡單,而且用來防范沒受過密碼分析訓練的一般人綽綽有余。事實上,簡易的單套字母密碼法以多種形式通行了好幾世紀(請參閱附錄D)。至于較嚴密的用途,像是安全至上的軍方與政府通訊,單純的單套字母密碼法就不太適當了。專業的編碼者需要更好的武器,才足以對抗解碼高手。可是多套字母密碼法實在太復雜,所以他們仍舊不怎么愿意采用。軍事通訊最講究的是迅速和簡易,而外交部門每天可能要發送、接收數百份函件,時間是至關重要的。因此編碼者努力尋找一個中庸的方法,一種比單純的單套字母密碼法難破解,但又比多套字母密碼法容易使用的密碼法。

眾多候選方案中,有一種相當有效的方法稱為同音替代式密碼法(homophonic substitution cipher)。這種密碼法的特色是,每個字母可有數個替代符號,替代符號的數目多寡與字母本身的出現頻率成正比。例如,字母a在英文的出現頻率大約占8%,所以編訂包含100個符號的密碼集時,我們就指定八個符號來替換a。編寫密碼時,每碰到a,就隨機從這八個符號中任選一個來替代。編完密碼后,每個符號在密碼文里的出現頻率都應該在1%左右。同樣地,b的出現頻率大約占2%,我們就只指定兩個符號給它。編寫密碼時,每碰到b,就任選兩個符號之一來替代。最后這兩個符號在密碼文里的出現頻率仍然應該各占1%左右。依此方法為每個字母一一指派不同數目的替代符號,一直到Z為止。Z的出現頻率很低,就只分配到一個符號。表5的范例是用兩位數的數字來組成密碼集,每個明文字母,依其出現頻率分別有一至十二不等的替代符號。

我們可以說,分配給字母a的所有二位數數字在密碼文里都代表同一個音,也就是字母a的發音。同音替代式密碼法的英文名稱就是這么來的;希臘文的homos意為“相同”, phone意為“音”。提供數個替代符號給常用字母,是為了讓每個密碼符號的出現頻率大致相等。若用表5的密碼符號集來編碼,整篇密碼文的每個數字出現頻率大約都會是1%。既然沒有任何符號比其他符號更常出現,任何借助頻率分析法的破解攻勢必定會無功而返。百分之百安全?不盡然。

這樣的密碼文仍留下許多細微的線索給精明的密碼分析家。在第一章我們看到,每個英文字母都有它的獨特性格。這些性格顯現在它與其他字母的結構關系上,即使以同音替代法加密,仍舊掩藏不了這些性格。說到英文字母的獨特性格,最極端的例子是q。能跟在q之后的字母只有一個:u。嘗試解譯這類密碼文時,我們可以從q著手。q并不常見,因此大概只有一個替代符號,而u的出現頻率約占3%,因此可能有三個替代符號。所以,若找到一個固定只有三種符號會跟在它后面的符號,我們大可假設這個符號即是q,而跟在它后面的三種符號都是代替u。其他字母雖然比較難找,但它們跟其他字母的結構關系仍舊會泄漏出它們的真實身份。盡管同音密碼法并非無懈可擊,它終究比單純的單套字母密碼法安全多了。

表5:同音替代式密碼法的例子。最上面一行是明文字母,下面的數字即是替代的密碼符號。越常出現的字母擁有越多的替代符號。

使用同音密碼法時,每個明文字母可以有多種加密方式,看來似乎跟多套字母密碼法很相似。不過它在一個關鍵處仍異于后者,所以仍舊屬于單套字母密碼法。在表5所示的同音符號表里,字母a有8個數字可以輪流替代,可是反過來看,這8個數字只能代表a。換句話說,一個明文字母可以交替使用數個替代符號,但是每個替代符號只能固定回溯到一個字母。在多套字母密碼法里,一個明文字母同樣也有數個替代符號,然而更能令人混淆的是,這些符號可能會代表不同的字母。

同音密碼法被歸類為單套字母密碼法的最基本原因大概是,盡管每個明文字母可以有數個替代符號,不過整個加密過程其實只用到一套密碼字母集。相對地,使用多套字母密碼法時,必須在加密過程中不斷輪換不同的密碼字母集。

用各種方法修改變化一下基本的單套字母密碼法,例如加入同音法,就又可以加強密碼的安全性,而不用求助于復雜的多套字母密碼法。實際運用過的增強型單套字母密碼法,最難破解的大概要屬法國國王路易十四的“大密碼”(Great Cipher)。“大密碼”被用來加密法國最機密的文件,防止計劃、策略和政治陰謀的細節外泄。其中一份文件提到了法國歷史上最神秘的人物之一,鐵面人。但是牢固的“大密碼”卻將這分文件以及它引人關注的內容隱蔽了兩個世紀之久。

“大密碼”是由安東尼·何希紐與波拿翁圖·何希紐(Antoine &Bonaventure Rossignol)這對父子檔發明出來的。安東尼的成名,是緣于他對一項軍事行動的貢獻。1626年,法軍包圍瑞亞夢(Réalmont)城,有個從城里溜出來的信差被逮到,法軍把他所攜帶的密函交給安東尼。他在日落之前就解譯出密函,得知防守此城的雨格諾16至18世紀法國天主教徒對卡爾文派教徒的稱呼。(Huguenot)軍已經快撐不下去了。法軍原本對雨格諾教徒的困境渾然不知情,如今則將原信和譯文一并送還。雨格諾教徒明白他們的敵人不可能撤退,于是馬上投降了。這個解譯結果使得法軍輕易制敵。

體會到密碼解譯的力量之后,何希紐父子被授予了宮廷里的資深職位。他們先是為路易十三效力,路易十四繼任后仍擔任他的密碼分析師。路易十四非常賞識兩人,甚而把他們的辦公室移到他的隔壁,讓何希紐父子在法國外交政策的形成過程扮演中心角色。法國人對他們的才能所給予的最大贊譽之一是,他們的姓氏rossignol這個字,成了法文俚語中的開鎖工具,他們破解密碼的能力可見一斑。

破解密碼的實戰經驗賦予了何希紐父子設計更牢固的加密法的能力,最后他們發明出所謂的“大密碼”。“大密碼”的安全度極高,所有嘗試破解它以偷窺法國機密的敵方解碼專家都徒勞無功。可惜他們父子去世后,“大密碼”竟遭廢棄不用,詳細的使用法很快就被遺忘,這也意味著再也沒有人能閱讀法國檔案室的加密文件。“大密碼”實在太牢固,以致接下來的幾代譯碼專家也束手無策。

歷史學家知道,這些用“大密碼”加密的文件是探究法國17世紀時代各種宮廷秘辛的特別管道。可是,直至19世紀末,都沒有人能解譯它們。到了1890年,軍事史學者維克多·金德倫(Victor Gendron)在研究路易十四時期的軍事行動時,發掘出一些用“大密碼”加密的信函。因為看不懂,于是委請一位法國軍事密碼學部門的卓越專家,指揮官埃田·巴澤里(Etienne Bazeries)解譯。巴澤里把這些信函視為最高挑戰,其后的三年光陰都用在解譯它們上。

這批加密文件共有數千個數字,但是由587種不同的數字所構成。“大密碼”顯然比單純的單套字母密碼法復雜多了;后者只需要26個不同的數字,每個字母一個。因為數字的數量很大,剛開始巴澤里猜測“大密碼”可能是同音法,亦即由許多數字代表同一個字母。他花了數個月探索這個可能性,卻是白費工夫。“大密碼”不是同音密碼法。

后來他想到,也許每個數字所代表的是一對字母(digraph,一起發一個音的兩個字母)。法文只有26個字母,但有676種可能的字母對,而這個數目跟密碼文所用的數字數目接近。巴澤里找出密碼文里最常出現的數字(22、42、124、125、341),假設它們代表法文最常用到的字母對(es、en、ou、de、nt)。事實上,他等于把頻率分析法應用到字母對的層面上。可惜工作了數個月后,這個理論也沒能導出有意義的結果。

當他又想到另一套解譯策略時,想必已經處在放棄這份執迷的邊緣了。也許字母對的想法,其實與事實的差距并不遠。他開始試探每個數字代表一個音節(而非一對字母)的可能性。他開始嘗試給數字與音節配對,最常出現的數字應該就代表法文最常見的音節。巴澤里試驗了各種排列組合,卻都只譯出一些嘰哩咕嚕、無意義的字——直到他找出一個特定的字。124-22-125-46-345這一串數字在每一頁都出現很多次,巴澤里假定它們代表les-en-ne-mi-s,亦即les ennemis(敵人)。結果證實,這是一個關鍵性的突破。

現在,巴澤里可以進一步檢視密碼文,審究那些有這5個數字摻在里面的單詞。他把源自les ennemis的音節值插進密碼文里,揭露其他單詞的一部分。愛玩縱橫字謎的人都知道,拼出一個單詞的部分字母后,剩余的字母通常可以猜得出來。所以,巴澤里完成新的字時,就也辨識出新的音節,而這些音節又會再引出其他的單詞,如此循環下去。他不時被絆住,一部分是因為音節值本來就不明確,一部分是因為有一些數字代表的是單一字母、而非音節,更有一部分是何希紐父子故意設的陷阱。例如,有一個數字所代表的非音節、亦非字母,而是要刪掉前一個數字。

解譯過程終于結束時,巴澤里成為兩百年來第一位目睹路易十四的秘密的人。歷史學家都為這些新解譯出來的資料著迷不已,尤其是一封吊人胃口的信函。這封信似乎解開了17世紀最令人費解的一個謎團:鐵面人(Man in the Iron Mask)的真正身份。

鐵面人,自從關在法國薩伏伊(Savoy)的皮涅侯(Pignerole)城堡以來,一直是大家臆測紛紛的話題。他在1698年被遞解到巴士底獄時,農民爭相一睹他的形貌,然而事后卻眾說紛紜。有的說他矮個子、有的卻說高個子,有的說他金發白膚、有的卻說是黑發棕膚,有的說他是年輕人、有的卻說是老頭子。甚至還有人宣稱他是女子呢。在沒有明確事實可依據的情況下,從伏爾泰(Voltaire)到富蘭克林(Benjamin Franklin),每個人都編造出自己的理論來解釋鐵面人這樁懸案。最流行的陰謀論宣稱,“面具”(有時候他們就這樣稱他)是路易十四的孿生兄弟,無辜橫遭禁錮,以杜絕誰是王位繼承人的爭議。這個理論的某一版本還說鐵面人其實有后裔,這一系王族支脈被隱瞞了。1801年發行的一本小冊子宣稱拿破侖是鐵面人的后裔。既然這謠言有助于鞏固他的地位,這位皇帝并未否認。

鐵面人之謎甚至激發了許多詩詞、散文和戲劇創作。1848年,雨果(Victor Hugo)開始撰寫一出名為《雙胞胎》的戲劇,可是他發現大仲馬(Alexandre Dumas)已經全力投入同樣的計劃,便放棄已經寫好的兩幕劇本。從那時候起,大仲馬的名字就跟鐵面人的故事連在一起了。小說《鐵面人》的成功更強化了鐵面人跟國王有關聯的臆測,而且盡管巴澤里的破譯提出證據,這個理論仍持續流傳著。

巴澤里解譯出一封路易十四的戰爭部長法蘭斯瓦·德·盧瓦(Francois de Louvois)所寫的信函。盧瓦一開始先敘述費文·德·布隆德(Vivien de Bulonde)的罪行。這位指揮官負責率軍進攻位于法意邊境的城鎮庫內歐(Cuneo),占領后受令固守陣地。他卻擔心奧地利敵軍會來,拋下軍備及許多傷兵逃走了。戰爭部長表示,此一行為危及了皮耶蒙(Piedmont)的整個軍事行動。信中也明確提到,法王認為布隆德的行為是極其懦弱的舉動:

 

陛下比誰都清楚此種行為的后果,他也意識到,未能占有此地,對我們這次的行動是一大重挫,這項挫敗必須等到冬季方能彌補。陛下望你立即逮捕布隆德將軍,帶到皮涅侯城堡,晚上關進囚房里看管,白天則允他戴著面具在城垛上走動。

 

這封信明白地提到一個在皮涅侯戴著面具的囚犯,一項足堪此種處分的嚴重罪行,日期也跟鐵面人的神秘事件吻合。這個謎團終于解開了?毫不令人意外,那些偏好陰謀論的人,仍能在布隆德這個答案上找出漏洞。例如,有人辯解說,如果路易十四真想秘密囚禁他不承認的孿生兄弟,一定會故意留下一些假造的蛛絲馬跡。也許,這封密函是刻意留給人解譯的。也許19世紀的解碼專家巴澤爾正是掉進17世紀的圈套了。

主站蜘蛛池模板: 顺义区| 巧家县| 信宜市| 庆元县| 泉州市| 重庆市| 徐水县| 宿迁市| 贵州省| 毕节市| 岗巴县| 珲春市| 将乐县| 揭西县| 金堂县| 桂阳县| 古蔺县| 陆川县| 宜春市| 南靖县| 江阴市| 句容市| 洪洞县| 内丘县| 富民县| 焦作市| 昌图县| 甘孜| 福建省| 丰县| 平塘县| 博白县| 乌鲁木齐县| 揭西县| 景洪市| 邵阳市| 曲周县| 孙吴县| 万山特区| 保定市| 尉犁县|