小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

3.1 信息加密技術(shù)概述 3.2 密碼技術(shù) 3.3 密鑰管理 3.4 網(wǎng)絡(luò)加密技術(shù) 習(xí)題與思考題 參考文獻(xiàn) 實(shí)訓(xùn)指南

 123山不轉(zhuǎn)水轉(zhuǎn) 2019-10-16

Presentation on theme: "3.1 信息加密技術(shù)概述 3.2 密碼技術(shù) 3.3 密鑰管理 3.4 網(wǎng)絡(luò)加密技術(shù) 習(xí)題與思考題 參考文獻(xiàn) 實(shí)訓(xùn)指南"— Presentation transcript:

1 3.1 信息加密技術(shù)概述 3.2 密碼技術(shù) 3.3 密鑰管理 3.4 網(wǎng)絡(luò)加密技術(shù) 習(xí)題與思考題 參考文獻(xiàn) 實(shí)訓(xùn)指南
第三章 信息加密技術(shù) 3.1 信息加密技術(shù)概述 3.2 密碼技術(shù) 3.3 密鑰管理 3.4 網(wǎng)絡(luò)加密技術(shù) 習(xí)題與思考題 參考文獻(xiàn) 實(shí)訓(xùn)指南

2 教學(xué)目的和要求▼ 通過(guò)本章的學(xué)習(xí),使學(xué)生掌握基本的信息加密技術(shù),并會(huì)實(shí)際應(yīng)用。要求了解信息加密技術(shù)的概念;掌握密碼學(xué)一些簡(jiǎn)單技術(shù);了解DES、RSA密碼體制;了解密鑰的管理;了解基本的網(wǎng)絡(luò)加密技術(shù)。

3 關(guān)鍵詞匯▼ 密碼學(xué)(Cryptology) 明文(plaintext,通常記作P;也記作M,message)
密文(ciphertext,通常記作C) 密碼算法(Cryptography Algorithm) 加密(Encrtption,通常記作E) 解密(Decryption,通常記作D) 密鑰(key,通常記作K) 對(duì)稱(chēng)密碼體制(symmetric system) 非對(duì)稱(chēng)密碼體制(asymmetric system) 隱寫(xiě)術(shù)(steganography) 替代(substitution) 易位(transposition) DES(Data Encryption Standard) RSA 廣義數(shù)域篩GNFS(Generalized Number Field Sieve) 信息-摘要算法MD5(Message-Digest Algorithm 5) 消息認(rèn)證代碼MAC(Message Authentication Code) 托管加密標(biāo)準(zhǔn)EES(escorowed encryption standard) 密鑰分配中心KDC(key distribution center) 密碼學(xué)(Cryptology):是結(jié)合數(shù)學(xué)、計(jì)算機(jī)科學(xué)、電子與通信等諸多學(xué)科于一的交叉學(xué)科,是研究信息系統(tǒng)安全保密的一門(mén)科學(xué),包含密碼編碼學(xué)(Cryptography)和密碼分析學(xué)(Cryptanalytics)兩個(gè)分支。 明文(plaintext,通常記作P;也記作M,message):兩個(gè)用戶(hù)之間要傳遞的信息 密文(ciphertext,通常記作C):明文經(jīng)加密算法后形成的信息 密碼算法(Cryptography Algorithm):達(dá)到加密變換與解密變換目的的具體規(guī)則 加密(Encrtption,通常記作E):用某種方法偽裝明文以隱藏它的內(nèi)容的過(guò)程稱(chēng)。 解密(Decryption,通常記作D):把密文轉(zhuǎn)變?yōu)槊魑牡倪^(guò)程 密鑰(key,通常記作K):控制明文與密文之間變換的關(guān)鍵,通常是一隨機(jī)字符串 對(duì)稱(chēng)密碼體制(symmetric system):就是加密密鑰和解密密鑰相同,或者雖然不相同,但由其中的任意一個(gè)可以很容易的推出另一個(gè)的一種密碼體制。也稱(chēng)傳統(tǒng)密碼體制、秘密密鑰體制或單鑰密鑰體制。 非對(duì)稱(chēng)密碼體制(asymmetric system):加密密鑰和解密密鑰不相同,并且從一個(gè)很難推出另一個(gè)的一種密碼體制。又稱(chēng)公開(kāi)密鑰體制。 隱寫(xiě)術(shù)(steganography):通過(guò)隱藏消息的存在來(lái)達(dá)到加密信息的目的的一種技術(shù) 替代(substitution):將明文字母表中的每個(gè)字符替換為密文字母表中的字符,以達(dá)到加密目的的一種技術(shù)。 易位(transposition):也稱(chēng)換位密碼、排列組合密碼,是不需對(duì)明文字母作任何變換,只需對(duì)明文字母的順序按密鑰的規(guī)律相應(yīng)的排列組合后輸出,然后形成密文的一種技術(shù)。 DES(Data Encryption Standard):最著名的私鑰密碼體制 RSA:一種迄今為止理論上最為成熟完善的公鑰密碼體制 GNFS(Generalized Number Field Sieve):廣義數(shù)域篩,一種因子分解算法,多用來(lái)攻擊RSA。 MD5(Message-Digest Algorithm 5):信息-摘要算法,對(duì)一段信息產(chǎn)生信息摘要,以防止被篡改。 MAC(Message Authentication Code):消息認(rèn)證代碼,是一種使用密鑰的單向函數(shù),可以用它們?cè)谙到y(tǒng)上或用戶(hù)之間認(rèn)證文件或消息。 EES(escorowed encryption standard):一種托管加密標(biāo)準(zhǔn),又稱(chēng)Clipper建議 KDC(key distribution center):密鑰分配中心

4 前言 計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,大大改變了人們的生活面貌,促進(jìn)了社會(huì)的發(fā)展??墒腔ヂ?lián)網(wǎng)是一個(gè)面向大眾的開(kāi)放系統(tǒng),對(duì)于信息的保密和系統(tǒng)的安全性考慮得并不完備,由此引起的網(wǎng)絡(luò)安全問(wèn)題日益嚴(yán)重。如何保護(hù)計(jì)算機(jī)信息的的內(nèi)容,也即信息內(nèi)容的保密問(wèn)題顯得越來(lái)越重要。 加密技術(shù)是網(wǎng)絡(luò)信息安全主動(dòng)的、開(kāi)放型的防范手段,對(duì)于敏感數(shù)據(jù)應(yīng)采用加密處理,并且在數(shù)據(jù)傳輸時(shí)采用加密傳輸。本章就將著重介紹信息加密技術(shù)的一般方法,內(nèi)容包括:密碼技術(shù)基礎(chǔ)知識(shí);密鑰管理在數(shù)據(jù)保密中的重要性;網(wǎng)絡(luò)加密的方式等。

5 3.1 信息加密技術(shù)概述 信息加密技術(shù)是利用數(shù)學(xué)或物理手段,對(duì)電子信息在傳輸過(guò)程中和存儲(chǔ)體內(nèi)進(jìn)行保護(hù),以防止泄漏的技術(shù)。保密通信、計(jì)算機(jī)密鑰、防復(fù)制軟盤(pán)等都屬于信息加密技術(shù)。通信過(guò)程中的加密主要是采用密碼,在數(shù)字通信中可利用計(jì)算機(jī)加密法,改變負(fù)載信息的數(shù)碼結(jié)構(gòu)。計(jì)算機(jī)信息保護(hù)則以軟件加密為主。目前世界上最流行的幾種加密體制和加密算法有:AES算法和RSA算法等。為防止破密,加密軟件還常采用硬件加密和加密軟盤(pán)。一些軟件商品常帶有一種小的硬卡,這就是硬件加密措施。在軟盤(pán)上用激光穿孔,使軟件的存儲(chǔ)區(qū)有不為人所知的局部存壞,就可以防止非法復(fù)制。這樣的加密軟盤(pán)可以為不掌握加密技術(shù)的人員使用,以保護(hù)軟件。由于計(jì)算機(jī)軟件的非法復(fù)制,解密及盜版問(wèn)題日益嚴(yán)重,甚至引發(fā)國(guó)際爭(zhēng)端,因此對(duì)信息加密技術(shù)和加密手段的研究與開(kāi)發(fā),受到各國(guó)計(jì)算機(jī)界的重視,發(fā)展日新月異。

6 信息加密技術(shù)是應(yīng)用最早、也是一般用戶(hù)接觸最多的安全技術(shù)領(lǐng)域,從最初的保密通信發(fā)展到目前的網(wǎng)絡(luò)信息加密,一直伴隨著信息技術(shù)的發(fā)展而發(fā)展并始終受到重視。在基于信息論和近代數(shù)學(xué)的現(xiàn)代密碼學(xué)成立之后,加密技術(shù)已經(jīng)不再依賴(lài)于對(duì)加密算法本身的保密,而是通過(guò)在統(tǒng)計(jì)學(xué)意義上提高破解的成本來(lái)提供高的安全性。近年來(lái)通過(guò)與其他領(lǐng)域的交叉,產(chǎn)生了量子密碼、基于DNA的密碼和數(shù)字隱寫(xiě)等分支領(lǐng)域,其安全性能和潛在的應(yīng)用領(lǐng)域均有很大的突破。相信加密技術(shù)仍將在信息安全領(lǐng)域內(nèi)扮演十分重要的角色。 現(xiàn)代的電腦加密技術(shù)就是適應(yīng)了網(wǎng)絡(luò)安全的需要而應(yīng)運(yùn)產(chǎn)生的,它為我們進(jìn)行一般的電子商務(wù)活動(dòng)提供了安全保障,如在網(wǎng)絡(luò)中進(jìn)行文件傳輸、電子郵件往來(lái)和進(jìn)行合同文本的簽署等。其實(shí)加密技術(shù)也不是什么新生事物,只不過(guò)應(yīng)用在當(dāng)今電子商務(wù)、電腦網(wǎng)絡(luò)中還是近幾年的歷史。下面我們就詳細(xì)介紹一下加密技術(shù)的方方面面,希望能為那些對(duì)加密技術(shù)還一知半解的朋友提供一個(gè)詳細(xì)了解的機(jī)會(huì)!

7 3.2 密碼技術(shù) 一提到密碼學(xué),可能絕大多數(shù)的讀者腦海里會(huì)浮現(xiàn)諸如007、布律蒂斯、川島芳子等歷史上著名的間諜人物,會(huì)想到暗殺、突襲等軍事活動(dòng)。是的,對(duì)于我們而言,密碼始終處于一種未知的黑暗之中,常常與軍事、外交、情報(bào)等工作聯(lián)系在一起,讓人在感到神秘之余,又有幾分畏懼。 但是,在如今這個(gè)電子化、數(shù)字化幾乎已經(jīng)波及社會(huì)生活的所有方面的時(shí)代,密碼已經(jīng)成為公民正常生活、學(xué)習(xí)不可缺少的部分。銀行賬號(hào)、 密碼、網(wǎng)絡(luò)游戲賬號(hào)、電子購(gòu)物等,哪樣都離不開(kāi)密碼。此外,許多傳統(tǒng)上基于紙面的,常常需要簽名蓋章的重要憑證,諸如紙幣、存單、支票、股票、合同、租約、法律文書(shū)、身份證件、學(xué)歷證書(shū)等等,也已陸續(xù)轉(zhuǎn)化或增加為數(shù)字電子媒體的形式。 那么,密碼學(xué)是怎樣逐漸揭去神秘的面紗,走進(jìn)公眾的日常生活當(dāng)中的呢?主要的推動(dòng)因素是社會(huì)公眾對(duì)于個(gè)人信息秘密性與真實(shí)性的需求。密碼學(xué)提供的只是技術(shù)保障作用。它不僅具有信息加密功能,而且具有數(shù)字簽名、身份驗(yàn)證、秘密分存、系統(tǒng)安全等功能,可以充分保證信息的機(jī)密性、完整性和準(zhǔn)確性,防止信息被篡改、偽造或假冒。

8 密碼學(xué)基礎(chǔ)知識(shí) 密碼學(xué)基本概念 密碼學(xué)(Cryptology)是結(jié)合數(shù)學(xué)、計(jì)算機(jī)科學(xué)、電子與通信等諸多學(xué)科于一的交叉學(xué)科,是研究信息系統(tǒng)安全保密的一門(mén)科學(xué),包括密碼編碼學(xué)(Cryptography)和密碼分析學(xué)(Cryptanalytics)兩個(gè)分支。密碼編碼學(xué)主要研究對(duì)信息進(jìn)行編碼,實(shí)現(xiàn)對(duì)信息的隱蔽;而密碼分析學(xué)則相反,主要研究加密消息的破譯或消息的偽造。這兩者天生就相互對(duì)立,但是正是這種對(duì)立促使密碼學(xué)不斷的發(fā)展。

9 明文 密文 密鑰 加密算法 解密算法 圖3.1 加密、解密全過(guò)程 一個(gè)完整的密碼系統(tǒng)至少由明文、密文、密碼方案和密鑰四個(gè)部分組成。
(1)、信息的原始形式稱(chēng)為明文(plaintext,通常記作P;也記作M,message)。 (2)、經(jīng)過(guò)變換加密的明文稱(chēng)為密文(ciphertext,通常記作C)。 (3)、密碼方案是通過(guò)密碼算法(Cryptography Algorithm)達(dá)到加密變換與解密變換目的的具體規(guī)則。用某種方法偽裝明文以隱藏它的內(nèi)容的過(guò)程稱(chēng)為加密(Encrtption,通常記作E),而把密文轉(zhuǎn)變?yōu)槊魑牡倪^(guò)程稱(chēng)為解密(Decryption,通常記作D)。 (4)、密鑰(key,通常記作K)是唯一能控制明文與密文之間變換的關(guān)鍵。密鑰是由使用密碼體制的用戶(hù)隨機(jī)選取的,它通常是一隨機(jī)字符串。 圖3.1描述了明文P經(jīng)過(guò)加密后變成密文C,然后再由密文C經(jīng)過(guò)解密后得到明文P的過(guò)程。 明文 密文 密鑰 加密算法 解密算法 圖3.1 加密、解密全過(guò)程

10 密碼體制的分類(lèi) 密碼體制的分類(lèi)方法有很多,最常見(jiàn)的是分成以下兩種: 對(duì)稱(chēng)密碼體制(symmetric system):就是加密密鑰和解密密鑰相同,或者雖然不相同,但由其中的任意一個(gè)可以很容易的推出另一個(gè)。又稱(chēng)傳統(tǒng)密碼體制、秘密密鑰體制或單鑰密鑰體制。如本書(shū)后面將介紹的DES就是采用對(duì)稱(chēng)密碼體制的典型例子。 非對(duì)稱(chēng)密碼體制(asymmetric system):加密密鑰和解密密鑰不相同,并且從一個(gè)很難推出另一個(gè)。又稱(chēng)公開(kāi)密鑰體制。公開(kāi)密鑰體制用一個(gè)密鑰進(jìn)行加密,而用另一個(gè)進(jìn)行解密。其中的加密密鑰可以公開(kāi),又稱(chēng)公開(kāi)密鑰(public key),簡(jiǎn)稱(chēng)公鑰;解密密鑰必須保密,又稱(chēng)私人密鑰(private key),簡(jiǎn)稱(chēng)私鑰。如本書(shū)后面將介紹的RSA就是采用非對(duì)稱(chēng)密碼體制的典型。

11 3.2.2 傳統(tǒng)密碼技術(shù) 隱寫(xiě)術(shù)(steganography)
傳統(tǒng)密碼技術(shù) 隱寫(xiě)術(shù)(steganography) 隱寫(xiě)術(shù)是通過(guò)隱藏消息的存在來(lái)達(dá)到加密信息的目的。隱寫(xiě)術(shù)一詞來(lái)源于希臘語(yǔ),其對(duì)應(yīng)的英文意思是“Covered writing”。 它的應(yīng)用實(shí)例可以追溯到非常久遠(yuǎn)的年代。古希臘的斯巴達(dá)人曾將軍事情報(bào)刻在普通的木板上,用石蠟填平,收信的一方只要用火烤熱木板,融化石蠟后,就可以看到密信。被人們譽(yù)為歷史學(xué)之父的古希臘歷史學(xué)家希羅多德(Herodotus, 486—425),在其著作中講述了這樣一則故事:一個(gè)名叫Histaieus的人籌劃著與他的朋友合伙發(fā)起叛亂,里應(yīng)外合,以便推翻波斯人的統(tǒng)治。他找來(lái)一位忠誠(chéng)的奴隸,剃光其頭發(fā)并把消息文刺在頭皮上,等到頭發(fā)又長(zhǎng)起來(lái)了,把這人派出去送“信”,最后叛亂成功了。

12 隱寫(xiě)術(shù)分為兩種,技術(shù)隱寫(xiě)術(shù)和語(yǔ)義隱寫(xiě)術(shù)。
技術(shù)隱寫(xiě)術(shù)是將秘密傳遞的信息記錄下來(lái),隱藏在特定媒介中,然后再傳送出去的一種技術(shù)。17世紀(jì),英國(guó)的Wilkins(1614—1672)是資料記載中最早使用隱寫(xiě)墨水進(jìn)行秘密通信的人。早期的隱寫(xiě)墨水是由易于獲得的有機(jī)物(例如牛奶、果汁或尿)制成,加熱后顏色就會(huì)變暗從而顯現(xiàn)出來(lái)。后來(lái)隨著化學(xué)工業(yè)的發(fā)展,在第一次世界大戰(zhàn)中人們制造出了復(fù)雜的化合物做成隱寫(xiě)墨水和顯影劑,使得隱蔽性更強(qiáng)。 語(yǔ)義隱寫(xiě)術(shù)則是將記錄這個(gè)行為本身隱藏起來(lái),信息由隱藏的“寫(xiě)”語(yǔ)言和語(yǔ)言形式所組成,一般依賴(lài)于信息編碼。十六七世紀(jì)涌現(xiàn)了許多關(guān)于語(yǔ)義隱寫(xiě)術(shù)的著作,斯科特提出的擴(kuò)展“AveMaria”碼是一種典型的語(yǔ)義隱寫(xiě)方法。語(yǔ)義隱寫(xiě)主要提供兩種類(lèi)型的方法:符號(hào)碼和公開(kāi)代碼。 符號(hào)碼是以可見(jiàn)的方式,如手寫(xiě)體字或圖形,隱藏秘密的書(shū)寫(xiě)。在書(shū)或報(bào)紙上標(biāo)記所選擇的字母,比如用點(diǎn)或短劃線。此方法易于實(shí)現(xiàn),但在公開(kāi)信道傳送偽裝的消息時(shí),需要雙方事前的約定,不利于隱藏信息的發(fā)布。 公開(kāi)代碼的第二種類(lèi)型就是利用虛碼和漏格進(jìn)行隱藏。隱藏消息的規(guī)則比較常見(jiàn)的有:“某個(gè)特定字符后的第幾個(gè)字符”,比如每行的第一個(gè)字符,如中國(guó)古代的“藏頭詩(shī)”等。漏格方法可以追溯到卡達(dá)諾(Cardano,1550年)時(shí)代,這是一種容易掌握的方法,但不足之處是雙方需要相同的漏格,特別是戰(zhàn)場(chǎng)上的士兵,使用時(shí)不太方便。

13 替代(substitution) 替代密碼就是將明文字母表中的每個(gè)字符替換為密文字母表中的字符。這里對(duì)應(yīng)密文字母可能是一個(gè),也可能是多個(gè)。接收者對(duì)密文進(jìn)行逆向替換即可得到明文。代替密碼有四種表現(xiàn)形式: (1)單表代替 (2)多名碼代替 (3)多音碼代替 (4)多表代替

14 (1)單表代替 就是明文的一個(gè)字符用相應(yīng)的一個(gè)密文字符代替,也叫循環(huán)移位密碼。
最古老的代表是凱撒密碼(Caesar cipher)。在這種方法中,a換成D,b換成E,c換成F……,z換成C。其字母映射如下: 于是caesar就變成了FDHVDU。

15 由愷撒密碼我們可以推導(dǎo)出單表代替密碼的映射關(guān)系可以表示為如下函數(shù):
其中:p表示明文字母 n為字符集中字母的個(gè)數(shù) k為密鑰

16 如英文26個(gè)字母的映射表如下: 例如在愷撒密碼中,k=3 對(duì)于明文P=caesar,有 F(c)=(2+3) mod 26=5=F F(a)=(0+3) mod 26=3=D F(e)=(4+3) mod 26=7=H F(s)=(18+3) mod 26=21=V F(a)=(0+3) mod 26=3=D F(r)=(17+3) mod 26=20=U 因此密文C=FDHVDU

17 除了愷撒密碼,在其他的單表替代法中,有的字母表被打亂。比如,在字母表中首先排列出密鑰中出現(xiàn)的字母,然后在密鑰后面填上剩余的字母。如密鑰是cipher,那么新的字母表映射如下:
這時(shí)對(duì)于明文P=caesar,有 F(c)=(2+3) mod 26=5=R F(a)=(0+3) mod 26=3=H F(e)=(4+3) mod 26=7=B F(s)=(18+3) mod 26=21=V F(a)=(0+3) mod 26=3=H F(r)=(17+3) mod 26=20=U 因此密文C=RHBVHU

18 在單表代替下字母的頻度、重復(fù)字母模式、字母結(jié)合方式等統(tǒng)計(jì)特性除了字母名稱(chēng)改變以外,都未發(fā)生變化,依靠這些不變的統(tǒng)計(jì)特性就能破譯。
單表替代是所有加密中最簡(jiǎn)單的方法,缺點(diǎn)很明顯: 在單表代替下字母的頻度、重復(fù)字母模式、字母結(jié)合方式等統(tǒng)計(jì)特性除了字母名稱(chēng)改變以外,都未發(fā)生變化,依靠這些不變的統(tǒng)計(jì)特性就能破譯。

19 (2)多名碼代替 就是將明文字母表中的字符映射為密文字母表中的多個(gè)字符。多名碼簡(jiǎn)單代替早在1401年就由DuchyMantua公司使用。在英文中,元音字母出現(xiàn)頻率最高,降低對(duì)應(yīng)密文字母出現(xiàn)頻率的一種方法就是使用多名碼。

20 如下面的一個(gè)映射: 若明文P=bee 則密文C可以是ILL或ILM或ILN或IMM或IMN或INN

21 (3)多音碼代替 就是將多個(gè)明文字符代替為一個(gè)密文字符。最古老的這種多字母加密始見(jiàn)于1563年由波他的《密寫(xiě)評(píng)價(jià)》(De furtiois literarum notis)一書(shū)。

22 如下面的一個(gè)映射: 若明文P=behg 則密文C=JMNN

23 (4)多表代替 即由多個(gè)簡(jiǎn)單代替組成,也就是使用了兩個(gè)或兩個(gè)以上的代替表。比如使用有5個(gè)簡(jiǎn)單代替表的代替密碼,明文的第一個(gè)字母用第一個(gè)代替表,第二個(gè)字母用第二個(gè)表,第三個(gè)字母用第三個(gè)表,以此類(lèi)推,循環(huán)使用這五張代替表。

24 著名的維吉尼亞(vigenere)密碼就是多表代替密碼,它以字母表移位為基礎(chǔ)把26個(gè)英文字母進(jìn)行循環(huán)移位,排列在一起,形成26×26的方陣,如表3.1所示。

25 實(shí)際使用時(shí),選擇一個(gè)詞組作為密鑰。加密過(guò)程就是以明文字母選擇列,密鑰字母選擇行,兩者的交點(diǎn)就是加密生成的密文字母。 如:選取K=sub,P= vigenere
得到C=NCHWHFJY 解密時(shí)相反,以密鑰字母選擇行,從中找到密文字母,密文字母所在列的列名即為明文字母。

26 易位(transposition) 易位密碼,也稱(chēng)換位密碼、排列組合密碼,它最大的特點(diǎn)是不需對(duì)明文字母作任何變換,只需對(duì)明文字母的順序按密鑰的規(guī)律相應(yīng)的排列組合后輸出,然后形成密文。明文出現(xiàn)的字母也在密文中出現(xiàn),只是位置不同,并不隱藏它們。 此種加密方法保密的程度較高,但其最大的缺點(diǎn)是密文呈現(xiàn)字母自然出現(xiàn)頻率,破譯者只要稍加統(tǒng)計(jì)即可識(shí)別屬此類(lèi)加密方法,然后采取先假定密鈅長(zhǎng)度的方法,對(duì)密文進(jìn)行排列組合,借助計(jì)算機(jī)的高速運(yùn)算能力及常用字母的組合規(guī)律,也可以進(jìn)行不同程度破譯。

27 (1)列易位算法 首先選取一個(gè)不含重復(fù)字母的單詞為密鑰,寫(xiě)出密鑰在字母表中的排列順序,明文從第一列開(kāi)始按列生成密文。
如明文P=“易位密碼也稱(chēng)換位或排列組合密碼”,選取密鑰為“trans”。 加密過(guò)程為: 產(chǎn)生密文C=“合換易碼排密位位也列碼或密稱(chēng)組”

28 其解密過(guò)程是將密文C=“合換易碼排密位位也列碼或密稱(chēng)組”按密鑰長(zhǎng)度為列寫(xiě)出:
根據(jù)密鑰及其在字母表中的次序 易位相應(yīng)的列產(chǎn)生明文P=“易位密碼也稱(chēng)換位或排列組合密碼”。

29 (2)矩陣換位法 把明文中的字母按給定的順序排列在一矩陣中,然后用另一種順序選出矩陣的字母來(lái)產(chǎn)生密文。
如將明文P=“易位密碼,也稱(chēng)換位密碼?!卑葱信帕性?×4矩陣中,如下所示:

30 給定一個(gè)置換 現(xiàn)在根據(jù)給定的置換,按第3列、第1列、第4列、第2列的次序排列如下: 得到密文C=“密易碼位稱(chēng),換也碼位。密”

31 在這個(gè)加密方案中,密鑰就是矩陣的行數(shù)m和列數(shù)n,即m×n=3×4,以及給定的置換矩陣
也就是k=(m×n,f)

32 其解密過(guò)程是將密文C=“密易碼位稱(chēng),換也碼位。密”根據(jù)3×4矩陣,按行、按列的順序排列如下:
再根據(jù)給定置換產(chǎn)生新的矩陣: 恢復(fù)明文P=“易位密碼,也稱(chēng)換位密碼?!?/span>

33 DES數(shù)據(jù)加密標(biāo)準(zhǔn) 數(shù)據(jù)加密標(biāo)準(zhǔn)DES(Date Encryption Standard)是迄今為止世界上最為廣泛使用和流行的一種分組密碼算法。它由IBM公司研制,于1977年被美國(guó)標(biāo)準(zhǔn)局NBS(National Bureau Of Standards,現(xiàn)在的美國(guó)標(biāo)準(zhǔn)技術(shù)協(xié)會(huì),NIST)作為非機(jī)密數(shù)據(jù)的正式數(shù)據(jù)加密標(biāo)準(zhǔn)。DES是一種世界公認(rèn)的較好的加密算法。自它問(wèn)世20多年來(lái),成為密碼界研究的重點(diǎn),經(jīng)受住了許多科學(xué)家的研究和破譯,在民用密碼領(lǐng)域得到了廣泛的應(yīng)用,為全球貿(mào)易、金融等非官方部門(mén)提供了可靠的通信安全保障。 進(jìn)入20世紀(jì)90年代以來(lái),由于DES密鑰長(zhǎng)度不夠,不斷受到諸如差分分析、線性逼近分析等各種攻擊威脅,使其安全性受到動(dòng)搖。1994年最近一次對(duì)DES的評(píng)估認(rèn)為它已沒(méi)有安全感。于是,美國(guó)決定從1998年12月以后將不再使用DES,而使用稱(chēng)之為AES(Advanced Encryption Standard)的新加密標(biāo)準(zhǔn)。盡管如此,DES對(duì)于推動(dòng)密碼理論的發(fā)展和應(yīng)用畢竟起了重大作用,對(duì)于掌握分組密碼的基本理論、設(shè)計(jì)思想和實(shí)際應(yīng)用仍然有著重要的參考價(jià)值。

34 Ⅰ 分組密碼概述 分組密碼(Block cipher),也稱(chēng)塊密碼,它是將明文消息經(jīng)編碼表示后的數(shù)字(通常是0和1)序列:m0,m1,…,mi,…,劃分為若干固定長(zhǎng)度為l的組(或塊)m=(m0,m1,…,ml-1),各組分別在密鑰k=(k0,k1,…,kt-1)(密鑰長(zhǎng)為t)的控制下轉(zhuǎn)換成等長(zhǎng)度的密文分別輸出c=(c0,c1,…,cn-1)(長(zhǎng)為n)。其本質(zhì)仍是一個(gè)從明文空間M到密文分組C的映射,該映射由密鑰確定。分組密碼簡(jiǎn)化圖示如圖3.2: 其中,明文長(zhǎng)度為l,密文長(zhǎng)度為n。通常的分組密碼算法取l=n,表明加密和解密的結(jié)構(gòu)一樣,便于簡(jiǎn)單的實(shí)現(xiàn)。若l>n,則稱(chēng)為帶數(shù)據(jù)壓縮的分組密碼,易增加密文解密的難度;若l<n,則稱(chēng)為帶數(shù)據(jù)擴(kuò)展的分組密碼,必然要增加密文存儲(chǔ)和傳輸?shù)拇鷥r(jià)。

35 一般情況下,對(duì)分組密碼算法有如下的要求:
1、分組長(zhǎng)度n足夠大 當(dāng)長(zhǎng)度n較小時(shí),分組密碼和類(lèi)似于古典的代替密碼,仍然保留了明文的統(tǒng)計(jì)信息,給攻擊者留下可乘之機(jī);另外;也難以抵抗窮舉搜索的攻擊。 2、密鑰空間足夠大 分組密碼的密鑰所確定的密碼變換只是所有置換中的極一小部分。如果這一部分不夠大,攻擊者可以有效的通過(guò)窮舉密鑰,確定所有的置換。 3、密碼變化必須足夠復(fù)雜 目的是使攻擊者除了窮舉法攻擊以外,找不到其他簡(jiǎn)潔的數(shù)學(xué)破譯方法。為了便于實(shí)現(xiàn)和分析,在實(shí)踐中經(jīng)常采取以下兩個(gè)方法來(lái)達(dá)到這個(gè)要求:(1)將大的明文分組分成幾個(gè)小段,分別完成各個(gè)小段的加密置換,最后進(jìn)行并行操作,達(dá)到使總的分組長(zhǎng)度足夠大。這樣的做法有利于對(duì)密碼的實(shí)際分析和評(píng)測(cè),以保證密碼算法的強(qiáng)度。(2)采用乘積密碼掩蓋。乘積密碼就是以某種方式連續(xù)執(zhí)行兩個(gè)或多個(gè)密碼變換。例如,設(shè)有兩個(gè)子密碼變換T1和T2,則先以T1對(duì)明文進(jìn)行加密,然后再以T2對(duì)所得結(jié)果進(jìn)行加密。其中T1的密文空間與T2的明文空間相同。如果得當(dāng)?shù)脑?huà),乘積密碼可以有效的掩蓋密碼變化的弱點(diǎn),構(gòu)成比其中任意一個(gè)密碼變換強(qiáng)度更高的密碼系統(tǒng)。

36 Ⅱ DES算法詳述 DES是一種分組密碼,它主要采用替換和移位的方法加密。它用56位密鑰對(duì)64位二進(jìn)制數(shù)據(jù)塊進(jìn)行加密,每次加密可對(duì)64位的輸入數(shù)據(jù)進(jìn)行16輪編碼,經(jīng)一系列替換和移位后,輸入的64位原始數(shù)據(jù)轉(zhuǎn)換成完全不同的64位輸出數(shù)據(jù)。DES是一個(gè)對(duì)稱(chēng)密碼體制,加密與解密使用同一密鑰與同一算法,它所有的保密性均依賴(lài)于密鑰。 DES算法大致可以分成四個(gè)部分: 初始置換 迭代過(guò)程 逆置換 子密鑰生成

37 整個(gè)算法的主流程圖如圖3.3 64位數(shù)據(jù)區(qū)組輸入L0,R0 初始換位 (IP) 32位 L0 R0 K1 f L1=R0
R1=L f(R0,K1) K2 L2=R1 R2=L f(R1,K2) Ki L15=R14 R15=L f(R14,K15) K16 L16=R15 R16=L15 f(R15,K16) 逆初始換位IP-1 64位數(shù)據(jù)區(qū)組輸出 圖3.3 DES算法主流程圖 整個(gè)算法的主流程圖如圖3.3

38 1、初始置換IP 把輸入的64位數(shù)據(jù)塊按位重新組合,并把輸出分為L(zhǎng)0、R0兩部分,每部分各長(zhǎng)32位,按表3.2的置換規(guī)則進(jìn)行換位。
表中數(shù)字的含義是將輸入的第58位換到第一位,第50位換到第2位,……,依此類(lèi)推,最后一位是原來(lái)的第7位。L0、R0則是換位輸出后的兩部分,L0是輸出的左32位,R0是右32位,例:設(shè)置換前的輸入值為D1D2D3……D64,則經(jīng)過(guò)初始置換后的結(jié)果為:L0=D58D50…D8;R0=D57D49…D7。

39 2、迭代過(guò)程 每個(gè)迭代過(guò)程實(shí)際上包括四個(gè)獨(dú)立的操作。首先是右半部分由32位擴(kuò)展為48位。然后與密鑰的某一形式相結(jié)合,其結(jié)果被替換為另一結(jié)果,同時(shí)其位數(shù)又壓縮到了32位。這32位數(shù)據(jù)經(jīng)過(guò)置換再與左半部分相加,結(jié)果產(chǎn)生新的右半部分。 圖3.4為DES一次迭代的運(yùn)算過(guò)程(圖中的虛線框表示f函數(shù),圖中右面一半為子密鑰的產(chǎn)生過(guò)程)。

40 DES算法的安全性關(guān)鍵在于非線性函數(shù)f的性質(zhì)。DES算法中,函數(shù)f以長(zhǎng)度為32位的比特串作為輸入,產(chǎn)生的中間結(jié)果為48位,并在最終產(chǎn)生長(zhǎng)度為32位的比特串作為輸出。把圖3-4中所示的函數(shù)f單獨(dú)用圖3.5表示出來(lái)。

41 (1)擴(kuò)展置換 從圖3-5中,可以看到函數(shù)f的執(zhí)行過(guò)程如下:
函數(shù)f以前一輪迭代的結(jié)果Ri-1作為輸入,首先根據(jù)一個(gè)固定的擴(kuò)展函數(shù)E(也稱(chēng)為E盒)擴(kuò)展成長(zhǎng)度為48的比特串,其中有16個(gè)比特出現(xiàn)了兩次。 具體來(lái)說(shuō),擴(kuò)展函數(shù)E是以如下方式對(duì)Ri-1中的32個(gè)比特進(jìn)行擴(kuò)展、排列的: 擴(kuò)展函數(shù)E對(duì)32位明文按4位分組,每個(gè)小分組中的4位將全部輸出作為輸出的6位分組(每個(gè)小分組被擴(kuò)展函數(shù)E擴(kuò)展為6位的小分組)的中間四位而6位分組的第1位與第6位(位0與位5)分別由相鄰的兩個(gè)4位小分組(其中第1個(gè)小分組的左側(cè)相鄰分組為最后一個(gè)小分組)的最外面兩位擴(kuò)散進(jìn)入到本分組產(chǎn)生。圖3.6以第1個(gè)小分組(第1位至第4位)為例,給出了擴(kuò)展函數(shù)E的工作過(guò)程。

42 把輸出位和輸入位對(duì)應(yīng)關(guān)系列成一個(gè)表格(表3
把輸出位和輸入位對(duì)應(yīng)關(guān)系列成一個(gè)表格(表3.3),它表示了輸出分組中各位在輸入分組中的位置。例如,輸出分組的第4位是原來(lái)輸入分組中的第3位,而輸出分組的第30位與第32位都是輸入分組的第21位。 這樣,當(dāng)明文的右半部分32位Ri-1經(jīng)過(guò)擴(kuò)展函數(shù)E后,將擴(kuò)展成長(zhǎng)度為48位的數(shù)據(jù),它將與長(zhǎng)度同為48位的子密鑰進(jìn)行運(yùn)算。

43 (2)與子密鑰異或 (3)S盒代替 函數(shù)f將擴(kuò)展置換得到48位輸出與子密鑰Ki進(jìn)行異或(按位模2加)。
DES算法共有8個(gè)S盒(這樣,每一個(gè)分組將對(duì)應(yīng)于一個(gè)S盒進(jìn)行代替運(yùn)算:分組1由S盒1操作,分組2由S盒2操作,如此等等),每個(gè)S盒各不相同,但所有的S盒都具有6位的輸入,其輸出都為4位。 DES算法的每一個(gè)S盒都是一個(gè)4行(行0~行3)×16列(列0~列15)的表,表中每一項(xiàng)都是一個(gè)4位的數(shù)據(jù)。S盒根據(jù)6位輸入,確定替代數(shù)據(jù)的位置,然后將該位置的4位數(shù)據(jù)作為輸出用以替換輸入的6位數(shù)據(jù)。

44 具體替代方式我們可以描述如下: 將S盒的6位輸入定義為 a1 a2 a3 a4 a5 a6 。將 a1 a6 組成一個(gè)2位二進(jìn)制數(shù),對(duì)應(yīng)著表中的行號(hào);將 a2 a3 a4 a5 組成一個(gè)4位二進(jìn)制數(shù),對(duì)應(yīng)著表中的列號(hào);交叉點(diǎn)的數(shù)據(jù)就是該S盒的輸出。 例如:第5個(gè)S盒的輸出為110011,第1位和第6位的組合為11(轉(zhuǎn)換為十進(jìn)制值等于3),第2位至第5位的組合為1001(轉(zhuǎn)換為十進(jìn)制值等于9)。那么,它對(duì)應(yīng)的就是第5個(gè)S盒的第3行、第9列(行、列的記數(shù)均從0開(kāi)始)。查表可知對(duì)應(yīng)的數(shù)值為15(轉(zhuǎn)換為二進(jìn)制值等于1111),于是1111代替了110011,成為S盒的4位輸出。

45 表3.4 給出了全部的8個(gè)S盒。 S盒是函數(shù)f的核心所在,同時(shí)也是DES算法的關(guān)鍵步驟。除S盒外,DES的其它運(yùn)算都是線性的,易于分析,而S盒是非線性的,它決定了DES算法的安全性。 48位的比特串(分為8個(gè)6位分組)在經(jīng)過(guò)8個(gè)S盒進(jìn)行代替運(yùn)算后,得到8個(gè)4位的分組,它們重新合在一起形成一個(gè)32位的比特串。這個(gè)比特串將進(jìn)行下一步運(yùn)算:P盒置換。

46 (4)P盒置換 P盒置換是將S盒輸出的32位的比特串根據(jù)固定的置換P(也成為P盒)置換到相應(yīng)的位置,它也稱(chēng)為直接置換(straight permutation)。 表3.5給出了置換P。 表3.5 的含義可以描述如下:在32位的比特串中,第16位置換到第1位,第7位置換到第2位,第4位置換到第31位,…,第25位置換到32位。 P盒置換運(yùn)算后得到的輸出即為函數(shù)(Ri-1,Ki)的最終結(jié)果。

47 3、逆置換IP-1 經(jīng)過(guò)16次迭代運(yùn)算后。得到L16、R16,將此作為輸入,進(jìn)行逆置換,即得到密文輸出。逆置換正好是初始置的逆運(yùn)算,例如,第1位經(jīng)過(guò)初始置換后,處于第40位,而通過(guò)逆置換,又將第40位換回到第1位,其逆置換規(guī)則如表3.6所示:

48 4、密鑰的產(chǎn)生 在DES算法中,每一輪迭代運(yùn)算都使用一個(gè)子密鑰,子密鑰產(chǎn)生的流程圖如圖3.7所示。K是長(zhǎng)度為64位的比特串,其中56位是密鑰,8位是奇偶校驗(yàn)碼,分布在8、16、24、32、40、48、56、64比特位置上,目的是用來(lái)檢錯(cuò),可在8位組中檢查單個(gè)錯(cuò)誤。實(shí)際上,在密鑰編排的計(jì)算中只用56位,不包括這8位。

49 子密鑰的產(chǎn)生過(guò)程分為: 置換選擇1(pc-1) 循環(huán)左移 置換選擇2(pc-2) 分別產(chǎn)生16個(gè)子密鑰

50 (1)置換選擇1(pc-1) 對(duì)56位密鑰輸入按表3.7進(jìn)行重新編排。
將前28位作為C,后28位作為D。即C0=k57k49k41…k52k44k36,D0=k63k55k47…k20k12k4

51 (2)循環(huán)左移計(jì)算 對(duì)16輪的計(jì)算模型描述如下:
LSi表示循環(huán)左移一個(gè)或兩個(gè)位置,它取決于i值變化的次數(shù),當(dāng)i=1、2、9、16時(shí),則左移一個(gè)位置,其余左移兩個(gè)位置,如表3.8所示。 比如,對(duì)應(yīng)不同次數(shù),左移變化情況如下: i=1,C1=c1c2…c27c28,D1=d1d2…d28 i=2,C2=c2c3…c28c1,D2=d2d3…d28d1 i=3,C3=c4c5…c28c1c2c3,D3=d4d5…d28d1d2d3 其他依次類(lèi)推。

52 (3)選擇置換2(pc-2) 其作用是刪除每次移位后C中第9、18、22、25位和D中第7、9、15、26比特位,其余比特按表3.9置換后送出48位比特,作為第i次迭代的子密鑰ki使用。 以上介紹了DES算法的加密過(guò)程。DES算法的解密過(guò)程是一樣的,區(qū)別僅僅在于第一次迭代時(shí)用子密鑰K15,第二次K14、......,最后一次用K0,算法本身并沒(méi)有任何變化,不再詳述。

53 Ⅲ DES安全性分析 DES算法具有極高安全性,到目前為止,除了用窮舉搜索法對(duì)DES算法進(jìn)行攻擊外,還沒(méi)有發(fā)現(xiàn)更有效的辦法。DES算法僅使用最大為64位的標(biāo)準(zhǔn)算術(shù)和邏輯運(yùn)算,優(yōu)點(diǎn)是運(yùn)算速度快,密鑰生產(chǎn)容易,適合于在當(dāng)前大多數(shù)計(jì)算機(jī)上用軟件方法實(shí)現(xiàn),同時(shí)也適合于在專(zhuān)用芯片上實(shí)現(xiàn)。比如現(xiàn)在熱賣(mài)的愛(ài)國(guó)者移動(dòng)存儲(chǔ)加密王,就是采用DES實(shí)時(shí)運(yùn)算法則的硬件加密芯片。 但是DES的密鑰太短(56位),影響了它的保密強(qiáng)度。DES的前身,IBM的Lucifer密碼體制具有128比特的密鑰長(zhǎng)度。DES的最初提案也有64比特的密鑰長(zhǎng)度,但后來(lái)被減少到56比特。IBM聲稱(chēng),這個(gè)減少的原因是必須在密鑰中包含8位奇偶校驗(yàn)位,這就意味著64比特的存儲(chǔ)只能包含一個(gè)56比特的密鑰。 對(duì)于56比特的密鑰長(zhǎng)度來(lái)說(shuō),一共有256種可能的密鑰,也就是大約7.2×1016種密鑰。從表面上看,窮舉式攻擊似乎不現(xiàn)實(shí)。如果假定平均有一半的密鑰空間需要搜索,則一臺(tái)每微秒完成一次DES加密的機(jī)器將要花費(fèi)1000年的時(shí)間才能破譯這個(gè)密碼。 然而,每微秒一次加密的假設(shè)過(guò)分保守。早在1977年,Diffie和Hellman就設(shè)想有一種技術(shù)可以制造出具有100萬(wàn)個(gè)加密設(shè)備的并行機(jī),其中的每一個(gè)設(shè)備都可以在一微秒之內(nèi)完成一次加密,這樣平均搜索時(shí)間就減少到10小時(shí)。

54 一個(gè)對(duì)DES的弱點(diǎn)更引人注目的演示是RSA實(shí)驗(yàn)室所發(fā)起的一個(gè)破解密鑰的比賽。比賽提供1萬(wàn)美元的獎(jiǎng)金,要求在給定了密文和部分明文的情況下找到DES密鑰,其中明文開(kāi)始的三個(gè)分組包含了24個(gè)字符的短語(yǔ)“the unknown messagr is:”。RSA在1997年1月29日發(fā)布競(jìng)賽。一個(gè)獨(dú)立顧問(wèn)Rocke Verser響應(yīng)了這個(gè)比賽,他編了一個(gè)窮舉式程序并通過(guò)internet做了發(fā)布。這個(gè)項(xiàng)目受到很多密碼愛(ài)好者的響應(yīng),最后發(fā)展到7萬(wàn)個(gè)系統(tǒng)。每個(gè)計(jì)算機(jī)自愿者加入后,項(xiàng)目組就為這臺(tái)計(jì)算機(jī)分配一部分DES密鑰空間供它檢驗(yàn)。項(xiàng)目從1977年2月18日開(kāi)始,96天后找到了正確的密鑰,這時(shí)大約已經(jīng)搜索了四分之一的可能密鑰。這個(gè)比賽顯示了分布式個(gè)人計(jì)算機(jī)在對(duì)付艱難的密碼分析問(wèn)題時(shí)的威力。也證實(shí)了DES的強(qiáng)度是有限的。 此外,由于DES算法完全公開(kāi),其安全性完全依賴(lài)于對(duì)密鑰的保護(hù),必須有可靠的信道來(lái)分發(fā)密鑰。如采用信使遞送密鑰等。因此,它不適合在網(wǎng)絡(luò)環(huán)境下單獨(dú)使用。 雖然研制替代DES的新的密碼算法被提上議程,但確定一種新的加密法是否真的安全是極為困難的,何況DES的密碼學(xué)缺點(diǎn)只是密鑰長(zhǎng)度相對(duì)比較短,所以人們并沒(méi)有放棄使用DES,而是想出了一個(gè)解決其長(zhǎng)度方法,即采用三重DES。這種方法用兩個(gè)密鑰對(duì)明文進(jìn)行三次加密。假設(shè)兩個(gè)密鑰是K1和K2,第一步用密鑰K1進(jìn)行DES加密,第二步用K2對(duì)步驟1結(jié)果進(jìn)行DES加密,第三步用步驟2的結(jié)果使用密鑰K1進(jìn)行DES加密。

55 RSA密碼體制 上一節(jié)討論的DES密碼體制是對(duì)稱(chēng)密鑰密碼體制。使用對(duì)稱(chēng)密鑰密碼體制進(jìn)行秘密通信時(shí),任意不同兩個(gè)用戶(hù)之間都應(yīng)該使用互不相同的密鑰。這樣,如果一個(gè)網(wǎng)絡(luò)中有n個(gè)用戶(hù)需要彼此通信,那么將共需要n(n-1)/2個(gè)密鑰(其中,每人需要保管n-1個(gè)密鑰),假設(shè)n=1000,則,如此巨大的密鑰量,在密鑰管理、分配、更換等都將是十分繁重的工作。另外,在網(wǎng)絡(luò)大力普及的今天,互不相識(shí)的兩個(gè)人要進(jìn)行通信,如電子商務(wù)活動(dòng)需要對(duì)身份驗(yàn)證,電子簽名,不僅要解決保密問(wèn)題,還必須解決認(rèn)證問(wèn)題,對(duì)于這些新要求,對(duì)稱(chēng)密碼算法是比較難實(shí)現(xiàn)的。 1976年,Diffe和Hellman在一篇名叫“New direction in cryptography”(密碼學(xué)的新方向)的論文中提出了雙鑰密碼的新型密碼體制,把加密密鑰和解密密鑰分割開(kāi)來(lái),而無(wú)法由一個(gè)推出另一個(gè),使得不僅可以公開(kāi)密碼算法,而且加密密鑰也可以公開(kāi),開(kāi)創(chuàng)了公開(kāi)密鑰密碼體制,為密碼學(xué)研究提出了新的方向。

56 Ⅰ 公鑰密碼體制 公開(kāi)密鑰密碼編碼學(xué)的發(fā)展是整個(gè)密碼編碼學(xué)歷史上最大的而且也是唯一真正的革命。從最初一直到現(xiàn)代,幾乎所有密碼編碼系統(tǒng)都建立在基本的替代和置換工具的基礎(chǔ)上。即使是最有名的DES,雖然代表了重要的進(jìn)展,也仍然依賴(lài)于替代和置換這樣的基本工具。 公開(kāi)密鑰密碼編碼學(xué)則與以前的所有方法截然不同。一方面公開(kāi)密鑰算法基于數(shù)學(xué)函數(shù)而不是替代和置換;更重要的是,公開(kāi)密鑰密碼編碼學(xué)是非對(duì)稱(chēng)的,它用到兩個(gè)不同的密鑰,而對(duì)稱(chēng)的常規(guī)加密則只使用一個(gè)密鑰。使用兩個(gè)密鑰對(duì)于保密通信、密鑰分配和鑒別等領(lǐng)域都有著深遠(yuǎn)的影響。例如。對(duì)于網(wǎng)上的大量用戶(hù),可以將加密密鑰用電話(huà)簿的方式印出。如果某用戶(hù)想與另一用戶(hù)進(jìn)行保密通信,只需從公鑰簿上查出對(duì)方的加密密鑰,用它對(duì)所傳送的信息加密發(fā)出即可。對(duì)方收到信息后,用僅為自己所知的解密密鑰將信息脫密,了解報(bào)文的內(nèi)容。由此可看出,RSA算法解決了大量網(wǎng)絡(luò)用戶(hù)密鑰管理的難題。

57 圖3.8給出了一般公鑰密碼體制原理示意圖。 其中,E(eB,m)表示使用用戶(hù)B的公開(kāi)密鑰eB對(duì)明文m進(jìn)行加密,D(dB,c)表示用戶(hù)B使用自己保存的秘密密鑰dB對(duì)密文c進(jìn)行解密。 公開(kāi)密鑰密碼的加密變換E(eB,m)與解密變換D(dB,c)應(yīng)滿(mǎn)足下列要求: (1)D(dB,c)是E(eB,m)的逆變換,即對(duì)于任意明文m,均有D(dB,c)=D(dB,E(eB,m))=m; (2)在已知加密密鑰eB時(shí),E(eB,m)的計(jì)算不難;在已知解密密鑰dB時(shí),D(dB,c)的計(jì)算也不難; (3)如果不知道dB,那么即使知道eB、具體的加密與解密算法過(guò)程以及密文c,確定明文m的計(jì)算也是不可行的。 我們可以這樣來(lái)想,例如你有個(gè)信箱(物理信箱),開(kāi)著一個(gè)縫隙(公鑰),大家都能往里塞東西,但是一旦塞進(jìn)去,那可不是大家都能取到的,只有擁有信箱鑰匙(私鑰)才能得到。公鑰就這樣,不要擔(dān)心它多難理解。

58 Ⅱ RAS算法詳述 RSA算法是由麻省理工學(xué)院的Ron Rivest,Adi Shamir和Len Adleman于1977年研制并于1978年首次發(fā)表的一種算法,DES是用數(shù)論構(gòu)造的,也是迄今為止理論上最為成熟完善的公鑰密碼體制。 數(shù)學(xué)上的單向陷門(mén)函數(shù)的特點(diǎn)是一個(gè)方向求值很容易,但其逆向計(jì)算卻很困難。許多形式為Y=f(x)的函數(shù),對(duì)于給定的自變量x值,很容易計(jì)算出函數(shù)Y的值;而由給定的Y值,在很多情況下依照函數(shù)關(guān)系f(x)計(jì)算x值十分困難。例如,兩個(gè)大素?cái)?shù)p和q相乘得到乘積n比較容易計(jì)算,但從它們的乘積n分解為兩個(gè)大素?cái)?shù)p和q則十分困難。如果n為足夠大,當(dāng)前的算法不可能在有效的時(shí)間內(nèi)實(shí)現(xiàn)。 RSA算法正是基于這種理論,為公用網(wǎng)絡(luò)上信息的加密和鑒別提供了一種基本的方法。它通常是先生成一對(duì)RSA密鑰,其中之一是保密密鑰,由用戶(hù)保存;另一個(gè)為公開(kāi)密鑰,可對(duì)外公開(kāi),甚至可在網(wǎng)絡(luò)服務(wù)器中注冊(cè)。

59 RSA的演算方法是: (1)用戶(hù)選擇2個(gè)足夠大的保密質(zhì)數(shù)q、p(一般為100位以上十進(jìn)數(shù))。 (2)令n=pq,n是公開(kāi)的,從n分解出q和p是極其困難的。 n的歐拉函數(shù):Φ(n)=(p-1)(q-1),Φ(n)小于等于n,并與n互質(zhì)。 (3)選擇一個(gè)相對(duì)大的整數(shù)e作為加密指數(shù),使e與Φ(n)互質(zhì)。 (4)解恒等方程:de≡1 mod Φ(n),求出解密指數(shù)d。 (5)設(shè)m、C分別為要加密的明文和被加密的密文(m、C小于n),則加密運(yùn)算為:C=E(m)=me mod n,解密運(yùn)算為:M=D(C)=Cd mod n。 通過(guò)以上算法,每個(gè)用戶(hù)都擁有一組密鑰(e、d、n),其中(e、n)為公開(kāi)密鑰(public key),可以公開(kāi)在手冊(cè)上,e為加密指數(shù);(d、n)為私人密鑰(private key),是用戶(hù)保密的私鑰;p、q消毀。

60 舉例如下: (1)選兩個(gè)質(zhì)數(shù):p=47,q=71(為了計(jì)算方便,只選取十位數(shù),實(shí)際加密時(shí)應(yīng)該選取100位以上十進(jìn)數(shù)的質(zhì)數(shù)) (2)計(jì)算:n=pq=47×71=3337,Φ(n)=(47-1)×(71-1)=3220 (3)e必須與Φ(n)互質(zhì),選e=79 (4)計(jì)算:ed=1 mod Φ(n)=1 mod (3220),得出d=1019,這是因?yàn)?019×79=3220×25+1。 然后將e=79、n=3337公布,d=1019保密,p、q消毀即可。 如有一明文m= 加密過(guò)程如下: 先將m分割成多塊:m1=688,m2=232,m3=687,m4=966,m5=668,m6=3 將第1塊m1加密后得密文C1=m1e(mod3337)=688×79(mod3337)=1570 依次對(duì)各區(qū)塊加密后得密文C= 解密過(guò)程如下: 對(duì)C1解密得m1 M1=C1d(mod3337)= (mod3337)=688 依次解密得原文M。

61 Ⅲ RSA安全性分析 RSA的安全性依賴(lài)于大數(shù)分解,但是否等同于大數(shù)分解一直未能得到理論上的證明,因?yàn)闆](méi)有證明破解RSA就一定需要作大數(shù)分解。假設(shè)存在一種無(wú)須分解大數(shù)的算法,那它肯定可以修改成為大數(shù)分解算法。目前,RSA的一些變種算法已被證明等價(jià)于大數(shù)分解。不管怎樣,分解n是最顯然的攻擊方法。 隨著計(jì)算機(jī)計(jì)算能力的不斷提高,原來(lái)被認(rèn)為是不可能分解的大數(shù)已被成功分解。例如,1977年,RSA的三個(gè)發(fā)明者在《科學(xué)美國(guó)人》Martin Gardner的數(shù)學(xué)游戲?qū)谏嫌×艘粋€(gè)密碼并對(duì)該刊的讀者提出了破譯該密碼的挑戰(zhàn)。他們懸賞100美元給可以提供明文的人,他們估計(jì)要得到正確的結(jié)果至少需要4億億年。可是,1994年4月,一個(gè)通過(guò)internet進(jìn)行合作的小組僅僅在工作了8個(gè)月之后就領(lǐng)到了這筆獎(jiǎng)金。這項(xiàng)挑戰(zhàn)使用了一個(gè)129個(gè)數(shù)字或者大約428比特大小(長(zhǎng)度為n)的公開(kāi)密鑰。 對(duì)較大密鑰的攻擊威脅的另一方面還來(lái)自因子分解算法的不斷完善。分解算法過(guò)去都采用二次篩法,如對(duì)RSA-129的分解。而事實(shí)上,一個(gè)新算法,廣義數(shù)域篩GNFS(Generalized Number Field Sieve)的分解速度更快,該算法在分解RSA-130時(shí)所作的計(jì)算僅比RSA-129多10%。將來(lái)或許還有更好的分解算法。因此在使用RSA算法時(shí)對(duì)其密鑰的選取要大。估計(jì)在未來(lái)一段比較長(zhǎng)的時(shí)期,密鑰長(zhǎng)度介于1024比特至2048比特之間的RSA會(huì)是安全的。

62 單向散列函數(shù)HASH 前面我們介紹的加密技術(shù),如DES、RSA算法,都是抗擊消息受到被動(dòng)攻擊(被竊聽(tīng)、信息量分析等)的一種技術(shù),即對(duì)于接收到的消息,我們不清楚它是否泄露、是否完整,只關(guān)心密碼算法及密鑰的強(qiáng)度,以保證在信息有效期內(nèi)即使被攻擊也安全。那么,有沒(méi)有這樣一種技術(shù),即不僅可以驗(yàn)證消息的真實(shí)性,還能驗(yàn)證信息的完整性呢?答案是肯定的,單向散列函數(shù)就可以滿(mǎn)足我們的這種抗擊主動(dòng)攻擊需求。 HASH函數(shù),又稱(chēng)雜湊函數(shù),是在信息安全領(lǐng)域有廣泛和重要應(yīng)用的密碼算法,它是一個(gè)從明文到密文的不可逆函數(shù),也就是說(shuō),只能加密不能還原。單向散列函數(shù)H作用于任意長(zhǎng)度的信息M,返回一固定長(zhǎng)度的散列值(也稱(chēng)摘要信息)h=H(M)。

63 好的單向散列函數(shù)必須具有以下特性: 1、計(jì)算的單向性:給定M和H,求h=H(M)容易,但反過(guò)來(lái)給定h和H,求M=H-1(h)在計(jì)算上是不可行的。 2、弱碰撞自由:給定M,要尋找另一信息M′,滿(mǎn)足H(M′)=H(M)在計(jì)算上不可行。 3、強(qiáng)碰撞自由:要尋找不同的信息M和M′,滿(mǎn)足H(M′)=H(M)在計(jì)算上不可行。 HASH通常應(yīng)用于只需要加密、不需要解密的特殊場(chǎng)合:如驗(yàn)證數(shù)據(jù)的完整性、口令表的加密、數(shù)字簽名、身份認(rèn)證等。當(dāng)我們使用HASH函數(shù)構(gòu)造數(shù)據(jù)的“指紋”時(shí)(用散列函數(shù)對(duì)數(shù)據(jù)生成散列值并保存),一旦數(shù)據(jù)改變(被主動(dòng)攻擊),即使只更動(dòng)一個(gè)字母,對(duì)應(yīng)的壓縮信息也會(huì)變?yōu)榻厝徊煌摹爸讣y”,這就保證了經(jīng)過(guò)處理信息的唯一性。例如在口令加密的場(chǎng)合,系統(tǒng)中保存的是口令的散列值,當(dāng)用戶(hù)輸入口令以進(jìn)入系統(tǒng)時(shí),系統(tǒng)重新計(jì)算用戶(hù)輸入口令的散列值并與保存的數(shù)值比較。只有兩者相同,才授權(quán)用戶(hù)進(jìn)入系統(tǒng)。這就避免了以明文形式保存口令,使系統(tǒng)的安全性大大加強(qiáng)。

64 Ⅰ 消息摘要算法MD5 MD5的全稱(chēng)是“Message-Digest Algorithm 5(信息-摘要算法)”,它是由MD2、MD3、MD4發(fā)展而來(lái)的一種單向函數(shù)算法(也就是HASH算法),由國(guó)際著名的公鑰加密算法標(biāo)準(zhǔn)RSA的第一設(shè)計(jì)者R.Rivest在1991年開(kāi)發(fā)出來(lái)的技術(shù)上更為趨近成熟的一種算法。MD5的最大作用在于,讓大容量信息在用數(shù)字簽名軟件簽署私人密匙前被“壓縮”成一種保密的格式(就是把一個(gè)任意長(zhǎng)度的字節(jié)串變換成一定長(zhǎng)的大整數(shù)),關(guān)鍵之處在于——這種“壓縮”是不可逆的。不管是md2、md4還是md5,它們都需要獲得一個(gè)隨機(jī)長(zhǎng)度的信息并產(chǎn)生一個(gè)128位的信息摘要。 MD5的典型應(yīng)用是對(duì)一段信息(message)產(chǎn)生信息摘要(message-digest),以防止被篡改。這是因?yàn)镸D5可以為任何文件(不管其大小、格式、數(shù)量)產(chǎn)生一個(gè)獨(dú)一無(wú)二的“數(shù)字指紋”,如果任何人對(duì)文件做了任何改動(dòng),其MD5值也就是對(duì)應(yīng)的“數(shù)字指紋”都會(huì)發(fā)生變化。 我們常常在某些軟件下載站點(diǎn)的某軟件信息中看到其MD5值,它的作用就在于我們可以在下載該軟件后,對(duì)下載回來(lái)的文件用專(zhuān)門(mén)的軟件(如Windows MD5 Check等)做一次MD5校驗(yàn),以確保我們獲得的文件與該站點(diǎn)提供的文件為同一文件。如果再有一個(gè)第三方的認(rèn)證機(jī)構(gòu),用MD5還可以防止文件作者的“抵賴(lài)”,這就是所謂的數(shù)字簽名應(yīng)用。利用MD5算法來(lái)進(jìn)行文件校驗(yàn)的方案被大量應(yīng)用到軟件下載站、論壇數(shù)據(jù)庫(kù)、系統(tǒng)文件安全等方面。

65 MD5還廣泛用于加密和解密技術(shù)上。比如用戶(hù)的密碼是以MD5(或其它類(lèi)似的算法)經(jīng)加密后存儲(chǔ)在文件系統(tǒng)中。當(dāng)用戶(hù)登錄的時(shí)候,系統(tǒng)把用戶(hù)輸入的密碼計(jì)算成MD5值,然后再去和保存在文件系統(tǒng)中的MD5值進(jìn)行比較,進(jìn)而確定輸入的密碼是否正確。通過(guò)這樣的步驟,系統(tǒng)在并不知道用戶(hù)密碼的明碼的情況下就可以確定用戶(hù)登錄系統(tǒng)的合法性。這不但可以避免用戶(hù)的密碼被具有系統(tǒng)管理員權(quán)限的用戶(hù)知道,而且還在一定程度上增加了密碼被破解的難度。 天下沒(méi)有不透風(fēng)的墻,任何一種算法都會(huì)有其漏洞,即使是目前大行其道的MD5,當(dāng)對(duì)漏洞的研究發(fā)展到其能夠被有效利用時(shí),則標(biāo)志著該算法滅亡的時(shí)候到了。在2004年8月美國(guó)加州圣巴巴拉召開(kāi)的國(guó)際密碼學(xué)會(huì)議(Crypto’2004)上,來(lái)自中國(guó)山東大學(xué)王小云教授的一篇關(guān)于“破譯MD5、HAVAL-128、MD4以及RIPEMD-128算法”的報(bào)告引起了轟動(dòng),報(bào)告中提到的新破譯方法幾乎標(biāo)志著世界通信密碼標(biāo)準(zhǔn)——MD5堡壘的轟然倒塌。但盡管MD5被淘汰已經(jīng)成為必然,不過(guò)鑒于它開(kāi)源以及免費(fèi)的特性,而且目前還沒(méi)有真正有效的快速破解方法,因此它還將繼續(xù)在歷史舞臺(tái)活躍一段時(shí)間。

66 Ⅱ 報(bào)文鑒別碼MAC MAC(message authentication code),也稱(chēng)為密碼檢驗(yàn)和,消息認(rèn)證碼,是指滿(mǎn)足某種安全性質(zhì)的帶密鑰的HASH函數(shù)。因此,它的安全性質(zhì)與普通的單向散列函數(shù)是有明顯區(qū)別的。盡管兩者具有相同的散列函數(shù)結(jié)構(gòu),但引入MAC后,只有擁有密鑰的才能鑒別給定的散列函數(shù)。這就能保證有時(shí)候不想對(duì)原文件進(jìn)行加密(如發(fā)布通知、公告等),只要求能夠確保傳送文件不被修改,或修改了也能識(shí)別。如果使用的不是MAC而是普通的單向散列函數(shù),那么任何人都可以修改文件以至造成產(chǎn)生新的散列函數(shù)而不可辯識(shí)的后果。 構(gòu)造報(bào)文鑒別碼是用一個(gè)密鑰生成的一個(gè)小的數(shù)據(jù)塊追加在報(bào)文的后面。這種技術(shù)是假定通信雙方(例如用戶(hù)A和用戶(hù)B)共享一個(gè)密鑰K。當(dāng)用戶(hù)A向用戶(hù)B發(fā)送報(bào)文M時(shí),就根據(jù)此密鑰和報(bào)文計(jì)算出報(bào)文鑒別碼MAC=f(K,M),這里f就是加密算法的某一函數(shù)。此報(bào)文的鑒別碼一起傳送到用戶(hù)B。用戶(hù)B用收到的報(bào)文(不包括報(bào)文鑒別碼),使用同樣的密鑰K,再計(jì)算一次報(bào)文鑒別碼,并與收到的報(bào)文鑒別碼相比較。如一致,則鑒別此報(bào)文是真的;反之,報(bào)文就不是用戶(hù)A所發(fā),或者即使是A所發(fā),也被篡改過(guò)。這樣就可以最大限度的保證通信安全。 值得注意的是,生成報(bào)文鑒別碼的過(guò)程與加密過(guò)程十分相似。但區(qū)別是,鑒別算法不進(jìn)行反向的計(jì)算。也就是說(shuō),對(duì)MAC不進(jìn)行類(lèi)似加密過(guò)程的反向計(jì)算。由于鑒別函數(shù)的這一特點(diǎn),鑒別是較難被攻破的。

67 密碼技術(shù)的未來(lái) 盡管雙鑰密碼體制比單鑰密碼體制更為可靠,但由于計(jì)算過(guò)于復(fù)雜,雙鑰密碼體制在進(jìn)行大信息量通信時(shí),加密速率僅為單鑰體制的1/100,甚至是1/1000。正是由于不同體制的加密算法各有所長(zhǎng),所以在今后相當(dāng)長(zhǎng)的一段時(shí)期內(nèi),各類(lèi)加密體制將會(huì)共同發(fā)展。而在由IBM等公司于1996年聯(lián)合推出的用于電子商務(wù)的協(xié)議標(biāo)準(zhǔn)SET(Secure Electronic ransaction)中和1992年由多國(guó)聯(lián)合開(kāi)發(fā)的PGP技術(shù)中,均采用了包含單鑰密碼、雙鑰密碼、單向雜湊算法和隨機(jī)數(shù)生成算法在內(nèi)的混合密碼系統(tǒng)的動(dòng)向來(lái)看,這似乎從一個(gè)側(cè)面展示了今后密碼技術(shù)應(yīng)用的未來(lái)。 在單鑰密碼領(lǐng)域,一次一密被認(rèn)為是最為可靠的機(jī)制,但是由于流密碼體制中的密鑰流生成器在算法上未能突破有限循環(huán),故一直未被廣泛應(yīng)用。如果找到一個(gè)在算法上接近無(wú)限循環(huán)的密鑰流生成器,該體制將會(huì)有一個(gè)質(zhì)的飛躍。近年來(lái),混沌學(xué)理論的研究給在這一方向產(chǎn)生突破帶來(lái)了曙光。此外,充滿(mǎn)生氣的量子密碼被認(rèn)為是一個(gè)潛在的發(fā)展方向,因?yàn)樗腔诠鈱W(xué)和量子力學(xué)理論的。該理論對(duì)于在光纖通信中加強(qiáng)信息安全、對(duì)付擁有量子計(jì)算能力的破譯無(wú)疑是一種理想的解決方法。 保密與竊密就像矛與盾一樣形影相隨,它們之間的斗爭(zhēng)已經(jīng)持續(xù)了幾千年,任何一種新的密碼技術(shù)的出現(xiàn),必然會(huì)有相應(yīng)的解密方法。當(dāng)然,或許隨著科技的進(jìn)一步發(fā)展,通過(guò)在密碼算法設(shè)計(jì)的新思路、信息保護(hù)的新思路等方面的突破,未來(lái)的加密技術(shù)將成為這場(chǎng)斗爭(zhēng)的終結(jié)者。

68 3.3 密鑰管理 密鑰管理技術(shù)主要處理密鑰從產(chǎn)生到最終銷(xiāo)毀整個(gè)過(guò)程中的有關(guān)問(wèn)題,包括密鑰的產(chǎn)生、存儲(chǔ)、裝入、分配、保護(hù)、丟失、銷(xiāo)毀等內(nèi)容,它的主要任務(wù)是保證在公用數(shù)據(jù)網(wǎng)上安全地傳遞密鑰而不被竊取。 密鑰是密碼系統(tǒng)中的可變部分?,F(xiàn)代密碼體制要求加密算法是可以公開(kāi)評(píng)估的,這個(gè)密碼系統(tǒng)的安全性并不取決于對(duì)密碼算法的保密或者是對(duì)加密設(shè)備等的保護(hù),盡管這樣有利于提高整個(gè)密碼系統(tǒng)的安全程度,但這種提高只是相對(duì)而言的)。這時(shí),決定這個(gè)密碼體制安全性的因素將是密鑰的保密性;密碼算法可以公開(kāi),密碼設(shè)備可以丟失,但它們都不危及密碼體制的安全性;但一旦密鑰丟失,攻擊者將會(huì)有可能竊取信息。在考慮密碼系統(tǒng)的設(shè)計(jì)時(shí),需要解決的核心問(wèn)題是密鑰管理問(wèn)題,而不是密碼算法問(wèn)題。

69 3.3.1 密鑰管理基礎(chǔ)知識(shí) Ⅰ 密鑰管理的要求 密鑰管理是一門(mén)綜合性技術(shù),它除了技術(shù)性的因素之外,還與人的因素,例如密鑰的行政管理制度以及人員的素質(zhì)密切相關(guān)。管理不好,密鑰同樣可能被無(wú)意識(shí)地泄露,并不是有了密鑰就高枕無(wú)憂(yōu),任何保密也只是相對(duì)的,是有時(shí)效的。 為此,對(duì)密鑰管理系統(tǒng)一般有以下具體要求: (1)密鑰難以被非法竊??; (2)在一定條件下即使竊取了密鑰也沒(méi)用; (3)密鑰的分配和更換過(guò)程在用戶(hù)看來(lái)是透明的,用戶(hù)不一定要親自掌握密鑰。 從管理角度來(lái)說(shuō),密鑰管理的基本要求是: (1)脫離密碼設(shè)備的密鑰數(shù)據(jù)應(yīng)絕對(duì)保密; (2)密碼設(shè)備內(nèi)部的密鑰數(shù)據(jù)絕對(duì)不外泄,一旦發(fā)現(xiàn)有攻擊跡象,應(yīng)立即銷(xiāo)毀密鑰數(shù)據(jù); (3)密鑰使命完成,應(yīng)徹底銷(xiāo)毀、更換。

70 Ⅱ 密鑰管理的組織結(jié)構(gòu) 適應(yīng)于對(duì)密鑰管理系統(tǒng)的要求,現(xiàn)有的計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)與數(shù)據(jù)庫(kù)系統(tǒng)的密鑰管理的設(shè)計(jì)大都采用了層次化的密鑰結(jié)構(gòu)。
Ⅱ 密鑰管理的組織結(jié)構(gòu) 適應(yīng)于對(duì)密鑰管理系統(tǒng)的要求,現(xiàn)有的計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)與數(shù)據(jù)庫(kù)系統(tǒng)的密鑰管理的設(shè)計(jì)大都采用了層次化的密鑰結(jié)構(gòu)。 層次化的密鑰結(jié)構(gòu)與整個(gè)系統(tǒng)的密鑰控制關(guān)系是對(duì)應(yīng)的。按照密鑰的作用與類(lèi)型及它們之間的相互控制關(guān)系,可以將不同類(lèi)型的密鑰劃分為一級(jí)密鑰、二級(jí)密鑰、……、n級(jí)密鑰,從而組成一個(gè)n層密鑰系統(tǒng),如圖3.9所示: 其中,系統(tǒng)使用一級(jí)密鑰K1通過(guò)算法f1保護(hù)二級(jí)密鑰(一級(jí)密鑰使用物理方法或者其他的方法進(jìn)行保護(hù)),使用二級(jí)密鑰通過(guò)算法f2保護(hù)三級(jí)密鑰,以此類(lèi)推,直到最后使用n級(jí)密鑰通過(guò)算法fn保護(hù)明文P。隨著加密過(guò)程的進(jìn)行,各層密鑰的內(nèi)容動(dòng)態(tài)變化,而這種變化的規(guī)則由相應(yīng)層次的密鑰協(xié)議控制。

71 最底層的密鑰Kn也稱(chēng)為工作密鑰,或稱(chēng)數(shù)據(jù)加密密鑰,它直接用于對(duì)明文數(shù)據(jù)的加、解密;所有上層密鑰可稱(chēng)為密鑰加密密鑰,它們用于保護(hù)數(shù)據(jù)加密密鑰或者其他低層的密鑰加密密鑰;最高層的密鑰K1也叫做主密鑰,一般來(lái)說(shuō),主密鑰是整個(gè)密鑰管理系統(tǒng)的核心,應(yīng)采用最保險(xiǎn)的方式來(lái)進(jìn)行保護(hù)。 平時(shí),數(shù)據(jù)加密密鑰(工作密鑰)并不存在,在進(jìn)行數(shù)據(jù)的加、解密時(shí),數(shù)據(jù)加密密鑰將在上層密鑰的保護(hù)下動(dòng)態(tài)地產(chǎn)生;數(shù)據(jù)加密密鑰在使用完畢后,將立即清除,不再以明的形式出現(xiàn)在密碼系統(tǒng)中。 通常,我們可以以相對(duì)的概念來(lái)理解層次化的密鑰結(jié)構(gòu);某一層密鑰Ki相對(duì)于更高層的密鑰Ki-1是工作密鑰,而相對(duì)于低一層的密鑰Ki+1是密鑰加密密鑰。 層次化的密鑰結(jié)構(gòu)意味著以密鑰來(lái)保護(hù)密鑰,這樣,大量的數(shù)據(jù)可以通過(guò)少量動(dòng)態(tài)產(chǎn)生的數(shù)據(jù)加密密鑰(工作密鑰)進(jìn)行保護(hù),而數(shù)據(jù)加密密鑰又可以由更少量的、相對(duì)不變(使用期較長(zhǎng))的密鑰加密密鑰來(lái)保護(hù),依此類(lèi)推,最后,第二層的密鑰加密密鑰可以由主密鑰進(jìn)行保護(hù),從而保證了除了主密鑰可以以明文的形式存儲(chǔ)在有嚴(yán)密物理保護(hù)的主機(jī)密碼器件中,其它密碼則以加密后的密文形式存儲(chǔ),這樣,使密鑰的安全性大大提高,也為密鑰管理自動(dòng)化帶來(lái)了方便。

72 Ⅱ 密鑰的種類(lèi) 密鑰分為數(shù)據(jù)加密密鑰(作用于明文數(shù)據(jù)對(duì)象)和密鑰加密密鑰(作用于數(shù)據(jù)加密密鑰及其它密鑰加密密鑰對(duì)象)。從具體的功能角度來(lái)看,在一般的密碼系統(tǒng)中有以下幾種密鑰: (1)基本密鑰(base key) (2)會(huì)話(huà)密鑰(session key) (3)密鑰加密密鑰(key encrypting key) (4)主機(jī)主密鑰(host master key)

73 (1)基本密鑰(base key) 基本密鑰也稱(chēng)為初始密鑰(primary key),是由用戶(hù)選定或由系統(tǒng)分配給用戶(hù)的、可在較長(zhǎng)時(shí)間內(nèi)(相對(duì)于會(huì)話(huà)密鑰)由一對(duì)用戶(hù)(例如密鑰分配中心與某一用戶(hù)之間,或兩個(gè)用戶(hù)之間)所專(zhuān)用的秘密密鑰。在某種程度上,基本密鑰還起到了標(biāo)識(shí)用戶(hù)的作用?;久荑€也可以稱(chēng)為用戶(hù)密鑰(user key)。 (2)會(huì)話(huà)密鑰(session key) 會(huì)話(huà)密鑰是在一次通信或數(shù)據(jù)交換中,用戶(hù)之間所使用的密鑰。會(huì)話(huà)密鑰可由通信用戶(hù)之間進(jìn)行協(xié)商得到。它一般是動(dòng)態(tài)地、僅在需要進(jìn)行會(huì)話(huà)數(shù)據(jù)加密時(shí)產(chǎn)生,并在使用完畢后立即進(jìn)行清除掉的(當(dāng)然也可以由用戶(hù)雙方進(jìn)行預(yù)先約定)。 會(huì)話(huà)密鑰可以使我們不必太頻繁地更改基本密鑰,而通過(guò)密鑰分配或密鑰協(xié)商的方法得到某次數(shù)據(jù)通信所使用的數(shù)據(jù)加密密鑰,這樣我們可以做到一報(bào)一密,從而大大提高通信的安全性,并方便密鑰的管理。 (3)密鑰加密密鑰(key encrypting key) 密鑰加密密鑰一般是用來(lái)對(duì)傳送的會(huì)話(huà)密鑰或文件秘密密鑰進(jìn)行加密時(shí)所采用的密鑰,也可以稱(chēng)為二級(jí)密鑰。密鑰加密密鑰所保護(hù)的對(duì)象是實(shí)際用來(lái)保護(hù)通信或文件數(shù)據(jù)的會(huì)話(huà)密鑰或文件加密密鑰。在通信網(wǎng)中,一般在每個(gè)節(jié)點(diǎn)都分配有一個(gè)這類(lèi)密鑰,同時(shí),為了安全,各節(jié)點(diǎn)的密鑰加密密鑰應(yīng)互不相同。節(jié)點(diǎn)之間進(jìn)行密鑰協(xié)商時(shí),應(yīng)使用各節(jié)點(diǎn)的密鑰加密密鑰進(jìn)行。 (4)主機(jī)主密鑰(host master key) 主機(jī)主密鑰對(duì)應(yīng)于層次化密鑰結(jié)構(gòu)中的最高層次,它是對(duì)密鑰加密密鑰進(jìn)行加密的密鑰。因此,主機(jī)主密鑰應(yīng)受到嚴(yán)格的保護(hù)。

74 密鑰生成 密鑰生成是密鑰管理的基本要件,對(duì)于一個(gè)密碼體制,如何產(chǎn)生好的密鑰是很關(guān)鍵的,密鑰選擇不當(dāng),即使算法再?gòu)?qiáng),其安全性也是不敢恭維的。例如,以DES作為說(shuō)明,如果我們只使用英文字母(包括大小寫(xiě))與數(shù)字作為密鑰,則可能的密鑰(即密鑰空間的大?。┲挥?.2×1014個(gè)。它僅僅是原來(lái)DES可能的密鑰空間的三百多分之一,這樣對(duì)于窮舉攻擊是很有利的。 那么,什么樣的密鑰才叫做安全?怎樣產(chǎn)生安全的密鑰?下面將逐一為你描述。

75 Ⅰ 安全密鑰產(chǎn)生的幾個(gè)特性 密鑰產(chǎn)生方式可由人工生成,也可由機(jī)器自動(dòng)生成,不管怎樣,產(chǎn)生的密鑰必須滿(mǎn)足偽隨機(jī)特性的統(tǒng)計(jì)檢驗(yàn)。一般我們把滿(mǎn)足下面幾個(gè)條件的密鑰稱(chēng)為比較安全的密鑰: 真正隨機(jī)等概,如采取扔色子、擲硬幣等取法; 避免弱密碼的應(yīng)用(主要是單鑰系統(tǒng)); 雙鑰系統(tǒng)應(yīng)選擇數(shù)學(xué)關(guān)系巧、難的方法產(chǎn)生密鑰; 選用長(zhǎng)度適中、安全易記且難猜中的密鑰; 適當(dāng)采用雜湊技術(shù),能將長(zhǎng)密鑰變換成偽隨機(jī)數(shù)串(64bit)。

76 Ⅱ 密鑰長(zhǎng)短安全性 密碼系統(tǒng)的安全性主要依賴(lài)于密鑰,而不僅僅依賴(lài)于算法的強(qiáng)壯度。選擇密鑰長(zhǎng)度既不能太長(zhǎng)也不能太短。原因很簡(jiǎn)單,一旦選擇過(guò)長(zhǎng),必須為密鑰變長(zhǎng)付出所需計(jì)算時(shí)間的代價(jià)。如果選擇太短,又?jǐn)巢贿^(guò)窮舉搜索等攻擊。表3.10給出了不同對(duì)象空間的密鑰數(shù)和對(duì)應(yīng)的窮舉搜索時(shí)間(假設(shè)每秒測(cè)試一百萬(wàn)次)。 按照現(xiàn)在計(jì)算機(jī)發(fā)展的速度和計(jì)算能力分析,每2~3年左右,窮舉搜索能力也將要翻一番。因此在通行字之類(lèi)密碼中,特別是口令密碼,應(yīng)盡量避免遭受字典式攻擊(dictionary attack),如本人名、首字母、帳戶(hù)名、數(shù)據(jù)庫(kù)縮寫(xiě)名等作口令極易受攻擊。

77 Ⅲ 密鑰產(chǎn)生方式 主機(jī)主密鑰。屬控制其它加密密鑰的密鑰,對(duì)應(yīng)于層次化密鑰結(jié)構(gòu)中的最高層次,一般它的密鑰量很小,但作為整個(gè)密碼系統(tǒng)的核心,應(yīng)保證完全隨機(jī)性、不可重復(fù)性和不可預(yù)測(cè)性。故宜用擲硬幣、噪聲產(chǎn)生器等方法產(chǎn)生。 密鑰加密密鑰??捎蓹C(jī)器自動(dòng)產(chǎn)生或由操作員選定。一般可用安全算法、偽隨機(jī)數(shù)產(chǎn)生器、電子學(xué)噪聲源等產(chǎn)生。典型的有在主機(jī)主密鑰控制下,由X9.17安全算法(美國(guó)國(guó)家標(biāo)準(zhǔn)協(xié)會(huì)ANSI采用)生成。 會(huì)話(huà)密鑰、工作密鑰。在密鑰加密密鑰的控制下,通過(guò)某種安全算法動(dòng)態(tài)產(chǎn)生。例如用初始密鑰控制非線性移位寄存器,或用密鑰加密密鑰控制DES算法產(chǎn)生。

78 密鑰分配 要使常規(guī)加密有效進(jìn)行,信息交互的雙方必須共享同一個(gè)密鑰,并且這個(gè)密鑰還要防止被其他人獲得。另外我們還希望密鑰經(jīng)常更換,以便在攻擊者知道密鑰的情況下使得泄露的數(shù)據(jù)量有個(gè)限制。因此,任何一個(gè)密碼編碼系統(tǒng)的強(qiáng)度都依賴(lài)于密鑰分配技術(shù)。 密鑰分配技術(shù)是在不讓其他人看到密鑰的情況下將一個(gè)密鑰傳遞給希望交換數(shù)據(jù)的雙方的方法。下面我們簡(jiǎn)單介紹些關(guān)于密鑰分配的基本知識(shí)。

79 Ⅰ 密鑰分配基本方法 例如有兩個(gè)用戶(hù)A和B,想獲得共享密鑰的方法有以下幾種: 1、密鑰由A選取并通過(guò)物理手段發(fā)送給B。
Ⅰ 密鑰分配基本方法 例如有兩個(gè)用戶(hù)A和B,想獲得共享密鑰的方法有以下幾種: 1、密鑰由A選取并通過(guò)物理手段發(fā)送給B。 這是最簡(jiǎn)單的一種密鑰分配方案。 2、密鑰由第三方選取并通過(guò)物理手段發(fā)送給A和B。 在通信網(wǎng)中,若只有個(gè)別用戶(hù)想進(jìn)行保密通信,密鑰的人工發(fā)送還是可行的。但假設(shè)在某機(jī)構(gòu)中有100個(gè)人,如果他們?nèi)我鈨扇酥g可以進(jìn)行秘密對(duì)話(huà),那么總共需要多少=4950個(gè)密鑰,每個(gè)人需要知道99個(gè)密鑰;如果機(jī)構(gòu)的人數(shù)是1000、10000人或更多,這種辦法就顯然過(guò)于愚蠢了,管理密鑰將是一件可怕的事情。 3、如果A和B事先已有一密鑰,則其中一方選取新密鑰后,用已有的密鑰加密新密鑰并發(fā)送給另一方。 對(duì)于這種方法,攻擊者一旦獲得一個(gè)密鑰就可獲取以后的密鑰,而且用這種方法對(duì)所有用戶(hù)分配初始密鑰時(shí),代價(jià)仍然很大。 4、如果A和B與第三方C分別有一保密通道,則C為A和B選取密鑰后,分別在兩個(gè)保密信道上發(fā)送給A和B。 這種方法比較常用,其中的第三方通常是一個(gè)負(fù)責(zé)為用戶(hù)分配密鑰的密鑰分配中心。這時(shí)每一用戶(hù)必須和密鑰分配中心有一個(gè)共享密鑰,稱(chēng)為主密鑰。通過(guò)主密鑰分配給一對(duì)用戶(hù)的密鑰稱(chēng)為會(huì)話(huà)密鑰,用于這一對(duì)用戶(hù)之間的保密通信。通信完成后,會(huì)話(huà)密鑰既被銷(xiāo)毀。如上所述,如果用戶(hù)數(shù)為n,則會(huì)話(huà)密鑰數(shù)為個(gè),但主密鑰數(shù)卻只需n個(gè),所以主密鑰可通過(guò)物理手段發(fā)送。

80 一種典型的分配方案如圖3.10所示:

81 假設(shè)用戶(hù)A希望與用戶(hù)B建立一個(gè)邏輯連接,并且需要一次性的會(huì)話(huà)密鑰來(lái)保護(hù)經(jīng)過(guò)這個(gè)連接傳輸?shù)臄?shù)據(jù)。A和B都與密鑰分配中心KDC(key distribution center)有一個(gè)共享的主密鑰KA和KB。密鑰分配步驟如下: 1、A向KDC發(fā)出請(qǐng)求,要求得到一個(gè)用來(lái)保護(hù)他與B之間邏輯連接的會(huì)話(huà)密鑰。這個(gè)報(bào)文包括A和B的標(biāo)識(shí)以及一個(gè)對(duì)于這次交互而言的唯一的標(biāo)識(shí)符N1,N1為一次性隨機(jī)數(shù),也叫作現(xiàn)時(shí),它可以是一個(gè)時(shí)間戳、一個(gè)計(jì)數(shù)器或者一個(gè)隨機(jī)數(shù),對(duì)它的最低要求是它在每個(gè)請(qǐng)求中是不同的。另外,為了防止冒充,應(yīng)使敵手對(duì)N1難以預(yù)測(cè),因此用隨機(jī)數(shù)最為合適。 2、KDC用一個(gè)經(jīng)過(guò)KA加密的報(bào)文作為響應(yīng)。因而,A是唯一可以成功收到這個(gè)報(bào)文的實(shí)體,而且A知道這個(gè)報(bào)文來(lái)自KDC。這個(gè)報(bào)文包含給A的兩項(xiàng)內(nèi)容: 用于會(huì)話(huà)的一次性密鑰KS。 原來(lái)的請(qǐng)求報(bào)文,包括一次性隨機(jī)數(shù)N1,以便使A將收到的應(yīng)答與發(fā)出的請(qǐng)求相比較,看是否匹配。 因而,A可以證實(shí)它原來(lái)的請(qǐng)求在KDC收到之前沒(méi)有被篡改,并且這不是一個(gè)以前請(qǐng)求的重放。 另外,這個(gè)報(bào)文還包括給B的兩項(xiàng)內(nèi)容: 用于會(huì)話(huà)的一次性密鑰Ks。 A的標(biāo)識(shí)符(例如他的網(wǎng)絡(luò)地址)IDa。 這兩項(xiàng)內(nèi)容是用KB進(jìn)行加密的,它們被發(fā)送到B來(lái)建立連接并證實(shí)A的身份。

82 3、A把會(huì)話(huà)密鑰存儲(chǔ)起來(lái)以便用于后續(xù)的會(huì)話(huà),并將KDC發(fā)送給B的信息即EKB[KS||IDA]轉(zhuǎn)發(fā)給B。因?yàn)檫@個(gè)信息是用Kb加密的,它對(duì)竊聽(tīng)有了防護(hù)。B現(xiàn)在知道了會(huì)話(huà)密鑰(Ks),知道了通信的另一方是A(從IDa得知),并且知道了信息是從KDC發(fā)出的(因?yàn)樗怯肊kb加密的)。 這時(shí)一個(gè)會(huì)話(huà)密鑰就安全地傳送給了A和B,他們就可以開(kāi)始受到保護(hù)的信息交互了。然而還有兩個(gè)步驟是必要的: 4、B使用為加密新造的會(huì)話(huà)密鑰發(fā)送一個(gè)一次性隨機(jī)數(shù)N2給A。 5、A也使用KS響應(yīng)一個(gè)f(N2),其中f是一個(gè)對(duì)N2進(jìn)行某種變換的函數(shù)(例如加1)。 這些步驟使得B確信它原來(lái)所收到(步驟3)的報(bào)文不是一個(gè)重放。 注意實(shí)際的密鑰分配過(guò)程只涉及步驟1到3,而步驟4和5結(jié)合3完成的是鑒別功能。

83 Ⅱ 公開(kāi)密鑰分發(fā) 公開(kāi)密鑰分發(fā),顧名思義,就是公鑰系統(tǒng)中的加密公開(kāi)密鑰是公開(kāi)的,它通過(guò)各種公開(kāi)的手段和方式,或由公開(kāi)權(quán)威機(jī)構(gòu)實(shí)現(xiàn)公開(kāi)密鑰分發(fā)和傳送。 公開(kāi)密鑰分發(fā)有下列幾種形式: 1、公開(kāi)宣布 2、公布可以得到的目錄 3、公開(kāi)密鑰機(jī)構(gòu)分發(fā) 4、公開(kāi)密鑰證書(shū)分發(fā)

84 1、公開(kāi)宣布 依據(jù)被廣泛接受的公開(kāi)密鑰算法(如RSA),參與者可將其公開(kāi)密鑰發(fā)送給他人,或通過(guò)廣播式在整個(gè)通信社區(qū)公布公開(kāi)密鑰。比如郵件加密的PGP用戶(hù)可在消息后面附上公開(kāi)密鑰信息,并將其送到公開(kāi)論壇USENET新聞組上公布。 這個(gè)方法很方便,但是易受假冒用戶(hù)攻擊,必須對(duì)偽造密鑰進(jìn)行鑒別。

85 2、公布可以得到的目錄 由一個(gè)可信實(shí)體或組織負(fù)責(zé)一個(gè)公開(kāi)密鑰的公開(kāi)目錄的維護(hù)和分發(fā)??尚艡C(jī)構(gòu)與參與者之間建立一條{用戶(hù)名·公開(kāi)密鑰}條目。參與者可通過(guò)正常或可信渠道到目錄權(quán)威機(jī)構(gòu)登記公開(kāi)密鑰。允許參與者隨時(shí)更改一個(gè)已有的密鑰(如公鑰使用太長(zhǎng),或公鑰已泄密),目錄權(quán)威機(jī)構(gòu)可周期性地公布整個(gè)目錄,或?qū)δ夸涍M(jìn)行刷新,參與者也可以電子方式訪問(wèn)這個(gè)目錄。為安全起見(jiàn),參與者與權(quán)威機(jī)構(gòu)的通信安全受鑒別保護(hù)。 這個(gè)方法的安全性顯然強(qiáng)于公開(kāi)宣布,但是也易受冒充權(quán)威機(jī)構(gòu)偽造公開(kāi)密鑰的攻擊。

86 3、公開(kāi)密鑰機(jī)構(gòu)分發(fā) 由專(zhuān)門(mén)機(jī)構(gòu)授權(quán),用來(lái)負(fù)責(zé)管理公開(kāi)密鑰的公開(kāi)目錄分發(fā)的一個(gè)中心權(quán)威機(jī)構(gòu)可信實(shí)體或組織,并負(fù)責(zé)維護(hù)一個(gè)所有參與者登記在冊(cè)的公開(kāi)密鑰信息的公開(kāi)動(dòng)態(tài)目錄,使公開(kāi)密鑰的分發(fā)達(dá)到更高的安全強(qiáng)度。當(dāng)然,每個(gè)參與者都有一種可信渠道知曉權(quán)威機(jī)構(gòu)的公開(kāi)密鑰,而其對(duì)應(yīng)的私鑰只能由機(jī)構(gòu)本身秘密擁有。這種公開(kāi)密鑰分發(fā)方案主要用于A和B雙方在進(jìn)行通信時(shí),需要了解對(duì)方的公開(kāi)密鑰信息。一方向公開(kāi)密鑰機(jī)構(gòu)要求分發(fā)另一方的公開(kāi)密鑰,用雙方的公開(kāi)密鑰進(jìn)行信息加密傳送給對(duì)方。這時(shí)為安全起見(jiàn),主要通過(guò)時(shí)戳等技術(shù)加以保護(hù)和判別。公開(kāi)密鑰機(jī)構(gòu)分發(fā)方式同樣存在真實(shí)性和鑒別問(wèn)題。

87 4、公開(kāi)密鑰證書(shū)分發(fā) 公開(kāi)密鑰證書(shū)方法是由Kohnfelder[KOHN78]首先提出的,目的是用戶(hù)使用證書(shū)交換公開(kāi)密鑰,無(wú)需與權(quán)威機(jī)構(gòu)聯(lián)系,也能達(dá)到類(lèi)似直接從權(quán)威目錄機(jī)構(gòu)獲取公開(kāi)密鑰方法的安全性?;咀鞣ㄊ牵鹤C書(shū)由可信證書(shū)中心生成,內(nèi)容包含用戶(hù)公開(kāi)密鑰、對(duì)應(yīng)的私有密鑰及相關(guān)信息。參與者通過(guò)將相應(yīng)證書(shū)傳送給另一個(gè)參與者而達(dá)到傳送公鑰信息的目的。其他參與者可以驗(yàn)證此證書(shū)是否由權(quán)威機(jī)構(gòu)簽發(fā)。該方案的特點(diǎn)是: (1)每個(gè)參與者都可解析證書(shū),以獲悉證書(shū)持有者名和公鑰信息; (2)每個(gè)參與者均可驗(yàn)證一個(gè)證書(shū)是否由權(quán)威機(jī)構(gòu)簽發(fā)的真實(shí)性; (3)只有權(quán)威機(jī)構(gòu)能夠簽發(fā)和更新合法的證書(shū); (4)每個(gè)參與者都能驗(yàn)證證書(shū)的適時(shí)性。 其中(1)~(3)在Kohnfelder[KOHN78]中提到,(4)在Denning[DENN83]中提到。

88 Ⅲ 秘密密鑰分發(fā) 公開(kāi)密鑰分發(fā)一方面易受搭線攻擊,另一方面加解密速度偏慢,因此,比較合理的做法是將公開(kāi)密鑰加密當(dāng)作一個(gè)分配常規(guī)加密所用的秘密密鑰的工具。

89 1、簡(jiǎn)單的秘密密鑰分配 一個(gè)極端簡(jiǎn)單的方案如圖3.13所示: 如果A希望和B通信,就使用如下步驟:
(1)A產(chǎn)生一個(gè)私有/公開(kāi)密鑰對(duì){KUa,KRa}并給B傳輸一個(gè)報(bào)文,其中包含KUa和A 的一個(gè)標(biāo)識(shí)符IDA。 (2)B產(chǎn)生一個(gè)秘密密鑰KS,并將其用A的公開(kāi)密鑰加密后傳輸給A。 (3)A計(jì)算DKRa[EKUa[KS]]來(lái)恢復(fù)這個(gè)秘密密鑰。因?yàn)橹挥蠥可以解密這個(gè)報(bào)文,所以只有A和B才會(huì)知道KS。 (4)A棄用KUa和KRa,B棄用KUa。 A和B現(xiàn)在就可以使用常規(guī)加密和會(huì)話(huà)密鑰KS進(jìn)行安全通信。信息交互完成以后,A和B都丟棄KS。盡管這個(gè)協(xié)議很簡(jiǎn)單,但它卻是一個(gè)吸引人的協(xié)議。在通信之前不存在密鑰,而在通信完成以后也不存在密鑰,因而密鑰泄露的危險(xiǎn)被減小到最低程度。同時(shí),對(duì)于竊聽(tīng)而言,通信是安全的。

90 但是這個(gè)協(xié)議容易受到主動(dòng)攻擊。如果一個(gè)敵對(duì)方E控制了中間的通信信道,那么E就可以用下列方式破壞通信而不被發(fā)覺(jué):
(1)A產(chǎn)生一個(gè)私有/公開(kāi)密鑰對(duì){KUa,KRa}并給B傳輸一個(gè)報(bào)文,其中包含KUa和A 的一個(gè)標(biāo)識(shí)符IDA。 (2)E截獲了這個(gè)報(bào)文,創(chuàng)建自己的私有/公開(kāi)密鑰對(duì){KUe,KRe},并將KUe||IDA傳輸給B。 (3)B產(chǎn)生一個(gè)秘密密鑰KS并傳輸EKUe[KS]。 (4)E截獲這個(gè)報(bào)文并通過(guò)計(jì)算DKRe[EKUe[KS]]得知KS。 (5)E傳輸EKUa[KS]給A。 結(jié)果是A和B都得到了KS,并且不知道KS也被E獲知。A和B現(xiàn)在可以使用KS進(jìn)行信息交互,E不再主動(dòng)干預(yù)通信信道而只是簡(jiǎn)單地竊聽(tīng)。因?yàn)橹懒薑S,E可以解密所有的報(bào)文,而A和B都不知道有這個(gè)漏洞存在。因而這個(gè)簡(jiǎn)單的協(xié)議僅僅在只存在竊聽(tīng)的信道環(huán)境中可以使用。

91 2、具有保密和鑒別能力的秘密密鑰分配 圖3.14提供了對(duì)于被動(dòng)和主動(dòng)兩種攻擊的防護(hù)。
我們的出發(fā)點(diǎn)是假定A和B已經(jīng)交換了公開(kāi)密鑰,接下來(lái)進(jìn)行的步驟是: (1)A使用B的公開(kāi)密鑰加密一個(gè)發(fā)給B的報(bào)文,這個(gè)報(bào)文包含一個(gè)A的標(biāo)識(shí)符IDA和一個(gè)現(xiàn)時(shí)N1,這個(gè)現(xiàn)時(shí)用來(lái)唯一地標(biāo)識(shí)這次交互。 (2)B給A發(fā)送一個(gè)用KUa加密的報(bào)文,其中包含A的現(xiàn)時(shí)N1以及一個(gè)B產(chǎn)生的新現(xiàn)時(shí)N2。因?yàn)橹挥蠦才可能解密報(bào)文(1)、報(bào)文(2)中N1的存在使得A確信對(duì)方是B。 (3)A返回一個(gè)用B的公開(kāi)密鑰加密的N2以便使B確信它的對(duì)方是A。 (4)A選擇一個(gè)秘密密鑰KS并發(fā)送M=EKUb[EKRa[KS]]給B。對(duì)這個(gè)報(bào)文用B的公開(kāi)密鑰加密保證了只有B能夠解讀它;用A的私有密鑰進(jìn)行加密保證只有A才能發(fā)送它。 (5)B計(jì)算DKUa[DKRb[M]]恢復(fù)秘密密鑰。 這個(gè)方案在秘密密鑰的交互中保證了保密性和鑒別。

92 密鑰托管 任何東西都具有兩面性,加密技術(shù)也不例外:一方面可為用戶(hù)提供正常保密保護(hù);另一方面也為竊密分子提供犯罪掩護(hù),給監(jiān)管帶來(lái)了困難。那么如何控制加密技術(shù)的使用,使得一方面政府機(jī)構(gòu)在需要時(shí),可通過(guò)適當(dāng)?shù)某绦颍绶ㄔ鹤C書(shū),解密用戶(hù)的信息;另一方面,當(dāng)用戶(hù)的密鑰丟失或損壞,也可通過(guò)該技術(shù)恢復(fù)自己的密鑰呢? 這就要用到密鑰托管技術(shù),下面我們簡(jiǎn)單介紹些關(guān)于它的基本知識(shí)。

93 Ⅰ 密鑰托管基本含義 1993年4月16日,美國(guó)政府為了滿(mǎn)足其電信安全、公眾安全和國(guó)家安全,提出了托管加密標(biāo)準(zhǔn)EES(escorowed encryption standard),又稱(chēng)Clipper建議,解決了加密技術(shù)兩面性的需求:不僅提供強(qiáng)加密功能,也為政府機(jī)構(gòu)提供了實(shí)施法律授權(quán)下的監(jiān)聽(tīng)功能。EES標(biāo)準(zhǔn)于1994年2月正式被美國(guó)政府公布采用。 所謂密鑰托管技術(shù),指為用戶(hù)提供更好的安全通信方式,同時(shí)允許授權(quán)者(包括用戶(hù)、企業(yè)專(zhuān)門(mén)人員、政府保密部門(mén)等)為了國(guó)家等安全利益,監(jiān)聽(tīng)某些通信和解密有關(guān)密文。所以,密鑰托管也叫“密鑰恢復(fù)”,或者延伸為“受信任的第三方”、“數(shù)據(jù)恢復(fù)”、“特殊獲取”等含義。 密鑰托管技術(shù)的核心是一個(gè)稱(chēng)為Clipper的防竄擾芯片,它是由美國(guó)國(guó)家安全局(NSA)主持開(kāi)發(fā)的軟件實(shí)現(xiàn)密碼部件。內(nèi)部利用skipjack的私鑰密碼算法,芯片的單元密碼(UK)由兩個(gè)稱(chēng)之為Escrow的機(jī)構(gòu)聯(lián)合提供。 美國(guó)政府的EES標(biāo)準(zhǔn)公布之后,在社會(huì)上引起了很大的爭(zhēng)議,但出于商業(yè)利益的動(dòng)機(jī),不少公司紛紛推出自己的密鑰托管系統(tǒng),常用的有幾十種不同功能的密鑰托管技術(shù)。

94 Ⅱ 密鑰托管系統(tǒng)的組成 密鑰托管加密體制主要由三部分組成:用戶(hù)安全分量、密鑰托管分量和數(shù)據(jù)恢復(fù)分量。三者緊密聯(lián)系,相互制約。圖3.15給出了密鑰托管加密系統(tǒng)示意圖。

95 1、用戶(hù)安全分量(User Security Component,簡(jiǎn)稱(chēng)USC)
用戶(hù)安全分量由硬件設(shè)備或軟件程序構(gòu)成,用于數(shù)據(jù)加密和解密,支持密鑰托管功能和數(shù)恢復(fù)作用。其中DRF可看作是通用密鑰分配機(jī)制的組成部分。 USC具有密鑰托管功能是指:法律允許的授權(quán)機(jī)構(gòu)可采用應(yīng)急解密措施介入通信,如搭線竊聽(tīng),數(shù)據(jù)擁有者也可以使用應(yīng)急解密措施恢復(fù)丟失或損壞的密鑰,以及解密有關(guān)數(shù)據(jù)文件。 2、密鑰托管分量(Key Escorw Component簡(jiǎn)稱(chēng),KEC) 密鑰托管分量主要由密鑰托管代理、數(shù)據(jù)恢復(fù)密鑰、數(shù)據(jù)恢復(fù)業(yè)務(wù)和托管密鑰防護(hù)四部分組成。主要完成密鑰托管代理操作,數(shù)據(jù)恢復(fù)的密鑰存儲(chǔ)、披露和使用,以及其他部分業(yè)務(wù)服務(wù)。 (1)密鑰托管代理。有時(shí)也稱(chēng)為可信賴(lài)方,負(fù)責(zé)KEC的操作。托管代理要在托管中心注冊(cè),亦可為USC和DRC的聯(lián)合機(jī)構(gòu)。托管代理可為政府實(shí)體或私人組織的實(shí)體,各自履行代理職責(zé),包括保證識(shí)別出那些不支持?jǐn)?shù)據(jù)恢復(fù)或把密鑰批露給非授權(quán)方,以及非法批露密鑰的托管代理。托管代理的安全性就是要做到防止托管密鑰泄露、丟失以及授權(quán)的濫用能力等。

96 (2)數(shù)據(jù)恢復(fù)密鑰。作用是保證采用托管加密后,所有加密數(shù)據(jù)均能與數(shù)據(jù)恢復(fù)密鑰相連,以備必要時(shí)數(shù)據(jù)恢復(fù)使用。數(shù)據(jù)恢復(fù)密鑰種類(lèi)可分為:A、數(shù)據(jù)加密密鑰(如會(huì)話(huà)密鑰、網(wǎng)絡(luò)密鑰、文件密鑰等,密鑰由KEC中心分發(fā))。B、用戶(hù)密鑰,用于建立數(shù)據(jù)加密密鑰,可由KEC分發(fā)。C、主密鑰,可由多個(gè)USC共享,直接與KEC相關(guān)。D、產(chǎn)品密鑰,屬于USC專(zhuān)有。所有數(shù)據(jù)恢復(fù)密鑰的托管時(shí)機(jī)可在產(chǎn)品制作或初始化階段,以及用戶(hù)注冊(cè)期間進(jìn)行。 (3)數(shù)據(jù)恢復(fù)業(yè)務(wù)。包括向DRC披露信息、授權(quán)指導(dǎo)業(yè)務(wù),如建立身份證明和獲取接入已加密數(shù)據(jù)的合法授權(quán)證明。提供業(yè)務(wù)選擇方式有:A、披露數(shù)據(jù)恢復(fù)密鑰;B、披露派生密鑰;C、解密密鑰;D、實(shí)現(xiàn)門(mén)限解密等內(nèi)容。這些業(yè)務(wù)可用人工后自動(dòng)地將數(shù)據(jù)傳入或傳出后DRC。 (4)托管密鑰保護(hù)。用來(lái)防止密鑰泄露或丟失,集成各種技術(shù)保護(hù)、操作保護(hù)和法律保護(hù)等。 3、數(shù)據(jù)恢復(fù)分量(Date Recovery Component,簡(jiǎn)稱(chēng)DRC) DRC主要由專(zhuān)用算法、協(xié)議和必要的設(shè)備組成,能夠從密文和KEC所提供的,包含于DRC的信息中恢復(fù)出明文。DRC的功能主要由:適時(shí)解密,能實(shí)時(shí)解密截獲信息;后處理,可解密以前截獲和記錄的通信;透明性,非各方知識(shí)參與也可解密;獨(dú)立性,一旦獲得密鑰,利用自己的資源就能解密。但是,只有在執(zhí)行規(guī)定的合法數(shù)據(jù)恢復(fù)時(shí)才能使用DRC。

97 3.4 網(wǎng)絡(luò)加密技術(shù) 隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,網(wǎng)絡(luò)安全也就成為當(dāng)今網(wǎng)絡(luò)社會(huì)的焦點(diǎn)中的焦點(diǎn),幾乎沒(méi)有人不在談?wù)摼W(wǎng)絡(luò)上的安全問(wèn)題。病毒、黑客程序、郵件炸彈、遠(yuǎn)程偵聽(tīng)等這一切都無(wú)不讓人膽戰(zhàn)心驚,病毒、黑客的猖獗使身處今日網(wǎng)絡(luò)社會(huì)的人們感覺(jué)到談網(wǎng)色變,無(wú)所適從。 那么,怎樣解決這一切一切的安全問(wèn)題呢?或許加密是我們唯一的選擇。

98 網(wǎng)絡(luò)加密的重要性 網(wǎng)絡(luò)是由各網(wǎng)絡(luò)節(jié)點(diǎn)、它們之間的連接以及其上的網(wǎng)絡(luò)應(yīng)用服務(wù)等組成的,任何一個(gè)環(huán)節(jié)的疏漏都可能威脅到網(wǎng)絡(luò)的安全。如目前應(yīng)用得最廣泛的TCP/IP協(xié)議,其IP層協(xié)議就有許多安全缺陷:IP地址可以利用軟件進(jìn)行設(shè)置,這就造成了地址假冒和地址欺騙兩類(lèi)安全隱患;IP協(xié)議支持源路由方式,即源點(diǎn)可以指定信息包傳送到目的節(jié)點(diǎn)的中間路由,這就提供了源路由攻擊的條件。 當(dāng)我們?cè)诨ヂ?lián)網(wǎng)上進(jìn)行文件傳輸、電子郵件商務(wù)往來(lái)時(shí),黑客就利用網(wǎng)絡(luò)的漏洞和缺陷對(duì)我們的活動(dòng)進(jìn)行有目的的攻擊。有的出于政治原因,為了獲取國(guó)家機(jī)密、軍事情報(bào)等;有的為了取得商業(yè)競(jìng)爭(zhēng)的勝利,盜竊甚至破壞他人的客戶(hù)資料,獲取對(duì)方產(chǎn)品開(kāi)發(fā)信息、公司銷(xiāo)售策略等;更多的還是出于金錢(qián)利益的誘惑,盜取他人網(wǎng)銀賬號(hào)密碼、網(wǎng)絡(luò)游戲虛擬裝備等。無(wú)論什么目的,都會(huì)我們帶來(lái)巨大的損失。因此為了能在安全的基礎(chǔ)上大開(kāi)通向世界之門(mén),我們只好選擇了網(wǎng)絡(luò)加密技術(shù)。 網(wǎng)絡(luò)加密技術(shù)的目的就是保護(hù)網(wǎng)內(nèi)的數(shù)據(jù)、文件、口令和控制信息,保護(hù)網(wǎng)上傳輸?shù)臄?shù)據(jù),防止有用或私有化信息在網(wǎng)絡(luò)上被攔截和竊取,或者即使被攻擊者獲得也是不可讀的。在某種意義上來(lái)說(shuō),加密也成為當(dāng)今網(wǎng)絡(luò)社會(huì)進(jìn)行文件或郵件安全傳輸?shù)臅r(shí)代象征。

99 網(wǎng)絡(luò)加密的形式 密碼技術(shù)是網(wǎng)絡(luò)安全最有效的技術(shù)之一。一個(gè)加密網(wǎng)絡(luò),不但可以防止非授權(quán)用戶(hù)的搭線竊聽(tīng)和入網(wǎng),而且也是對(duì)付惡意軟件的有效方法之一。 一般的數(shù)據(jù)加密可以在通信的三個(gè)層次來(lái)實(shí)現(xiàn): Ⅰ 鏈路加密 Ⅱ 節(jié)點(diǎn)加密 Ⅲ 端到端加密

100 Ⅰ 鏈路加密 這是一種面向物理層的數(shù)據(jù)加密方式。對(duì)于在兩個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)間的某一次通信鏈路,鏈路加密能為網(wǎng)上傳輸?shù)臄?shù)據(jù)提供安全保證。對(duì)于鏈路加密(又稱(chēng)在線加密),所有消息在被傳輸之前進(jìn)行加密,在每一個(gè)節(jié)點(diǎn)對(duì)接收到的消息進(jìn)行解密,然后先使用下一個(gè)鏈路的密鑰對(duì)消息進(jìn)行加密,再進(jìn)行傳輸。在到達(dá)目的地之前,一條消息可能要經(jīng)過(guò)許多通信鏈路的傳輸。 由于在每一個(gè)中間傳輸節(jié)點(diǎn)消息均被解密后重新進(jìn)行加密,因此,包括路由信息在內(nèi)的鏈路上的所有數(shù)據(jù)均以密文形式出現(xiàn)。這樣,鏈路加密就掩蓋了被傳輸消息的源點(diǎn)與終點(diǎn)。由于填充技術(shù)的使用以及填充字符在不需要傳輸數(shù)據(jù)的情況下就可以進(jìn)行加密,這使得消息的頻率和長(zhǎng)度特性得以掩蓋,從而可以防止對(duì)通信業(yè)務(wù)進(jìn)行分析。 盡管鏈路加密在計(jì)算機(jī)網(wǎng)絡(luò)環(huán)境中使用得相當(dāng)普遍,但它并非沒(méi)有問(wèn)題。鏈路加密通常用在點(diǎn)對(duì)點(diǎn)的同步或異步線路上,它要求先對(duì)在鏈路兩端的加密設(shè)備進(jìn)行同步,然后使用一種鏈模式對(duì)鏈路上傳輸?shù)臄?shù)據(jù)進(jìn)行加密。這就給網(wǎng)絡(luò)的性能和可管理性帶來(lái)了副作用。

101 在線路/信號(hào)經(jīng)常不通的海外或衛(wèi)星網(wǎng)絡(luò)中,鏈路上的加密設(shè)備需要頻繁地進(jìn)行同步,帶來(lái)的后果是數(shù)據(jù)丟失或重傳。另一方面,即使僅一小部分?jǐn)?shù)據(jù)需要進(jìn)行加密,也會(huì)使得所有傳輸數(shù)據(jù)被加密。
在一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn),鏈路加密僅在通信鏈路上提供安全性,消息以明文形式存在,因此所有節(jié)點(diǎn)在物理上必須是安全的,否則就會(huì)泄漏明文內(nèi)容。然而保證每一個(gè)節(jié)點(diǎn)的安全性需要較高的費(fèi)用,為每一個(gè)節(jié)點(diǎn)提供加密硬件設(shè)備和一個(gè)安全的物理環(huán)境所需要的費(fèi)用由以下幾部分組成:保護(hù)節(jié)點(diǎn)物理安全的雇員開(kāi)銷(xiāo),為確保安全策略和程序的正確執(zhí)行而進(jìn)行審計(jì)時(shí)的費(fèi)用,以及為防止安全性被破壞時(shí)帶來(lái)?yè)p失而參加保險(xiǎn)的費(fèi)用。 在傳統(tǒng)的加密算法中,用于解密消息的密鑰與用于加密的密鑰是相同的,該密鑰必須被秘密保存,并按一定規(guī)則進(jìn)行變化。這樣,密鑰分配在鏈路加密系統(tǒng)中就成了一個(gè)問(wèn)題,因?yàn)槊恳粋€(gè)節(jié)點(diǎn)必須存儲(chǔ)與其相連接的所有鏈路的加密密鑰,這就需要對(duì)密鑰進(jìn)行物理傳送或者建立專(zhuān)用網(wǎng)絡(luò)設(shè)施。而網(wǎng)絡(luò)節(jié)點(diǎn)地理分布的廣闊性使得這一過(guò)程變得復(fù)雜,同時(shí)增加了密鑰連續(xù)分配時(shí)的費(fèi)用。

102 Ⅱ 節(jié)點(diǎn)加密 節(jié)點(diǎn)加密在操作方式上與鏈路加密是類(lèi)似的:兩者均在通信鏈路上為傳輸?shù)南⑻峁┌踩?;都在中間節(jié)點(diǎn)先對(duì)消息進(jìn)行解密,然后進(jìn)行加密。因?yàn)橐獙?duì)所有傳輸?shù)臄?shù)據(jù)進(jìn)行加密,所以加密過(guò)程對(duì)用戶(hù)是透明的。 然而,與鏈路加密不同,節(jié)點(diǎn)加密不允許消息在網(wǎng)絡(luò)節(jié)點(diǎn)以明文形式存在,它先把收到的消息進(jìn)行解密,然后采用另一個(gè)不同的密鑰進(jìn)行加密,這一過(guò)程是在節(jié)點(diǎn)上的一個(gè)安全模塊中進(jìn)行。因此節(jié)點(diǎn)加密能給網(wǎng)絡(luò)數(shù)據(jù)提供較高的安全性。 節(jié)點(diǎn)加密要求報(bào)頭和路由信息以明文形式傳輸,以便中間節(jié)點(diǎn)能得到如何處理消息的信息。因此這種方法對(duì)于防止攻擊者分析通信業(yè)務(wù)是脆弱的。

103 Ⅲ 端到端加密 端到端加密(又稱(chēng)脫線加密或包加密),屬高層加密方式。源端在發(fā)送源消息之前將消息加密成密文,并以密文消息的形式經(jīng)通信網(wǎng)傳送到目的端。各端點(diǎn)采用相同的密碼算法和密鑰,對(duì)傳遞通路上的各個(gè)中間節(jié)點(diǎn),其數(shù)據(jù)是保密的。也就是說(shuō),加密方式不依賴(lài)于中間節(jié)點(diǎn),中間節(jié)點(diǎn)沒(méi)有義務(wù)對(duì)其他層的協(xié)議信息進(jìn)行解密,只有收端用戶(hù)正確解密才能恢復(fù)明文。 采用端到端加密,數(shù)據(jù)在從源點(diǎn)到終點(diǎn)的傳輸過(guò)程中始終以密文形式存在,在整個(gè)傳輸過(guò)程中均受到保護(hù),所以即使有節(jié)點(diǎn)被損壞也不會(huì)使消息泄露。端到端加密系統(tǒng)的價(jià)格便宜些,并且與鏈路加密和節(jié)點(diǎn)加密相比更可靠,更容易設(shè)計(jì)、實(shí)現(xiàn)和維護(hù)。端到端加密還避免了其它加密系統(tǒng)所固有的同步問(wèn)題,因?yàn)槊總€(gè)報(bào)文包均是獨(dú)立被加密的,所以一個(gè)報(bào)文包所發(fā)生的傳輸錯(cuò)誤不會(huì)影響后續(xù)的報(bào)文包。此外,從用戶(hù)對(duì)安全需求的直覺(jué)上講,端到端加密更自然些。單個(gè)用戶(hù)可能會(huì)選用這種加密方法,以便不影響網(wǎng)絡(luò)上的其他用戶(hù),此方法只需要源和目的節(jié)點(diǎn)是保密的即可。 端到端加密系統(tǒng)通常不允許對(duì)消息的目的地址進(jìn)行加密,這是因?yàn)槊恳粋€(gè)消息所經(jīng)過(guò)的節(jié)點(diǎn)都要用此地址來(lái)確定如何傳輸消息。由于這種加密方法不能掩蓋被傳輸消息的源點(diǎn)與終點(diǎn),因此它對(duì)于防止攻擊者分析通信業(yè)務(wù)是脆弱的。

104 要取得更大的安全程度,我們既需要鏈路加密也需要端到端加密,如圖3.16所示:
當(dāng)使用上圖的加密形式時(shí),主機(jī)對(duì)分組的用戶(hù)數(shù)據(jù)部分用一個(gè)端到端加密密鑰進(jìn)行加密。整個(gè)分組然后用一個(gè)鏈路加密密鑰進(jìn)行加密。分組傳過(guò)網(wǎng)絡(luò)時(shí)每個(gè)交換機(jī)都用一個(gè)鏈路加密密鑰解密分組以便讀取首部,然后再加密整個(gè)分組以便在下一個(gè)鏈路上發(fā)送出去?,F(xiàn)在,除了分組在分組交換機(jī)內(nèi)存中那段時(shí)間外,整個(gè)分組是安全的。在那段時(shí)間分組首部是未加密的。

105 表3.11總結(jié)了鏈路加密與端端加密策略的關(guān)鍵特性。

106 知識(shí)歸納 信息加密技術(shù)是一門(mén)既古老又年輕的科學(xué)。當(dāng)代社會(huì)是信息化社會(huì),如果說(shuō)信息得不到應(yīng)有的保密,那么政府、公司和個(gè)人的開(kāi)發(fā)活動(dòng)都將陷入混亂,整個(gè)社會(huì)將變得不可收拾。因此,信息的安全與保密問(wèn)題成了人人都關(guān)心的問(wèn)題。 現(xiàn)代密碼學(xué)涉及數(shù)學(xué)(如數(shù)論、近世代數(shù)、復(fù)雜性理論、組合算法、概率算法及代數(shù)幾何等)、物理學(xué)(如量子力學(xué)、現(xiàn)代光學(xué)、混沌動(dòng)力學(xué)等)、信息論、計(jì)算機(jī)科學(xué)等學(xué)科,內(nèi)容十分豐富。本章只簡(jiǎn)單介紹了密碼學(xué)的基礎(chǔ)知識(shí),目的是通過(guò)我的介紹,給真正對(duì)密碼技術(shù)感興趣的讀者一個(gè)引路而已。

107 習(xí)題與思考題 3.1 比較單鑰密碼體制與雙鑰,試述它們的本質(zhì)區(qū)別,以及各自的優(yōu)缺點(diǎn)。
3.1 比較單鑰密碼體制與雙鑰,試述它們的本質(zhì)區(qū)別,以及各自的優(yōu)缺點(diǎn)。 3.2 設(shè)愷撒密碼的密鑰k=6,設(shè)計(jì)出明文字母與密文字母的映射對(duì)照表,并加密明文m= Caesar cipher。 3.3 用維吉尼亞(vigenere)密碼算法加密m=system management bus,密鑰k=computer。 3.4 設(shè)明文m=“信息加密技術(shù)是利用數(shù)學(xué)或物理手段,對(duì)電子信息在傳輸過(guò)程中和存儲(chǔ)體內(nèi)進(jìn)行保護(hù),以防止泄漏的技術(shù)”,密鑰k=information,試用列易位算法法加密明文。 3.5 設(shè)明文m= ABCDEF,密鑰k= BBCDFF1,試用DES算法對(duì)其進(jìn)行加密。 3.6 假定明文m=encryption,考慮兩字母組合的最大值為2525,選取參數(shù)p=43,q=59,另選e=13,試用RSA算法對(duì)其進(jìn)行加密。 3.7 寫(xiě)出密鑰的種類(lèi),并說(shuō)明每種密鑰在加解密中的作用。 3.8 比較密鑰分配的幾種方法,并設(shè)想如果學(xué)院和每個(gè)學(xué)生寢室之間要通信,用哪種方式比較好? 3.9 分析幾種網(wǎng)絡(luò)加密方式的優(yōu)缺點(diǎn)。

108 實(shí)訓(xùn)指南 實(shí)訓(xùn)一 制作密碼卡片 實(shí)訓(xùn)二 密碼推斷 實(shí)訓(xùn)三 DES加、解密 實(shí)訓(xùn)四 RSA保密通信

109 實(shí)訓(xùn)一 制作密碼卡片 實(shí)訓(xùn)目的 通過(guò)制作簡(jiǎn)單的6×6密碼卡片,使學(xué)生深刻理解易位密碼這種傳統(tǒng)技術(shù)。 實(shí)訓(xùn)環(huán)境
課堂上進(jìn)行即可,準(zhǔn)備空白方格紙兩張,剪刀一把。 實(shí)訓(xùn)內(nèi)容 制作密碼卡片 方法和步驟 1、按下圖繪制6×6方格,并把黑色方塊剪掉。 2、加密時(shí),將密碼卡片置于同等大小的方格紙上,將明文按行從左到右書(shū)寫(xiě)(寫(xiě)在露出的方格),寫(xiě)完后順時(shí)針(逆時(shí)針也可)旋轉(zhuǎn)90°,繼續(xù)寫(xiě)入明文,連續(xù)四次,將方格紙寫(xiě)滿(mǎn)后拿掉密碼卡片后剩下的即為密文。 3、解密時(shí),用密碼卡片蓋住密文,按加密時(shí)的逆順序旋轉(zhuǎn)閱讀即可。 實(shí)訓(xùn)報(bào)告要求 1、說(shuō)明本次實(shí)訓(xùn)體現(xiàn)了什么原理。 2、在理解原理的基礎(chǔ)上,寫(xiě)出一個(gè)10×10方格密碼卡片的制作圖。

110 實(shí)訓(xùn)二 密碼推斷 實(shí)訓(xùn)目的 通過(guò)練習(xí),使學(xué)生深刻理解傳統(tǒng)密碼技術(shù),并能根據(jù)自己的需要選擇合適的算法 實(shí)訓(xùn)環(huán)境 課堂練習(xí)即可,準(zhǔn)備空白紙張若干
實(shí)訓(xùn)內(nèi)容 推斷密碼算法和密鑰 方法和步驟 1、教師先給出一段明文(無(wú)特殊要求,長(zhǎng)度適當(dāng),重復(fù)字符不能太多)。 2、每個(gè)學(xué)生根據(jù)所學(xué)的代替和易位算法加密明文后相互交換。 3、根據(jù)明文和密文之間的對(duì)應(yīng)關(guān)系,推斷對(duì)方所用的加密算法和密鑰。 實(shí)訓(xùn)報(bào)告要求 1、寫(xiě)出自己在實(shí)訓(xùn)中所用的密碼算法,并寫(xiě)出從明文到密文的詳細(xì)步驟。 2、寫(xiě)出根據(jù)對(duì)方的密文推斷出的加密算法和密鑰,寫(xiě)出推斷思路。

111 實(shí)訓(xùn)三 DES加、解密 實(shí)訓(xùn)目的 通過(guò)對(duì)DES密碼算法的練習(xí),理解DES工作的原理 實(shí)訓(xùn)環(huán)境 課堂練習(xí)即可,準(zhǔn)備空白紙張若干 實(shí)訓(xùn)內(nèi)容
方法和步驟 1、教師先給出一段明文(無(wú)特殊要求,長(zhǎng)度適當(dāng),重復(fù)字符不能太多)和密鑰。 2、學(xué)生按DES算法的步驟加密明文得到密文即可。 實(shí)訓(xùn)報(bào)告要求 1、寫(xiě)出用DES算法加密明文的詳細(xì)步驟。 2、在理解DES算法的基礎(chǔ)上,分析該算法存在的漏洞。

112 實(shí)訓(xùn)四 RSA保密通信 實(shí)訓(xùn)目的 通過(guò)對(duì)RSA密碼算法的練習(xí),理解RSA工作的原理 實(shí)訓(xùn)環(huán)境 課堂練習(xí)即可,準(zhǔn)備空白紙張若干 實(shí)訓(xùn)內(nèi)容
方法和步驟 1、選擇兩個(gè)素?cái)?shù)(為了計(jì)算方便,100以?xún)?nèi)即可),根據(jù)所學(xué),算出公鑰和私鑰,并公布自己的公鑰。 2、學(xué)生用自己的私鑰和教師的公鑰加密明文(包含個(gè)人信息)后發(fā)給教師。 3、教師選擇其中一個(gè)密文,用自己的私鑰解密得到明文后,將答案用該生的公鑰加密并發(fā)給全班。 4、每個(gè)學(xué)生都用教師的公鑰和自己的私鑰解密該密文,只有正確的接受者才能解密該密文。 實(shí)訓(xùn)報(bào)告要求 1、寫(xiě)出計(jì)算公鑰和私鑰的詳細(xì)步驟。 2、根據(jù)自己能否接收教師的信息,寫(xiě)出原因。 3、結(jié)合自己運(yùn)用RSA的情況,分析該密碼算法的優(yōu)缺點(diǎn)。

113 參考文獻(xiàn) 《密碼學(xué)與計(jì)算機(jī)網(wǎng)絡(luò)安全》 卿斯?jié)h 清華大學(xué)出版社 《對(duì)稱(chēng)密碼學(xué)》 胡予濮等 機(jī)械工業(yè)出版社
《密碼學(xué)與計(jì)算機(jī)網(wǎng)絡(luò)安全》 卿斯?jié)h 清華大學(xué)出版社 《對(duì)稱(chēng)密碼學(xué)》 胡予濮等 機(jī)械工業(yè)出版社 《密碼編碼學(xué)與網(wǎng)絡(luò)安全:原理與實(shí)踐》 [美]William Stallings 電子工業(yè)出版社 《密碼學(xué)原理與實(shí)踐》 [加]Douglas R. Stinson 電子工業(yè)出版社 《現(xiàn)代密碼學(xué)》 楊波 清華大學(xué)出版社 《計(jì)算機(jī)安全技術(shù)》 劉蔭銘等 清華大學(xué)出版社 《公開(kāi)密鑰密碼算法及其快速實(shí)現(xiàn)》 周玉潔等 國(guó)防工業(yè)出版社 《密碼學(xué)》 宋震等 中國(guó)水利水電出版社 《網(wǎng)絡(luò)與信息安全教程》 林柏鋼 機(jī)械工業(yè)出版社 《計(jì)算機(jī)安全》 趙一鳴等 電子工業(yè)出版社 《信息社會(huì)學(xué)》 靖繼鵬、吳正荊 科學(xué)出版社 《信息安全管理手冊(cè)》卷Ⅰ、卷Ⅱ、卷Ⅲ [美]Harold F. Tipton Micki Krause 電子工業(yè)出版社

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多