個人資料
  • 博客訪問:
正文

密碼學的前世今生

(2022-11-25 19:59:07) 下一個

讀了好久沒讀完的一本燒腦書 The Code Book by Simon Singh,第一章很無聊, 但一旦讀進去還是蠻有意思的。幸好是為孩子改編的版本,否則還真可能讀不懂。

第一章以蘇格蘭瑪麗女王被她的表親英國伊麗莎白女王定為謀殺罪而砍頭為引子,講述了密碼的發展史。一開始隻是簡單的信息藏匿,後來則是單字母替換,多字母替換,或字母替換單詞外加密碼。沒有想到的是阿拉伯人在整理散裝經文的過程中首次發現了一種通用的解碼方式,頻率解碼。一旦理解,還真不算難。當然致密難度越來越大,比如加無效信息。後來歐洲人也開始用類似的方法解碼。瑪麗女王就是因著和她的支持者之間的密信而被定罪的。書中還提到瑪麗女王被砍頭時,如何優雅而尊嚴,和她的狗狗躺在她身體下麵一起死去,不可分割。

在講述了從單字母替代到多字母換位等初始的手工加碼解碼後,作者花了不少的篇幅講解技術的加持,比如電報,比如收音機,再到計算機的雛形。從加碼到譯碼,層層剝開,細細道來,高手過招,回味無窮。

很好笑的一段歐洲曆史,曾經有一段時間,電報很昂貴,寄信也要郵費,但是郵寄報紙免費,於是異地的情侶們給彼此寄報紙,在報紙上相關的字母下戳孔傳遞情話。如果利用電報發情話,也一定要加密。有有錢有閑的貴族惡作劇,專門截獲類似的電報,破譯情話,並用同樣的加密串改情話。沒想到那時的歐洲人個個都是密碼專家。

大家都看過講圖靈的《imitation game》吧?圖靈在我們心中神人般的存在,二戰期間為破譯德軍的密報做了至關重要的貢獻。他算是計算機的發明者(不過作者對此持有不同觀點)。這本書告訴了我們此前發生的事情。德國人發明了被認為顛覆不破的Enigma Machine,可以產生十後麵十六個零的密碼組合可能。英法聯軍也持有同樣的觀點,在他們無意中從一位為錢而困的德國憤青手中買到了德國的密碼計劃時,他們並不覺得他們有能力破譯,於是順手給了剛剛建國的一心求安全的波蘭人。波蘭集結數學家們一起研究破譯。其中一位23歲的小夥子潛心鑽研,發明了Bombes 破譯機。在二戰開始之前的不多久,德國方麵又加了兩根scramblers, 四個plugboard, 這不光將密碼組合增加到十後麵19個零,還要求波蘭方麵追加巨資建更多台bombes。波蘭不堪重負,在德國宣戰的幾率倍增之下,法國決定接手,並把一台bombes給了英國。這才有了後麵圖靈的突破性的破譯。

和Enigma Machine類似的密碼機器雖說不易破譯但使用繁瑣,不適於快捷戰時情報的傳輸。二戰時期,美國在日本突襲珍珠港後,決定利用不同語言之間的障礙,雇傭Navajo人, 稍加訓練後,用他們的語言來規範化傳遞情報, 簡潔快速,此招不可謂不高。

書中也提到考古學家如何運用密碼學的技巧來解碼遺失於曆史長河中的古埃及文化和語言。The Rosetta Stone 上的文字是解碼這段文化的關鍵。

幾千年的密碼發展史中的一大難題就是如何安全分發解碼鑰匙。上世紀七十年代現代密碼專家利用數論中的One way Function (恕我不知如何翻譯成中文)巧妙地解決了分發解碼鑰匙這個難題。這就是迄今仍然廣泛使用的Public key and private key。 比如SFTP傳輸數據一定用到RSA 密碼。理論很簡單,原始加密者選用兩個質數,然後相乘得出公用鑰匙外加另一個質數,供傳遞信息給原始加密者。原始創造者用手裏的質數解碼。一般情況下所選質數都很大,如今常見的計算機沒有可能在有效時間內解開, 即使多台同時運算。第一次知道質數在現實中的巨大作用。

RSA密碼是美國科學家們在1977年左右聯合發明並公諸於世的, 但按照此書的敘述其實英國的GCHQ 部門在更早前就發明了公用鑰匙的概念,隻是GCHQ屬於保密機構而沒有及時發表研究成果。

是否讓個人使用RSA密碼成果也是一個兩難的問題。讓吧,政府如何掌握信息打擊犯罪集團?不讓吧,如何保護個人隱私。書中給了幾個可以索求密碼的網站,比如pgpi.com, 有時間要試一試。書中也詳細介紹了政府是如何掃描來往的私人電子信息,很是有些恐怖,也佐證了我一貫的觀點,非常有必要給私人電子信息加密,end to end。

一直在書中尋找我們耳熟能詳的摩斯密碼未果,難道隻是密碼學的一朵小浪花?

這是一本二十年前發行的科普書,很是好奇成書後的二十年間密碼學的發展。雖說RSA密碼是IT還在經常使用的加密方法,但我想軍用層麵,政府層麵一定已經有了更加難以破譯的加密方法。書中展望了量子密碼的可能性和難度,不知道今天的進展怎麽樣了?

[ 打印 ]
閱讀 ()評論 (2)
評論
青舫 回複 悄悄話 原來如此,多謝指正!
山鄉不仕老了 回複 悄悄話 摩斯碼根本就不是密碼。
登錄後才可評論.