天天看點

密碼學系列之:明文攻擊和Bletchley Park

目錄

  • 簡介
  • crib和明文攻擊
  • 布萊奇利公園(Bletchley Park)

明文攻擊就是指已經知道了部分明文和它對應的加密後的字段,進而可以推測出使用的加密手段或者密碼本。明文攻擊這個故事還要從二戰時候說起。

談到明文攻擊,就不能不講到一個詞crib和它的發源地布萊奇利公園(Bletchley Park)。

布萊奇利公園(Bletchley Park)是位于米爾頓凱恩斯(Buckinghamshire)的英國鄉村房屋和莊園,它是由金融家和政治家赫伯特·萊昂爵士在1883年建造的, 在第二次世界大戰期間成為同盟國密碼破解的主要中心。

在第二次世界大戰期間,該莊園内設有專門進行密碼破譯的研究所,該研究所主要負責破譯軸心國的秘密通信,其中最重要的是德國的Enigma和Lorenz密碼。在其早期人員中,密碼破譯團隊擁有很多著名的人物,包括Alan Turing,Gordon Welchman,Hugh Alexander,Bill Tutte和Stuart Milner-Barry。直到戰後多年,那裡的工作才被公布于世。

正因為這個密碼破譯團隊的傑出成效,破譯了很多軸心國的密碼,據說直接導緻二戰提前四年結束,如果沒有它,二戰的結果還是未知之數。

為了更加有效的破譯密碼,Bletchley Park的團隊開始借助機械的力量來進行密碼破解,最終發展了世界上第一台可程式設計數字電子計算機Colossus。Bletchley Park的密碼破解活動于1946年結束,并于1970年代中期才對外公開。

crib這個詞源自于一句關于抄襲的諺語:“I cribbed my answer from your test paper”。

那麼crib在明文攻擊中到底意味着什麼呢?

比如同盟軍截獲到了軸心國發送的一個電報,那麼應該怎麼來進行破解呢?

當然,前提是那時候的加密手段還比較粗淺,基本上是一個字元或者單詞被轉換成了其他的字元或者單詞。

同盟軍已經拿到了電報了,比如是一封完全看不懂的郵件。那麼如何來進行破解呢?

常見的做法就是從點到面,如果我們能夠破解其中的一部分單詞或者句子,那麼對于我們了解整個密文肯定是有好處的,即使不能了解目前的密文,那麼如果後面截獲了其他的密文,也是可以對破解有所幫助的。

為了猜測密文對應的明文資訊,Bletchley Park團隊根據發送消息的時間和識别一些正常操作消息來猜測一些純文字。例如,德國人每天在同一時間發送每日天氣預報。因為軍事報告的格式是非常統一的,是以在每封郵件的同一位置都應包含Wetter(德語為“天氣”)一詞。 當然,在消息末尾出現的“ Heil Hitler”也是非常容易猜測到的明文。

知道這些簡單的明文往往是不夠的,盟軍需要知道更多更加關鍵的明文資訊。為此有時候甚至會故意洩露一些消息給軸心國,比如某時某刻準備用空軍轟炸某個地方,那麼馬上就會監控到的消息中很有可能就會包含轟炸和要轟炸的地方,這樣就會為最終密碼的破解提供了線索。

從1919到1942年間,Bletchley Park的最高指揮官是阿拉斯泰爾·丹尼斯頓(Alastair Denniston)。最初的人員是從海軍部40室(NID25)和戰争辦公室的MI1b組成的。

當然還有一些其他的密碼學家,那時候的密碼學家主要是語言學家和國際象棋冠軍,并且還招募了一些謎題填字遊戲的頂級求解者,因為這些人具有較強的橫向思維能力。

少不了的還有正規軍也就是各大高校的教授和數學家,特别是劍橋和牛津大學的人。牛津大學的彼得·特溫(Peter Twinn)于1939年2月加入,]劍橋大學的艾倫·圖靈和戈登·韋爾奇曼于1938年開始訓練,并在宣戰後的第二天與約翰·傑弗裡斯一起向布萊奇利彙報。

後來招聘的密碼分析家包括數學家Derek Taunt,Jack Good,Bill Tutte 和Max Newman。曆史學家哈裡·辛斯利(Harry Hinsley)以及國際象棋冠軍休·亞曆山大(Hugh Alexander)和斯圖爾特·米爾納·巴裡(Stuart Milner-Barry)。還有受聘為密碼分析員的女性瓊·克拉克(Joan Clarke)。

1945年1月,在代碼破解工作的頂峰時期,有近10,000名人員在布萊奇利及其分站工作。其中約四分之三是婦女。許多婦女來自中産階級背景,并在數學,實體學和工程學領域擁有學位,可以說婦女能頂半邊天。

美國加入第二次世界大戰後,許多美國密碼學家也被被派往Bletchley Park,從1943年5月開始,英美情報部門之間進行了密切合作。相反,蘇聯從未被正式告知布萊奇利公園及其活動-這反映了即使在納粹威脅實施的美英蘇同盟期間,丘吉爾也不信任蘇聯。

本文已收錄于 http://www.flydean.com/known-plaintext-attack/

最通俗的解讀,最深刻的幹貨,最簡潔的教程,衆多你不知道的小技巧等你來發現!

歡迎關注我的公衆号:「程式那些事」,懂技術,更懂你!