密碼學(xué)(Cryptology)的歷史
“cryptology” 和 “cryptography” 兩個詞在現(xiàn)代的文獻(xiàn)中常常是無差別混用的,這就把對它們實際意義的混淆延伸到了語義學(xué)中。實際上,這幾個不同的詞語最好這樣解釋:
Cryptology(密碼學(xué)) —— 對保密技術(shù)的藝術(shù)性 以及/或者 密碼系統(tǒng)科學(xué)性的研究
Cryptography(密碼設(shè)計學(xué))—— 設(shè)計密碼系統(tǒng)來保密的實用方法
Cryptoanalysis(密碼學(xué)分析)—— 致力于發(fā)現(xiàn)無需得知密鑰或算法就能從密文中反推出明文的漏洞
譯者注:正如作者所說,在現(xiàn)代的文獻(xiàn)中,“cryptology” 和 “cryptography” 基本上是沒有差別的了,都是 “密碼學(xué)” 的意思,而且,密碼學(xué)雖然脫胎于加密方法研究,但現(xiàn)代的密碼學(xué)早已不止于研究加解密,而是延伸到了研究如何保障通信中的 “機(jī)密性”、“身份同一性” 等屬性上。因此,可以說,作者這里的定義即使不算過時,也至少是窄化了密碼學(xué)。不過,出于理解作者原意的需要,對下文中的相應(yīng)詞語,我們?nèi)匝赜么颂幍姆g。
本文的絕大部分篇幅是在解釋 “Cryptography(密碼設(shè)計學(xué))”,也就是今時今日的密碼學(xué)實踐,也希望讀者能意識到這幾個詞的含義和區(qū)別。
就其本身而言,密碼學(xué)作為一種科學(xué)的研究已經(jīng)存在了很多年,已知最早的一個密碼設(shè)計學(xué)的例子是在一段刻于公元前 1900 年的銘文,是在埃及貴族 Khnumhotep 二世墓地的主墓室里發(fā)現(xiàn)的。那個雕刻者到處使用一些奇怪的符號來代替更常見的符號。不過目的似乎并不是隱藏信息,只是為了改變其形式,讓它看起來更高貴一些。
在羅馬帝國的鼎盛時期(公元前 100 年),Julius Caesar(凱撒大帝)也因使用加密技術(shù)向前線將軍傳送消息而聞名。這種字符替換型加密方法(cipher)被稱為 “凱撒密碼”,可能是文獻(xiàn)中最常提到的人類曾用過的加密方法。(所謂 “cipher”,就是用來加密或者解密的算法)。所謂 “字符替換型加密方法”,就是把明文(我們想要加密的消息)中的每個字母都換成另一個字母,形成密文(即被編碼過的消息)。凱撒所用的方法是把每個字母位移三位,比如,“A” 會被換成 “D”,“B” 會被換成 “E”,以此類推(都是換成該字母后面第三個字母)。相應(yīng)地,最后的幾個字母會被換成開頭的字母,比如 “X” 會被換成 “A”。
在第二次世界大戰(zhàn)期間,美國海軍從納瓦霍人(Navajo)中招募并訓(xùn)練了許多熟練使用納瓦霍語的人。從編碼消息的角度來看,這是個絕妙的辦法,因為很少有納瓦霍人以外的人學(xué)過怎么說這種語言,而且當(dāng)時還沒有用納瓦霍語出版的書。但是除了詞語之外,納瓦霍人的口語并不是十分復(fù)雜(按密碼設(shè)計學(xué)的標(biāo)準(zhǔn)來看),一個母語為納瓦霍語的人再加上一個訓(xùn)練有素的密碼學(xué)家,合作起來完全可以破解這套密碼。日本人曾經(jīng)有過一次機(jī)會,就是在 1942 年 “巴丹死亡行軍(Bataan Death March)” 期間他們在菲律賓抓住了 Joe Kieyoomia。Joe 是美國海軍的一位納瓦霍中士,但他并不是密語播報員,只負(fù)責(zé)翻譯無線電消息。只不過,因為他沒有參與過密語訓(xùn)練,這些詞語是什么意思他一點也不懂。當(dāng)他說自己不能解讀這些消息時,日本人就開始嚴(yán)刑拷打他。因此,日本陸軍和海軍從來沒有破譯過這些密語。
再到 1970 年代,IBM 發(fā)現(xiàn)他們的客戶需要某種形式的加密手段,所以他們成立了一個密碼學(xué)小組,由 Horst-Feistel 領(lǐng)頭。他們設(shè)計出了一種加密算法叫 “Lucifer”。1973 年,美國國家標(biāo)準(zhǔn)局(現(xiàn)在叫做國家技術(shù)與標(biāo)準(zhǔn)局,NIST)放出話來,希望大家能提議一種夠格成為國家標(biāo)準(zhǔn)的數(shù)據(jù)加密方法。他們顯然已經(jīng)意識到,自己買了很多并沒有什么密碼學(xué)基礎(chǔ)的商業(yè)產(chǎn)品。Lucifer 最終被接受了,因此叫做 “DES(數(shù)據(jù)加密標(biāo)準(zhǔn))”。1997 年以后,DES 被窮舉式搜索攻擊攻破。DES 的主要問題在于加密密鑰的位數(shù)太小。隨著計算機(jī)運算力的增加,通過暴力窮舉所有可能的密鑰組合來破解密文慢慢變成了一種可行的辦法。
在 80 年代,大家?guī)缀踔挥幸粋€選擇,就是 DES。今天的情形已經(jīng)大不相同了,有一大堆更健壯、更快,設(shè)計也更好的算法可供選擇。問題已經(jīng)變成了你如何厘清這些選擇。
1997 年,NIST 再次征求新的加密算法提案,最終收到了 50 份提案。2020 年,NIST 接受了 “Rijndael” 算法,并命名為 “AES”,高級加密標(biāo)準(zhǔn)。
-
密碼
+關(guān)注
關(guān)注
8文章
191瀏覽量
30500 -
加密算法
+關(guān)注
關(guān)注
0文章
215瀏覽量
25549
發(fā)布評論請先 登錄
相關(guān)推薦
評論