- 區(qū)塊鏈應(yīng)用開發(fā)指南:業(yè)務(wù)場景剖析與實(shí)戰(zhàn)
- 熊麗兵 董一凡等
- 1243字
- 2022-07-28 20:17:57
2.1.2 近代密碼學(xué)的開端
1949年,香農(nóng)(Shannon,美國數(shù)學(xué)家、信息論之父、現(xiàn)代密碼學(xué)先驅(qū),見圖2-3)的論文《保密系統(tǒng)的通信理論》(The Communication Theory of Secret Systems),闡明了關(guān)于密碼系統(tǒng)的分析、評價(jià)和設(shè)計(jì)的科學(xué)思想,提出了保密系統(tǒng)的數(shù)學(xué)模型、隨機(jī)密碼、純密碼、完善保密性、理想保密系統(tǒng)、唯一解距離、理論保密性和實(shí)際保密性等重要概念,并提出評價(jià)保密系統(tǒng)的5條標(biāo)準(zhǔn),即:保密度、密鑰量、加密操作的復(fù)雜性、誤差傳播和消息擴(kuò)展。這篇論文開創(chuàng)了用信息理論研究密碼的新途徑。

圖2-3 香農(nóng)(Shannon)
軍事領(lǐng)域?qū)τ诿艽a學(xué)的需求一直是非常旺盛的,戰(zhàn)爭中信息的保密傳輸和完整送達(dá)一直都被高度重視。在第二次世界大戰(zhàn)中,正是波蘭和英國密碼學(xué)家破譯了德軍使用的恩尼格瑪密碼機(jī)(德語:Enigma,也被譯作啞謎機(jī)、奇迷機(jī),一種用于加密與解密文件的密碼機(jī)),才使得戰(zhàn)局出現(xiàn)了轉(zhuǎn)機(jī),其中的代表人物就是圖靈。在第二次世界大戰(zhàn)期間,數(shù)學(xué)家和工程師運(yùn)用數(shù)學(xué)知識和科學(xué)技術(shù)破譯了德國的恩尼格瑪密碼、“洛倫茲”密碼以及日本海軍的密碼,獲得了大量的“超級情報(bào)”,成為戰(zhàn)爭勝利的關(guān)鍵。
恩尼格瑪密碼系統(tǒng)如圖2-4所示:水平面板的下面部分就是鍵盤,一共有26個(gè)鍵,空格和標(biāo)點(diǎn)符號都被省略,在圖2-4中只畫了六個(gè)鍵。實(shí)物照片中,鍵盤上方就是顯示器,它由標(biāo)示了同樣字母的26個(gè)小燈組成,當(dāng)鍵盤上的某個(gè)鍵被按下時(shí),和此字母被加密后的密文相對應(yīng)的小燈就在顯示器上亮起來。

圖2-4 恩尼格瑪密碼系統(tǒng)
最先破解早期恩尼格瑪密碼機(jī)的是波蘭人,1932年,波蘭密碼學(xué)家馬里安·雷耶夫斯基、杰爾茲·羅佐基和亨里克·佐加爾斯基根據(jù)恩尼格瑪機(jī)的原理破譯了它。1939年中期,波蘭政府將此破譯方法告知英國和法國,但直到1941年英國海軍捕獲德國U-110潛艇,得到密碼機(jī)和密碼本后才完全破解了恩尼格瑪密碼。而英軍在計(jì)算機(jī)理論之父圖靈的帶領(lǐng)下,通過德軍在密鑰選擇上的失誤以及借助戰(zhàn)爭中奪取的德軍密碼本,破解出重要的德軍情報(bào)。1942年,美國教授約翰·阿塔那索夫和克利夫·貝瑞發(fā)明了世界上第一臺采用真空管的計(jì)算機(jī)ABC(Atanasoff–Berry Computer)。借助于快速電子計(jì)算機(jī)和現(xiàn)代數(shù)學(xué)方法,美軍成功破解出日軍的PURPLE碼,并在中途島戰(zhàn)役中截?fù)羯奖疚迨?梢哉f,密碼學(xué)的發(fā)展直接改變了二戰(zhàn)后期的格局,加快了戰(zhàn)爭的結(jié)束。在二戰(zhàn)的日美太平洋戰(zhàn)場上,美國海軍使用納瓦霍語進(jìn)行情報(bào)傳遞。由于納瓦霍語的語法、音調(diào)及詞匯都極為獨(dú)特且知之者甚少。因此,納瓦霍語密碼也成為近代史上少有的、從未被破譯的密碼。
恩尼格瑪密碼的成功破譯,讓密碼學(xué)家們深刻地意識到:真正保證密碼安全的往往不是加密解密算法,而是應(yīng)該隨時(shí)能夠改變的密鑰。隨著計(jì)算機(jī)技術(shù)、電子通信技術(shù)的發(fā)展,密碼的使用被迅速擴(kuò)張到各個(gè)領(lǐng)域,也進(jìn)一步促進(jìn)了現(xiàn)代密碼學(xué)體系的發(fā)展和完善。在密碼學(xué)體系中,“對稱加密”“非對稱加密”“單向散列函數(shù)”“消息認(rèn)證碼”“數(shù)字簽名”和“偽隨機(jī)數(shù)生成器”被統(tǒng)稱為密碼學(xué)家的工具箱。其中,“對稱加密”和“非對稱加密”主要是用來保證機(jī)密性;“單向散列函數(shù)”用來保證消息的完整性;“消息認(rèn)證碼”的功能主要是認(rèn)證;“數(shù)字簽名”保證消息的不可抵賴性。
- Hands-On Machine Learning with Microsoft Excel 2019
- App+軟件+游戲+網(wǎng)站界面設(shè)計(jì)教程
- MySQL從入門到精通(第3版)
- 算法與數(shù)據(jù)中臺:基于Google、Facebook與微博實(shí)踐
- 數(shù)據(jù)庫原理與應(yīng)用(Oracle版)
- Starling Game Development Essentials
- 數(shù)據(jù)庫技術(shù)實(shí)用教程
- PostgreSQL指南:內(nèi)幕探索
- Chef Essentials
- 數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)實(shí)例
- Web Services Testing with soapUI
- Internet of Things with Python
- Oracle 11g數(shù)據(jù)庫管理員指南
- Access 2010數(shù)據(jù)庫應(yīng)用技術(shù)教程(第二版)
- 一類智能優(yōu)化算法的改進(jìn)及應(yīng)用研究