兩百年才破解的傳奇密碼

《蘇格蘭女王和法國鐵面人》

蘇格蘭的瑪麗女王是全歐洲最傳奇也是最富個人魅力的女人,這首先來自於她的美麗,據說她身高1米8,身材玲瓏,容顏俏麗;也源自她高雅的氣質和無比的聰慧,她會講六種語言,兩種樂器,精通各種藝術。蘇格蘭瑪麗擁有小說般的命運,她出生僅僅六天就繼承蘇格蘭王位,不到五歲就成為法國的太子妃,但嫁給法國國王才兩年就守寡。返回蘇格蘭後她捲入了政治和情感的雙重漩渦,她先是被人傳言出軌,接著又被人認定謀殺親夫,再下來又愛上了強姦她的男人。在一系列的混亂後,她被迫逃離蘇格蘭,來到英格蘭,結果最後又被自己的表姑兼表姐的伊拉莎白一世斬首。這麼多故事集中在一個亂世佳人身上,想不引起關注都很難。

然而多數人不知道的是斷送這位傳奇女王生命的竟然就是密碼。英格蘭的伊麗莎白一世對瑪麗一直有著滿腔的嫉妒心,不僅僅是因為瑪麗比她漂亮的多,更是因為瑪麗在許多英格蘭人心目中比她這個私生女更有資格成為英格蘭之主。所以自從瑪麗逃到英格蘭,就一直被伊麗莎白嚴密的軟禁。伊麗莎白想盡辦法羞辱瑪麗,她不斷地更換關押瑪麗的地點,中斷了瑪麗最喜歡的巴克斯頓飲用水的供應,她甚至挑逗蘇格蘭瑪麗的兒子向自己求婚。面對這一切,瑪麗自然心有不甘,她雖然儘量顯示出安靜和平和,但是當反抗機會來臨時她也會拼命抓住。

1586年3月,倫敦的一個酒館裡,安東尼·巴賓頓召集了一夥人策劃解救瑪麗的密謀。這些天主教徒不滿日益新教化的英格蘭對天主教的壓迫,決定發動叛亂,刺殺伊麗莎白釋放瑪麗。他們一致認為這個計劃必須得到瑪麗本人的許可才能進行,但是卻苦於無法和軟禁中的女王取得聯繫。

正在此時,一個叫做吉爾伯特·吉法德的天主教徒找上門來,原來他一直是為瑪麗秘密傳遞來自法國等地支持者信件的間諜,他利用啤酒桶的軟木塞把信息送進和送出關押瑪麗的查理特莊園。此刻他提出願意幫助巴賓頓等人和女王進行聯繫。巴賓頓大喜過望,但是他並沒有喪失應有的警惕,雖然有了啤酒桶軟木塞這種隱文術,他仍然把自己的信件變成了加密文字。此時歐洲的密碼早已經不是簡單的單個字母替換了,而是會使用大量的非字母符號。巴賓頓用的密碼就包括了23個字母和35個代表單詞和詞組的符號,這樣一來,缺少的字母和多了的單詞就會大大增加破譯的難度,為了進一步迷惑破譯者,巴賓頓還用了四種迷惑性的空白符號。

兩百年才破解的傳奇密碼

弗朗西斯·沃爾辛厄姆

計謀正在有條不紊的推進著,可誰也不曾想到的是這位信使吉法德竟然是一位潛伏者。他利用自己天主教的身份作掩護,混入英格蘭各種反新教組織當中,而他真正的服務對象卻是英國女王的秘書,一位出名的酷吏警察,弗朗西斯·沃爾辛厄姆。瑪麗女王和支持者的信件全部原封不動的落入了沃爾辛厄姆的掌控之中,計劃已經暴露,現在唯一能保護瑪麗的只剩下那套複雜的密碼了。

遺憾的是,沃爾辛厄姆有一位得力的密碼助手名叫湯姆斯·菲利普斯,他精通多門語言和密碼學。在他的努力下,瑪麗的密碼很快便被破解掉。狡猾的沃爾辛厄姆沒有急於出手,他反而使用這套已經掌握的密碼並仿照瑪麗的筆跡給巴賓頓等人發出了一封偽造信,讓他提供出所有參與者的姓名。過於信賴密碼安全性的巴賓頓毫無警惕,和盤托出了全部人員,結果所有的反叛者都在8月15號之前被抓住。他們被開膛破腹,或者被大卸八塊,而瑪麗女王也在第二年的2月8日,在福斯領海城堡的大廳裡走上了斷頭臺。臨死前她一直默唸著家族的誓言:我的結束就是我的開始。

兩百年才破解的傳奇密碼

這句格言用在密碼學身上真是再合適不過了,因為就在這個悲傷的故事發生的同時,密碼學的一次重大突破開始了。第一個意識到傳統加密方法本質問題的是佛羅倫薩的巴蒂斯特·阿爾伯提,他是首次總結透視畫法的畫家,同時也是一位詩人、哲學家。他在和朋友散步聊天時受到啟發,提出字母替換等加密方法最大的問題是沒有改變字母的頻率特性,才會露出馬腳。而造成這個問題的關鍵是替換字母表只有一套。如果加密時能同時使用兩套不同的字母表,比如奇數字母用一套替換表,偶數字母用另一套替換表,則密文字母的頻率就會被改變而無法破譯。阿爾伯提加密最大的優點就在於明文當中同一個字母到了密文當中可能變成兩個字母,頻率的特性被打亂了。

這個思想很快得到不斷擴展,既然兩套字母表可以打亂頻率特性,那麼三套四套字母表會不會效果更好?最後法國的維熱納爾終於提出了一套全面系統地加密方法,其思想是使用多套字母移位對應的凱撒字母表來加密。由於凱撒密碼共有26種,所以該系統實質上是26個字母表混合使用的加密系統。加密時第一個字母使用第一套字母表,第二個字母採用第二套字母表,以此類推,到第27個字母重新使用第一個字母表。如果把全部凱撒字母表排列在一起,就形成了一個替換字母的矩陣,故此可以說維熱納爾的加密方法是把密鑰從一維提高到了二維。

兩百年才破解的傳奇密碼

維熱納爾字母表

如果加密時,只簡單的採用逐個字母在字母方陣上向下換一行的方式進行凱撒字母表的選擇會顯得太過規律,所以一般加密者都會使用一些讓解密者感覺到難以預測的無規律跳行方式來選擇凱撒密碼行。比如我們可以用一個關鍵詞來實現這種加密行的跳躍選擇。假設關鍵詞是CHINA,那麼第一個字母的加密就採用C行凱撒字母表,第二個字母的加密就採用H行字母表,第三個字母跳到I行,第四個字母N行,第五個字母A行,第六個字母重新回到C行,如此循環往復。解密者如果不知道關鍵詞CHINA,就難以預測明文的各個字母究竟是應用的哪個加密字母表。同時由於頻率特性完全被打亂,傳統的破解方法也將毫無用處。例如以前破解時,破譯人員喜歡先找到一些重複的雙字母對兒作為線索破解密碼,像是oo,ee等都是出現頻率很高的雙字母對兒,他們在過去的加密方式中在密文裡還會保持重複字母對兒的特點。但是在維熱納爾加密法中,重複字母對兒的兩個字母在加密後會變成不同字母,因而特性消失而難以捕捉。此外,按照上述方法給出的密鑰小巧易記,僅僅是一個關鍵詞,這真是一套完美的加密方案。

1586年,維熱納爾將自己的方法寫成了專著並出版,名為《密碼理論》,而就在同一年瑪麗女王和巴賓頓的信件密碼被菲利普斯破解。如果巴賓頓提前讀到了這本書,說不定瑪麗女王就能躲過一死,歷史有時候真是很會戲弄人。

兩百年才破解的傳奇密碼

維熱納爾關鍵詞加密

維熱納爾的多字母表密碼雖然很強大,但是他的使用也比較複雜,對每個字母都要重新查找字母表,所以編碼時間較長,影響了其普及性。實際上在它發明後的兩個多世紀的時間內,人們更多的還是在使用字母替換的加密方法,但是此類方法已經升級到了介於傳統單字母替換系統和維熱納爾多字母替換系統之間的一種形態。這就是同音字母替換法。

傳統單字母替換的軟肋在於頻率痕跡,所以密碼設計人員想到了一個簡單的方式來解決這個隱患。以英語字母為例,a的出現頻率大約是8%,所以可以給a分配8個不同的符號;字母b的出現頻率大約為2%,所以給b分配2個不同的符號,以此類推。這樣一來,如果每個字母都用自己分配好的一組符號來替換,則每個符號出現的頻率全部約減低到1%,這就會使得頻率分析法失效。不同字母的符號之間是不可以重複的,否則符號的頻率就不能一致的減少到1%,而且也難以還原明文。通常來說,能供人使用的符號並沒有那麼多,很多人又不願意去創造一批新符號,乾脆就選擇用數字代替符號,這樣數字密碼便開始多了起來。

可以簡單這麼來概括,字母替換加密系統是一種一對一的對應;維熱納爾加密系統是一種多對多的對應;而同音符號替換系統是一種一對多的對應。因此它的保密性比傳統系統強,比維熱納爾系統弱。

同音符號替換系統雖然比傳統系統安全了不少,但並非是不可破解的,我們可以在此演示一種破解的技巧。字母q的頻率非常低,所以它一般只有一個對應符號,而q的後面通常只會跟著字母u,字母u的頻率大約是3%,因此會有三個符號對應。如此一來,我們只要檢索整個密文,從中找到某一個特定符號後面總是跟著三個符號之一的情況,那麼就基本可以斷定這幾個符號就代表著q和u。

兩百年才破解的傳奇密碼

當然,加密者肯定可以設計一些新手段來避免這樣被破解,總之這個系統比傳統密碼安全了許多。能夠證明這一點的是一個在法國家喻戶曉的傳奇人物:鐵面人。

1669年,法國南部一所貴族監獄迎來了一個新客人,他是一個戴著鐵面具的人,故此被稱作鐵面人。盧瓦侯爵給獄長寫了一封信,囑咐他要單獨關押鐵面人,房間不能有窗戶,犯人只能索要生活必需品,其他的什麼都不給。如果他敢多說一句廢話立刻處死。盧瓦侯爵還說,這個犯人應該不需要太多東西,因為他只是一個奴僕。

跟鐵面人關押在一起的是前財政大臣大名鼎鼎的富凱,富凱原本有一名老僕人伺候,但是由於這名老僕經常生病,所以1675年開始,監獄允許鐵面人臨時充當富凱的僕人,但不能有第三人在場。1681年,鐵面人被帶到聖瑪格麗特島監獄,後來又被帶到著名的巴士底獄,1703年,鐵面人死在巴士底。關於鐵面人的公開檔案似乎只有這麼多,聽起來毫不出奇,但是讓所有人浮想聯翩的就是他為什麼要戴著鐵面具。正是這個面具,讓這位犯人成了法國曆史上最神秘的人物。

在伏爾泰的作品中這樣來描述鐵面人:這個囚犯年輕、高大、英俊,成天帶著一個鐵面具,面具可以活動,能夠讓他吃飯不受到影響。所有的人都不知道他是誰。能打開鐵面具的只有一把鑰匙,而這個鑰匙就在皇帝的掌握之中。這個人是誰?伏爾泰猜測他就是太后奧地利公主安妮和紅衣主教馬薩林的私生子,也就是國王路易十四的同母異父兄弟。

小李子迪卡普里奧1997年出演過一部以《鐵面人》為名的電影,其劇本改編自大仲馬的《三個火槍手》後傳《鐵面人》。在這裡,大仲馬對鐵面人身份之謎給出的解釋是,鐵面人其實是國王路易十四的孿生弟弟菲利普,國王害怕自己的權力遭到威脅才把弟弟關押起來且不讓人看到他的真面目。這部電影拍攝時間稍晚於泰坦尼克號,正是小李子顏值的巔峰時期,古裝的迪卡普里奧一人分飾國王和鐵面人兩角非常精彩,很值得一看。不過迷妹們可能會傷心的一點是,就是這部影片讓小李子拿到了金酸梅獎。

兩百年才破解的傳奇密碼

除此上述猜測外,還有人認為鐵面人是路易十四的父親,或者是克倫威爾的兒子,甚至還有人說拿破崙就是鐵面人的後代。眾說紛紜,難以備載。實際上,路易十四本人對於鐵面人是留有記錄信息的,只不過這些信息很長時間內根本沒人能看懂,因為這些信息已經被加密,而使用的正是一種改進的密碼系統,著名的路易十四大密碼。

大密碼的發明人是羅西格諾父子,他們兩人都是頂尖的密碼破譯專家。父親曾經創下一項奇蹟,通過破譯密碼並把解密後的信件發給敵人,瓦解了敵人的鬥志,兵不血刃的拿下了一座城池。在今天的法語當中,撬鎖一詞就是用他們父子的名字組合而成的。父子兩個在破解密碼的同時,也在思考能否創立一套無法破解的新密碼。經過不斷摸索,他們終於發明了大密碼。但是在他們父子之後,不知什麼原因就沒有人繼續使用這套密碼,大密碼的所有信息全部失傳,從此用大密碼加過密的文件也都成了難解之謎。

歷史學家們很清楚,許多加密文件對於澄清法國曆史上的一些事實非常關鍵,但是直到十九世紀末這些文件都還沒有被正確解讀。1890年,軍事歷史學家維克多·吉東在研究路易十四的軍事戰役時發掘出了一批新的信件,當然這些都是加密的。他把這些信件提交給了司令部的埃提恩尼·巴澤麗斯,希望他能夠解開大密碼之謎。巴澤麗斯發現,這些信件當中,雖然含有成千上萬個數字,但是其中不重複的數字僅有587個,也就是說加密系統只有587個符號。起初,巴澤麗斯嘗試過把它當做上述說過的同音密碼來破解,但是一無所獲。

有一天,他突然得到一個靈感,法文字母是26個,那麼兩個連續字母形成的字母對兒就是676個,這個數字大體和大密碼當中的587個符號數目接近,這是不是說明大密碼是由字母對形成的符號呢?順著這個思路,他開始對法語的字母對兒進行頻率分析,但是發現仍然解不出有意義的字符串。

巴澤麗斯沒有放棄,他繼續思考,如果大密碼中的數值不是代表字母對兒,會不會代表幾個字母拼出的一個音節呢?按照這個思路,巴澤麗斯首先找出了一頁反覆出現同一組數字的頁面:(124-22-125-46-345)。之後他把這些數字嘗試換成音節,終於拼出了一個字符串les-en-ne-mi-s。令人激動的是這個字符串是有意義的,它代表著lesenemis(敵人)。

突破口找到了,破譯密碼就是這樣,一旦獲得一條線索,後面的工作就徹底打開了局面。接下來巴澤麗斯把信件中所有出現過這組數字的地方全部找到,並替換成lesenemis,然後向前和先後推導相鄰數字所代表的音節。這就如同填字遊戲一般,很快突破一個個出現,大密碼終於被攻克。時隔兩百年後,巴澤麗斯成了第一個見證路易十四秘密的人,這其中就包括鐵面人的身份。

在路易十四的首相盧瓦所寫的一封信中,提到了一個叫菲芬·德·布洛德的罪人,他是一名軍官,負責攻擊法意邊界的庫內奧。當時他領命防守陣地,結果卻因為害怕奧地利的進攻而放棄陣地,臨陣脫逃。他的這次逃跑影響到了整個皮埃蒙特地區的戰役進度,故此盧瓦在信中明確提到:

國王陛下比任何一個人都明白這次行動的後果,他也明白我們的失敗嚴重的損害了我們的利益。陛下希望你立刻逮捕布洛德將軍,並送到皮尼洛爾城堡接受審判,在那他晚上要被關押在牢獄裡,白天可以允許戴著面具在城內走動。

這是官方文件中明確提到面具人的記載,而且時間和地點都基本吻合事實。但是這並不意味著鐵面人的歷史之謎已經解開,因為文學作品實在是太過深入人心,以至於其他任何的解釋反而有些難以令人相信。為了解釋盧瓦的信中所透露的信息,堅信鐵面人是路易十四親戚的支持者們說,路易十四非常聰明,他害怕後人會猜到鐵面人和自己有關係,故意留下了許多遮人耳目的假消息,這封信可能就是煙幕彈。

我在這裡並不能確定布洛德將軍就一定是鐵面人,但我想通過這件事讓大家認識到陰謀論的一個可怕之處就在於它能把一切證偽陰謀論的證據,都設定為陰謀本身。這才是真正難以解開的密碼。

歐洲的密碼戰爭還在繼續,破譯密碼已經為各國所重視,幾乎所有的國家都成立了叫密室的機構,專門破譯來往信件和公函。當時這些結構都有模仿筆跡和拆信仿信的高手,他們會把信件悄悄打開,然後再復原成沒有碰過的樣子。不過這樣做畢竟還是有被發現的可能,粗暴直接的侵入他國的郵件渠道也有一定的風險性。但是等到一項新的科技發明:電報技術出現之後,信息渠道本身的封閉性完全被打破,信息的安全從此只能依賴於密碼了。傳統的密碼顯得越來越不安全,人們便紛紛轉向更可靠的維熱納爾加密系統。那麼這個看似牢不可破的加密方法又是如何被破解的呢?這就要從一個狂野的天才,人類真正的計算機之父說起。


分享到:


相關文章: