幾年前電影、小說開始了一陣子解謎風潮,包括國家寶藏、達文西密碼等等都變成了賣座電影,上一篇我們用國家寶藏2來學習playfair cipher,這篇我們就回過頭來,透過所有解謎小說的始祖-金甲蟲,來為大家介紹幾個經典的密碼類型。話說這本金甲蟲是在1843年出刊的"短篇"小說,雖然故事短到可以用幾行字就交代完全,卻大大的影響了當時的社會以及密碼史。而小說的作者-Ellen Poe(愛倫 坡) 更是成為了美國浪漫主義的代表,短篇小說的先驅、推理小說的始祖,科幻小說的催生者,甚至是密碼學的影響者! 這麼洋洋灑灑一大堆的名號絕對不是左撇子亂冠上去的,都是有根據來源的,請聽左撇子慢慢的介紹。
先看看有多少人受到愛倫坡的影響吧! 除了英國、法國的浪漫主義者因他的著作所受影響外,近代科幻小說的開創者Jules Verne
,也就是海底兩萬里的作者也是他的啟發者。(在電影博物館的
[電影討論]阿凡達原始設定-星球篇 (2/17 完結篇!)
我們提過,海底兩萬里又是海底總動員中Nemo的來源)
另外近代恐怖小說不斷被改編成電影的史蒂芬金、福爾摩斯的作者柯南道爾都是,日本推理小說家江戶川亂步(Edogawa Rampo)的筆名也來自於愛倫坡的全名(Edgar Allan Poe),(所以這樣說來江戶川柯南的名字也源自於他了XD) 更不用說一堆近代科幻、奇幻、恐怖小說家也都是他的徒子徒孫了。
為什麼艾倫坡這麼的具有影響力? 這本金甲蟲到底在說什麼呢?
金甲蟲 (Gold Bug)
(上圖是小說封面)
金甲蟲的故事內容在說主角威廉(William Legrand)是一位家道中落的男子,有一天他在居住的島上發現了金色的甲蟲,他覺得這絕對是生物學上的一大發現,於是威廉他通知了他的好友,來看這支蟲。由於某些緣故,威廉畫下了這隻甲蟲,而朋友覺得這幅畫像是骷顱頭,讓威廉覺得受到污辱,兩人就不歡而散了。
一個月後,威廉家中的傭人覺得威廉越來越古怪,神情古怪、早出晚歸,覺得可能是那金甲蟲有毒! 於是請來朋友來看看他。當醫生到達威廉家時,威廉這時提出要傭人與醫生兩人陪他到一個地方,雖然很莫名其妙,同時也懷疑威廉是不是因為失去了家中的財產才變得瘋瘋的。
話雖如此,朋友還是陪伴他到了一個四下無人的地點,傭人爬到樹上,並在樹上發現了一個死人頭,威廉和朋友則在樹下挖出了寶藏!!!!!在這時候威廉才交代了到底發生什麼事情,那就是威廉拿來畫金甲蟲的紙,竟然是張藏寶圖,懷疑是基德船長的寶藏。所以在這個一個月,威廉都在破解這個密碼,找尋寶藏的位置。
密碼如下:
53‡‡†305))6*;4826)4‡.)4‡);806*;48†8
¶60))85;1‡(;:‡*8†83(88)5*†;46(;88*96
*?;8)*‡(;485);5*†2:*‡(;4956*2(5*—4)8
¶8*;4069285);)6†8)4‡‡;1(‡9;48081;8:8‡
1;48†85;4)485†528806*81(‡9;48;(88;4
(‡?34;48)4‡;161;:188;‡?;
翻譯得到的本文為:
A good glass in the bishop's hostel in the devil's seat
forty-one degrees and thirteen minutes northeast and by north
main branch seventh limb east side shoot from the left eye of the death's-head
a bee line from the tree through the shot fifty feet out.
其實故事跟金甲蟲沒有關係,是跟那張畫圖的羊皮紙有關,也算是舖梗舖很久,老實說,這篇文章只是愛倫坡沒錢了來賺取稿費的短篇文章,不知道這樣的結局是不是邊寫邊想的,結局是蠻驚人的。
故事大致上是這樣子,在講更多金甲蟲的影響前,要先進入密碼特展的主題,破解經典密碼的利器-頻率分析
頻率分析(Frequency analysis)
頻率分析最早的記載是在九世紀阿拉伯的博學家-Al-Kindi所使用的,就如同字面上所表達的,是用字母出現的頻率去分析。一般來說,英文最常出現的字母是E,其次的是T、A、I、O。
照上圖的統計數據,可以用一個片語去記憶"ETAOIN SHRDLU",大約是一篇文章中英文字母最常出現的順序。
根據這樣子的邏輯,我們回頭找金甲蟲密碼中最常出現的是什麼符號,就很有可能是e
53‡‡†305))6*;4826)4‡.)4‡);806*;48†8
¶60))85;1‡(;:‡*8†83(88)5*†;46(;88*96
*?;8)*‡(;485);5*†2:*‡(;4956*2(5*—4)8
¶8*;4069285);)6†8)4‡‡;1(‡9;48081;8:8‡
1;48†85;4)485†528806*81(‡9;48;(88;4
(‡?34;48)4‡;161;:188;‡?;
稍微看了一下最多的應該是8!!! 4、5很常出現,可能是t、a,那我們要怎麼判斷? 就要依賴字與字間的組合以及單字了。
一般來說常出現的是ST、NG、TH,以及QU,而最常出現的應該是the吧!!! 文章的開頭通常都會是The或是A。所以假設5就是t,符合我們上一行提到的常態。不過! 這樣的假設又推翻了之前說e應該是8的假設,如果文章開頭是THE,則‡是E,整篇文章‡出現的次數雖然有16次,跟8的33次比起來差多了,應該是母音類的。 那可能文章的開頭是A吧。
密碼中也有個出現頻率很高的組合-;48
53‡‡†305))6*;4826)4‡.)4‡);806*;48†8
¶60))85;1‡(;:‡*8†83(88)5*†;46(;88*96
*?;8)*‡(;485);5*†2:*‡(;4956*2(5*—4)8
¶8*;4069285);)6†8)4‡‡;1(‡9;48081;8:8‡
1;48†85;4)485†528806*81(‡9;48;(88;4
(‡?34;48)4‡;161;:188;‡?;
一共有7組,可能是我們要的THE,剛好E就是8,而且;有26個,很有可能!!!! 於是又得到了h是4。
在觀察一下4的前面都是些什麼? 除了剛剛說的;也就是t外,就是)吧,)4 有五組,很有可能是sh吧!
到目前為止不知道大家聽起來覺得怎樣,聽起來很....麻煩嗎? 雖然左撇子講起來振振有詞,其實也是靠一些小工具在幫忙(因為左撇子比誰都懶惰)。市面可能有一些統計工具吧,左撇子是用微軟的word來偷吃步,只要把密碼貼到word,按下alt+f,就能找出你鎖定的符號有幾個,省去了很多麻煩呢!!!
如果真的要靠人力慢慢推,可能真的要跟主角威廉一樣,用一個月慢慢想吧,這真是文明的利器呢!
頻率分析就是用這種方式慢慢去推敲文章可能的組合吧! 只要加上其他常用的the, a , of , and,on ,in ,算得上一種很有力的破解法,只要是取代性密碼都能透過頻率分析去破解,除了金甲蟲的例子外,福爾摩斯在跳舞的人(Dancing men)也是這樣子破解的。
其實金甲蟲這種密碼,在取代性密碼中算式比較難破解的了,如果用在歷史著名的凱薩密碼,那就簡單的不得了囉!!!!!
凱撒密碼(Caesar cipher)
凱撒密碼,就是以你所熟知的那位歷史人物-凱撒大帝來命名的。這位曾經說過我來,我見,我征服的軍事強人,就是透過他自己創的凱撒密碼來加密軍事情報,以防止在傳遞情報時被敵軍得知軍情。
在羅馬十二帝王傳中有提到說:"如果需要保密,信中便用暗號,也即是改變字母順序,使局外人無法組成一個單詞。如果想要讀懂和理解它們的意思,得用第4個字母置換第一個字母,即以D代A,余此類推。"
所以凱撒密碼就是將所有的英文字母往後推三個字母(偏移量是3),如此一來,就無法從字面上看出原本的字義。
例如movie museum在凱撒密碼就會變成 przlhpyvhyp 這種奇怪的符號。
要破解凱撒密碼相對就簡單多了,只要往回推3個字母就好。當然,前提是你知道你手上的密碼剛好是凱撒密碼,而且偏移量也是3。因為偏移量是可以改變的。
例如凱撒大帝的養子,代表八月的奧古斯都也採用變形的凱撒密碼,偏移量是1,a換成b,b換成c,然後x換成aa。密碼 Avocat(A→K) 指得是偏移量10,ROT13 指得是偏移量13,Cassis (K 6)是偏移量-5,Cassette (K 7)是偏移量-6。
附帶一提,ROT13是英國網路論壇常用的密碼,來隱藏一些惡搞的笑話或是八卦,用來躲避網路管理者的規範。就像是PTT上用關燈、作夢或是諧音來躲板規一樣,怕被板龜咬到吧。 ROT13的優點是加密跟解密的推移是一樣的,英文就26個嘛! 方便網路使用者去破解。
那在你知道這是凱撒密碼的情況下,有不同的偏移量,要怎麼去破解呢?
方法一是硬破!!就一個一個位移吧,也才26個字母,一定會有一個偏移量會出現比較像單字的字串,不會有zz,yy,qq,uu這種奇怪的組合。這樣的方法可以說是暴力解決法,如果知道是凱撒密碼的話,就一定能破的出來。但是碰到像前面金甲蟲那種沒有規律的替代密碼,就沒辦法用這樣的規律去破解了。
方法二是前面我們提到的頻率分析了,只要找出頻率最高的字母,知道相對於E是差幾個偏移量,整篇文章回推後就知道結果了! 是個比較有效率的方法,如果不是規律性的替代密碼,也可以嘗試破解。所以說,之前頻率分析是可以很多古典密碼的。
那就會有人問說~~凱撒會什麼會用這麼簡單的密碼,不怕被破嗎?? 理由除了前面提到的兩點外,還有一個很重要的關鍵! 那時候的人很多不識字喔!!!字都看不懂了,又怎麼看得懂密碼? 而且那個時代認為密碼是神祕不可破解的,這點在晚點的討論會再繼續說明。
隨著時間變化,我們覺得凱撒密碼太容易破解了,只要是一對一的替代密碼就容易被破解,於是出現了延伸版的維吉尼亞密碼(Vigenère cipher
),類似於凱撒密碼的位移,利用二維的組合以及KEY的搭配,讓密碼對照不再是一對一的。同一個e可能代表著不同的字母,破解者無法回朔出符號所代表的字母。
相同的,上一篇我們所介紹的playfair cipher也很像,用二維的矩陣來讓對應的字母不是單一的替代,增加了密碼的安全度。
[研究] 密碼特展- (1)國家寶藏2 的playfiar加密法
回頭繼續說說金甲蟲的影響,為什麼一篇短篇小說會改變歷史的流向?
金甲蟲的影響與被影響
剛剛有說過,密碼對當時的人們來說是神祕而且很難破解的,這個狀況到現代也是差不多吧,真正試著破解 推理小說、電影、漫畫 的人應該是少之又少吧。但是,愛倫坡的金甲蟲確實給十九世紀的人們很大的衝擊,告訴他們密碼沒有那麼的神祕,不是只有那些有天份的人才能破解的,並在小說、報紙等媒體大大的推廣密碼學,甚至在雜誌上公布,要求讀者們寄密碼給他,他可以很輕易的去破解,造成了轟動。因此,除了前文我們提到過眾多的被影響者外,美國二戰時期最有名的解密者William F. Friedman也說,當時就是看了這本小說,才開始想要破解密碼。
另外有名的金銀島,也是因為受到金甲蟲的啟發而誕生的。
在金甲蟲的小說裡面,我們提到,威廉(William)覺得這個寶藏應該是基德船長(Captain Kidd)的寶藏,這應該是作者愛倫坡參考真正的名海賊-威廉基德(William Kidd)船長吧。
基德船長本來不是海賊,是一位驍勇善戰的船長,年輕時獲得當地總督的許可,在加勒比海進行武裝私掠的活動。在一次機會下,他接受了貝洛蒙特伯爵的請求,去消滅在印度洋的海賊以及法國船隻,得到了英國國王的私掠許可證。
很倒楣的他,在印度洋有很長的時間找不到海賊船,在船員的逼迫下,他只好掠奪了受東印度公司保戶的使者船,因此被通緝為海賊。更倒楣的是,在1698年他們襲擊法國的船隻,這是合法的,偏偏在打下船隻後才知道對方的船長是英國人! 本來基德想要放行這艘船,但是船員認為對方是艘法國船隻,他們有權可以掠奪受法國保護的船,壓不住船員的他又向船員屈服了。
消息傳回英國,於是基德被高額獎金通緝,又在馬達加斯加被海賊襲擊,只留下13個船員踏上返鄉的旅程。快回家鄉時他才知道自己已經被通緝為海賊了,於是他將寶藏藏了起來,希望透過當初拜託他的貝洛蒙特伯爵為他做辯解。想不到貝洛蒙特伯爵自己被牽連到,設局讓回到波士頓的基德被捕。必且迅速的被處以絞刑,基德至死都堅持自己沒有罪,含恨而終。他的屍體還被瀝青淨泡以示眾兩年...
基德的故事流傳了下來,啟發了愛倫坡的金甲蟲,也啟發了漫畫海賊王的創作。當時作家跟編輯討論,讓魯夫到關鍵的香波泡泡群島,應該要有突破的變化,於是尾田就設計了七個破億新星,每個都有其參考設定的角色,最貴的那位就是參考基德船長的-尤斯塔斯 基德。
今天這篇密碼特展就介紹到這邊,內容上應該很充實,也比較不會讓人頭痛吧!! 今天祝福大家除夕團圓,幸福快樂!!守歲的時候有空看這篇,並解開下面的密碼吧!!!
KDSSBFKLQHVHQHZBHDU
提示是~標準的凱撒密碼
2015/3/4 更新: 模仿遊戲裡面的密碼 P ZQAE TQR
還記得模仿遊戲裡面的密碼 P ZQAE TQR 嗎?
翻譯後成為了I LOVE YOU 這代表著滿滿愛意的密碼,讓圖靈進入了密碼學的世界,也進入了多元成家的世界。
整部電影就在愛與密碼之間旋繞與激盪。
這種一對一的密碼,首先會想到這是替換性密碼(Substitution cipher),也就是這篇文章分享的密碼。
例如 P對應著I,Q就對應著O, 在這句話中Q出現兩次都對應著O。
通常,這種替換性密碼會有一個固定的"偏移量",例如偏移量=3,就是字母往後數3個字母,就是對應的字母。 A->D, B->E 不過,P ZQAE TQR 這組密碼就沒有固定的偏移量,沒有固定的推法可以算出來,要私下自己講好規則。
但是,電影的另一組同樣重要的密碼
WII CSY ME XAS PSRK AIIOW HIEVIWX JVMIRH
就有固定的偏移量了。
偏移量是4, 也就是把上面的字母回推4個,就能得到
SEE YOU IN TWO LONG WEEKS DEAREST FRIEND
延伸閱讀
有關浪漫主義的介紹請到
[研究特展] 看名畫 長知識 (2)
其他研究特展
留言列表