Ch020304第二講數(shù)據(jù)加密技術(shù)及應(yīng)用_第1頁
Ch020304第二講數(shù)據(jù)加密技術(shù)及應(yīng)用_第2頁
Ch020304第二講數(shù)據(jù)加密技術(shù)及應(yīng)用_第3頁
Ch020304第二講數(shù)據(jù)加密技術(shù)及應(yīng)用_第4頁
Ch020304第二講數(shù)據(jù)加密技術(shù)及應(yīng)用_第5頁
已閱讀5頁,還剩127頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、計(jì)算機(jī)網(wǎng)絡(luò)安全技術(shù)第2頁l數(shù)據(jù)加密概述(概念、分類)數(shù)據(jù)加密概述(概念、分類)l古典密碼古典密碼l對(duì)稱加密技術(shù)對(duì)稱加密技術(shù)l非對(duì)稱加密技術(shù)非對(duì)稱加密技術(shù)l數(shù)字簽名數(shù)字簽名l報(bào)文鑒別報(bào)文鑒別l密鑰管理密鑰管理第3頁l本節(jié)學(xué)習(xí)目標(biāo):本節(jié)學(xué)習(xí)目標(biāo):l了解加密技術(shù)的發(fā)展及其相關(guān)知識(shí)l掌握加密技術(shù)的原理l最基本的加密算法l對(duì)稱加密算法原理l非對(duì)稱加密算法原理第4頁l 在計(jì)算機(jī)網(wǎng)絡(luò)中,我們需要一種措施來保護(hù)數(shù)據(jù)在計(jì)算機(jī)網(wǎng)絡(luò)中,我們需要一種措施來保護(hù)數(shù)據(jù)的安全性,防止被一些別有用心的人利用或破壞,的安全性,防止被一些別有用心的人利用或破壞,這在客觀上就需要一種強(qiáng)有力的安全措施來保護(hù)這在客觀上就需要一種強(qiáng)有力

2、的安全措施來保護(hù)機(jī)密數(shù)據(jù)不被竊取或篡改。數(shù)據(jù)加密技術(shù)是為了機(jī)密數(shù)據(jù)不被竊取或篡改。數(shù)據(jù)加密技術(shù)是為了提高信息系統(tǒng)及數(shù)據(jù)的安全性和保密性,防止秘提高信息系統(tǒng)及數(shù)據(jù)的安全性和保密性,防止秘密數(shù)據(jù)被外部破析所采用的主要技術(shù)手段之一。密數(shù)據(jù)被外部破析所采用的主要技術(shù)手段之一。隨著信息技術(shù)的發(fā)展,網(wǎng)絡(luò)安全與信息保密日益隨著信息技術(shù)的發(fā)展,網(wǎng)絡(luò)安全與信息保密日益引起人們的關(guān)注。我們除在法律和制度及管理手引起人們的關(guān)注。我們除在法律和制度及管理手段上加強(qiáng)數(shù)據(jù)的安全管理外,還需要推動(dòng)數(shù)據(jù)加段上加強(qiáng)數(shù)據(jù)的安全管理外,還需要推動(dòng)數(shù)據(jù)加密技術(shù)和物理防范技術(shù)的應(yīng)用和不斷發(fā)展。密技術(shù)和物理防范技術(shù)的應(yīng)用和不斷發(fā)展。第5

3、頁l 到了到了20世紀(jì)世紀(jì)70年代,隨著信息的巨增,人年代,隨著信息的巨增,人們對(duì)信息的保密需求也從以往的軍事、政治和外們對(duì)信息的保密需求也從以往的軍事、政治和外交迅速發(fā)展到民用和商用領(lǐng)域,從而導(dǎo)致了密碼交迅速發(fā)展到民用和商用領(lǐng)域,從而導(dǎo)致了密碼學(xué)理論和密碼技術(shù)的快速發(fā)展。同時(shí),計(jì)算機(jī)技學(xué)理論和密碼技術(shù)的快速發(fā)展。同時(shí),計(jì)算機(jī)技術(shù)和微電子技術(shù)的發(fā)展,也為密碼學(xué)理論的研究術(shù)和微電子技術(shù)的發(fā)展,也為密碼學(xué)理論的研究和實(shí)現(xiàn)提供了強(qiáng)有力的手段和工具。進(jìn)入和實(shí)現(xiàn)提供了強(qiáng)有力的手段和工具。進(jìn)入20世紀(jì)世紀(jì)80年代以來,隨著計(jì)算機(jī)網(wǎng)絡(luò)和傳統(tǒng)通信網(wǎng)絡(luò)的年代以來,隨著計(jì)算機(jī)網(wǎng)絡(luò)和傳統(tǒng)通信網(wǎng)絡(luò)的廣泛應(yīng)用,對(duì)密碼理

4、論和技術(shù)的研究更呈快速上廣泛應(yīng)用,對(duì)密碼理論和技術(shù)的研究更呈快速上升的趨勢(shì)。密碼學(xué)在雷達(dá)、導(dǎo)航、遙控、遙測(cè)等升的趨勢(shì)。密碼學(xué)在雷達(dá)、導(dǎo)航、遙控、遙測(cè)等領(lǐng)域發(fā)揮著重要作用的同時(shí),開始滲透到通信、領(lǐng)域發(fā)揮著重要作用的同時(shí),開始滲透到通信、計(jì)算機(jī)及各種信息系統(tǒng)中。計(jì)算機(jī)及各種信息系統(tǒng)中。 第6頁l 密碼技術(shù)通過信息的變換或編碼,將機(jī)密的敏感消息變換密碼技術(shù)通過信息的變換或編碼,將機(jī)密的敏感消息變換成為難以讀懂的亂碼字符,以此達(dá)到兩個(gè)目的:成為難以讀懂的亂碼字符,以此達(dá)到兩個(gè)目的:l一是使不知道如何解密的竊聽者不可能由其截獲的亂碼中得一是使不知道如何解密的竊聽者不可能由其截獲的亂碼中得到任何有意義的信

5、息;到任何有意義的信息;l二是使竊聽者不可能偽造任何亂碼型的信息。研究密碼技術(shù)二是使竊聽者不可能偽造任何亂碼型的信息。研究密碼技術(shù)的學(xué)科稱為密碼學(xué),的學(xué)科稱為密碼學(xué),l其中密碼編碼學(xué)主要對(duì)信息進(jìn)行編碼,實(shí)現(xiàn)信息隱蔽;而密其中密碼編碼學(xué)主要對(duì)信息進(jìn)行編碼,實(shí)現(xiàn)信息隱蔽;而密碼分析學(xué)研究分析破譯密碼的學(xué)問。兩者相互對(duì)立,而又相碼分析學(xué)研究分析破譯密碼的學(xué)問。兩者相互對(duì)立,而又相互促進(jìn)?;ゴ龠M(jìn)。l 第7頁l加密的目的是加密的目的是防止機(jī)密信息的泄露防止機(jī)密信息的泄露,同時(shí)還,同時(shí)還可以用于證實(shí)信息源的可以用于證實(shí)信息源的真實(shí)性真實(shí)性,驗(yàn)證所接收,驗(yàn)證所接收到的數(shù)據(jù)的到的數(shù)據(jù)的完整性完整性。l加密系統(tǒng)

6、是指對(duì)信息進(jìn)行編碼和解碼所使用加密系統(tǒng)是指對(duì)信息進(jìn)行編碼和解碼所使用的過程、算法和方法的統(tǒng)稱。加密通常需要的過程、算法和方法的統(tǒng)稱。加密通常需要使用隱蔽的轉(zhuǎn)換,這個(gè)轉(zhuǎn)換需要使用密鑰進(jìn)使用隱蔽的轉(zhuǎn)換,這個(gè)轉(zhuǎn)換需要使用密鑰進(jìn)行加密,并使用相反的過程進(jìn)行解密。行加密,并使用相反的過程進(jìn)行解密。 第8頁l消息、明文、密文消息、明文、密文l加密、解密加密、解密l鑒別、完整性、抗抵賴性鑒別、完整性、抗抵賴性l算法算法l密鑰密鑰l對(duì)稱算法、非對(duì)稱算法對(duì)稱算法、非對(duì)稱算法l第9頁l遵循國(guó)際命名標(biāo)準(zhǔn),加密和解密可以翻譯成:“Encipher(譯成密碼)”和“(Decipher)(解譯密碼)”。也可以這樣命名:“

7、Encrypt(加密)”和“Decrypt(解密)”。l消息被稱為明文。用某種方法偽裝消息以隱藏它的內(nèi)容的過程稱為加密,加了密的消息稱為密文,而把密文轉(zhuǎn)變?yōu)槊魑牡倪^程稱為解密,圖 表明了加密和解密的過程。加密解密明文密文原始明文第10頁l加密的反過程,獲得明文。加密的反過程,獲得明文。l需要說明的是,解密主要針對(duì)合法的接,解密主要針對(duì)合法的接收者,而非法接收者在截獲密文后試圖收者,而非法接收者在截獲密文后試圖從中分析出明文的過程稱為從中分析出明文的過程稱為“破譯破譯”。第11頁l明文用明文用M(Message,消息)或,消息)或P(Plaintext,明文)表示,明文)表示,它可能是比特流、文

8、本文件、位圖、數(shù)字化的語音流或者數(shù)它可能是比特流、文本文件、位圖、數(shù)字化的語音流或者數(shù)字化的視頻圖像等。字化的視頻圖像等。l密文用密文用C(Cipher)表示,也是二進(jìn)制數(shù)據(jù),有時(shí)和)表示,也是二進(jìn)制數(shù)據(jù),有時(shí)和M一樣大,一樣大,有時(shí)稍大。通過壓縮和加密的結(jié)合,有時(shí)稍大。通過壓縮和加密的結(jié)合,C有可能比有可能比P小些。小些。l加密函數(shù)加密函數(shù)E作用于作用于M得到密文得到密文C,用數(shù)學(xué)公式表示為:,用數(shù)學(xué)公式表示為:lE(M)=C。l解密函數(shù)解密函數(shù)D作用于作用于C產(chǎn)生產(chǎn)生M,用數(shù)據(jù)公式表示為:,用數(shù)據(jù)公式表示為:lD(C)=M。l先加密后再解密消息,原始的明文將恢復(fù)出來,先加密后再解密消息,原

9、始的明文將恢復(fù)出來,lD(E(M)=M必須成立。必須成立。第12頁l除了提供機(jī)密性外,密碼學(xué)需要提供三方面的功能:鑒別、完整性和抗抵賴性。這些功能是通過計(jì)算機(jī)進(jìn)行社會(huì)交流,至關(guān)重要的需求。l鑒別:消息的接收者應(yīng)該能夠確認(rèn)消息的來源;入侵者不可能偽裝成他人。l完整性:消息的接收者應(yīng)該能夠驗(yàn)證在傳送過程中消息沒有被修改;入侵者不可能用假消息代替合法消息。l抗抵賴性:發(fā)送消息者事后不可能虛假地否認(rèn)他發(fā)送的消息。第13頁l現(xiàn)代密碼學(xué)用密鑰解決了這個(gè)問題,密鑰用現(xiàn)代密碼學(xué)用密鑰解決了這個(gè)問題,密鑰用K表示。表示。K可以是可以是很多數(shù)值里的任意值,密鑰很多數(shù)值里的任意值,密鑰K的可能值的范圍叫做密鑰空間。

10、的可能值的范圍叫做密鑰空間。加密和解密運(yùn)算都使用這個(gè)密鑰,即運(yùn)算都依賴于密鑰,并加密和解密運(yùn)算都使用這個(gè)密鑰,即運(yùn)算都依賴于密鑰,并用用K作為下標(biāo)表示,加解密函數(shù)表達(dá)為:作為下標(biāo)表示,加解密函數(shù)表達(dá)為:lEK(M)=ClDK(C)=MlDK(EK(M)=M,如圖所示。加密解密明文密文原始明文密鑰密鑰第14頁l有些算法使用不同的加密密鑰和解密密鑰,也就是說加密密鑰有些算法使用不同的加密密鑰和解密密鑰,也就是說加密密鑰K1與相應(yīng)與相應(yīng)的解密密鑰的解密密鑰K2不同,在這種情況下,加密和解密的函數(shù)表達(dá)式為:不同,在這種情況下,加密和解密的函數(shù)表達(dá)式為:lEK1(M)=ClDK2(C)=Ml函數(shù)必須具有

11、的特性是,函數(shù)必須具有的特性是,DK2(EK1(M)=M,如圖,如圖 所示。所示。加密解密明文密文原始明文加密密鑰解密密鑰第15頁l 通常,將加密前的原始數(shù)據(jù)或消息稱為明文通常,將加密前的原始數(shù)據(jù)或消息稱為明文(plaintext),而將加密后的數(shù)據(jù)稱為密文),而將加密后的數(shù)據(jù)稱為密文(ciphertext),在密碼中使用并且只有收發(fā)雙),在密碼中使用并且只有收發(fā)雙方才知道的信息稱為密鑰(方才知道的信息稱為密鑰(key)。通過使用密鑰)。通過使用密鑰將明文轉(zhuǎn)換成密文的過程稱為加密,其反向過程將明文轉(zhuǎn)換成密文的過程稱為加密,其反向過程(將密文轉(zhuǎn)換為原來的明文)稱為解密。對(duì)明文(將密文轉(zhuǎn)換為原來的

12、明文)稱為解密。對(duì)明文進(jìn)行加密時(shí)采用的一組規(guī)則稱為加密算法。對(duì)密進(jìn)行加密時(shí)采用的一組規(guī)則稱為加密算法。對(duì)密文解密時(shí)采用的一組規(guī)則稱為解密算法。加密算文解密時(shí)采用的一組規(guī)則稱為解密算法。加密算法和解密算法是在一組僅有合法用戶知道的密鑰法和解密算法是在一組僅有合法用戶知道的密鑰的控制下進(jìn)行的,加密和解密過程中使用的密鑰的控制下進(jìn)行的,加密和解密過程中使用的密鑰分別稱為加密密鑰和解密密鑰。加密和解密的轉(zhuǎn)分別稱為加密密鑰和解密密鑰。加密和解密的轉(zhuǎn)換關(guān)系如圖換關(guān)系如圖2-1所示。所示。 圖2-1 加密與解密的轉(zhuǎn)換關(guān)系第16頁圖2-2 密碼通信系統(tǒng)模型第17頁l l 如圖如圖2-2是加密與解密轉(zhuǎn)換關(guān)系的數(shù)

13、學(xué)表示,是加密與解密轉(zhuǎn)換關(guān)系的數(shù)學(xué)表示,稱為密碼通信系統(tǒng)模型,它由以下幾個(gè)部分組成:稱為密碼通信系統(tǒng)模型,它由以下幾個(gè)部分組成:l M:明文消息空間:明文消息空間l E: 密文消息空間密文消息空間l K1和和K2:密鑰空間:密鑰空間l 加密變換:加密變換: 解密變換:解密變換:第18頁l將將 稱為密碼系統(tǒng)。例如,稱為密碼系統(tǒng)。例如,將給定明文消息,密鑰,將明文將給定明文消息,密鑰,將明文m變換為變換為密文密文c的過程為的過程為: ),(2121kkDEKKEM第19頁l 目前已經(jīng)設(shè)計(jì)出的密碼系統(tǒng)是各種各樣的。如果目前已經(jīng)設(shè)計(jì)出的密碼系統(tǒng)是各種各樣的。如果以以密鑰為標(biāo)準(zhǔn),可將密碼系統(tǒng)分為單鑰密碼

14、系統(tǒng)和雙鑰密密鑰為標(biāo)準(zhǔn),可將密碼系統(tǒng)分為單鑰密碼系統(tǒng)和雙鑰密碼系統(tǒng)。碼系統(tǒng)。其中,單鑰密碼系統(tǒng)又稱為對(duì)稱密碼或私鑰密其中,單鑰密碼系統(tǒng)又稱為對(duì)稱密碼或私鑰密碼系統(tǒng),雙鑰密碼系統(tǒng)又稱為非對(duì)稱密碼或公鑰密碼系碼系統(tǒng),雙鑰密碼系統(tǒng)又稱為非對(duì)稱密碼或公鑰密碼系統(tǒng)。相應(yīng)的,采用單鑰密碼系統(tǒng)的加密方法,同一個(gè)密統(tǒng)。相應(yīng)的,采用單鑰密碼系統(tǒng)的加密方法,同一個(gè)密鑰可同時(shí)用作信息的加密和解密,這種加密方法稱為對(duì)鑰可同時(shí)用作信息的加密和解密,這種加密方法稱為對(duì)稱加密,也稱作單密鑰加密。另一種是采用雙鑰密碼系稱加密,也稱作單密鑰加密。另一種是采用雙鑰密碼系統(tǒng)的加密方法,在一個(gè)過程中使用兩個(gè)密鑰,一個(gè)用于統(tǒng)的加密方法

15、,在一個(gè)過程中使用兩個(gè)密鑰,一個(gè)用于加密,另一個(gè)用于解密,這種加密方法稱為非對(duì)稱加密,加密,另一個(gè)用于解密,這種加密方法稱為非對(duì)稱加密,也稱為公鑰加密,因?yàn)槠渲械囊粋€(gè)密鑰是公開的(另一也稱為公鑰加密,因?yàn)槠渲械囊粋€(gè)密鑰是公開的(另一個(gè)則需要保密)。個(gè)則需要保密)。 第20頁l1. 對(duì)稱加密對(duì)稱加密l 對(duì)稱加密的缺點(diǎn)是密鑰需要通過直接復(fù)制或網(wǎng)絡(luò)對(duì)稱加密的缺點(diǎn)是密鑰需要通過直接復(fù)制或網(wǎng)絡(luò)傳輸?shù)姆绞接砂l(fā)送方傳給接收方,同時(shí)無論加密傳輸?shù)姆绞接砂l(fā)送方傳給接收方,同時(shí)無論加密還是解密都使用同一個(gè)密鑰,所以密鑰的管理和還是解密都使用同一個(gè)密鑰,所以密鑰的管理和使用很不安全。如果密鑰泄露,則此密碼系統(tǒng)便使用

16、很不安全。如果密鑰泄露,則此密碼系統(tǒng)便被攻破。另外,通過對(duì)稱加密方式無法解決消息被攻破。另外,通過對(duì)稱加密方式無法解決消息的確認(rèn)問題,并缺乏自動(dòng)檢測(cè)密鑰泄露的能力。的確認(rèn)問題,并缺乏自動(dòng)檢測(cè)密鑰泄露的能力。對(duì)稱加密的優(yōu)點(diǎn)是加密和解密的速度快。對(duì)稱加密的優(yōu)點(diǎn)是加密和解密的速度快。 第21頁l2 非對(duì)稱加密非對(duì)稱加密l 在非對(duì)稱加密中,加密密鑰與解密密鑰不同,此在非對(duì)稱加密中,加密密鑰與解密密鑰不同,此時(shí)不需要通過安全通道來傳輸密鑰,只需要利用本時(shí)不需要通過安全通道來傳輸密鑰,只需要利用本地地密鑰發(fā)生器產(chǎn)生解密密鑰密鑰發(fā)生器產(chǎn)生解密密鑰,并以此進(jìn)行解密操作。,并以此進(jìn)行解密操作。由于非對(duì)稱加密的加

17、密和解密不同,且能夠公開加由于非對(duì)稱加密的加密和解密不同,且能夠公開加密密鑰,僅需要保密解密密鑰,所以不存在密鑰管密密鑰,僅需要保密解密密鑰,所以不存在密鑰管理問題。非對(duì)稱加密的另一個(gè)優(yōu)點(diǎn)是可以用于數(shù)字理問題。非對(duì)稱加密的另一個(gè)優(yōu)點(diǎn)是可以用于數(shù)字簽名。但非對(duì)稱加密的缺點(diǎn)是算法一般比較復(fù)雜,簽名。但非對(duì)稱加密的缺點(diǎn)是算法一般比較復(fù)雜,加密和解密的速度較慢。加密和解密的速度較慢。第22頁l根據(jù)密碼算法根據(jù)密碼算法對(duì)明文處理方式的標(biāo)準(zhǔn)不同,可以將密碼對(duì)明文處理方式的標(biāo)準(zhǔn)不同,可以將密碼系統(tǒng)分為序列密碼和分組密碼兩類。系統(tǒng)分為序列密碼和分組密碼兩類。l1 序列密碼序列密碼l序列密碼也稱為序列密碼也稱為

18、流密碼流密碼,其思想起源于,其思想起源于20世紀(jì)世紀(jì)20年代,年代,最早的二進(jìn)制序列密碼系統(tǒng)是最早的二進(jìn)制序列密碼系統(tǒng)是Vernam密碼。密碼。Vernam密密碼將明文消息轉(zhuǎn)化為二進(jìn)制數(shù)字序列,密鑰序列也為二碼將明文消息轉(zhuǎn)化為二進(jìn)制數(shù)字序列,密鑰序列也為二進(jìn)制數(shù)字序列,加密是按明文序列和密鑰序列逐位模進(jìn)制數(shù)字序列,加密是按明文序列和密鑰序列逐位模2相相加(即異或操作加(即異或操作XOR)進(jìn)行,解密也是按密文序列和密)進(jìn)行,解密也是按密文序列和密鑰序列逐位模鑰序列逐位模2相加進(jìn)行。相加進(jìn)行。l 當(dāng)當(dāng)Vernam密碼中的密鑰序列是完全隨機(jī)的二進(jìn)制序列時(shí),密碼中的密鑰序列是完全隨機(jī)的二進(jìn)制序列時(shí),就

19、是著名的就是著名的“一次一密一次一密”密碼。一次一密密碼是完全保密碼。一次一密密碼是完全保密的,但它的密鑰產(chǎn)生、分配和管理都不方便。密的,但它的密鑰產(chǎn)生、分配和管理都不方便。 第23頁l2 分組密碼分組密碼l 分組密碼的加密方式是先將明文序列以分組密碼的加密方式是先將明文序列以固定長(zhǎng)度固定長(zhǎng)度進(jìn)行分組進(jìn)行分組,然后將每一組明文用相同的密碼和加,然后將每一組明文用相同的密碼和加密函數(shù)進(jìn)行運(yùn)算。為了減小存儲(chǔ)量,并提高運(yùn)算密函數(shù)進(jìn)行運(yùn)算。為了減小存儲(chǔ)量,并提高運(yùn)算速度,密鑰的長(zhǎng)度一般不大,因而速度,密鑰的長(zhǎng)度一般不大,因而加密函數(shù)的復(fù)加密函數(shù)的復(fù)雜性成為系統(tǒng)安全的關(guān)鍵雜性成為系統(tǒng)安全的關(guān)鍵。l分組密

20、碼的優(yōu)點(diǎn)是不需要密鑰同步,具有較強(qiáng)的分組密碼的優(yōu)點(diǎn)是不需要密鑰同步,具有較強(qiáng)的適用性,適宜作為加密標(biāo)準(zhǔn)。缺點(diǎn)是加密速度慢。適用性,適宜作為加密標(biāo)準(zhǔn)。缺點(diǎn)是加密速度慢。DES、DEA是典型的分組密碼。是典型的分組密碼。 第24頁l 基于密碼算法的數(shù)據(jù)加密技術(shù)是所有網(wǎng)絡(luò)上基于密碼算法的數(shù)據(jù)加密技術(shù)是所有網(wǎng)絡(luò)上的通信安全所依賴的基本技術(shù)。目前對(duì)網(wǎng)絡(luò)數(shù)據(jù)的通信安全所依賴的基本技術(shù)。目前對(duì)網(wǎng)絡(luò)數(shù)據(jù)加密主要有加密主要有鏈路加密、節(jié)點(diǎn)對(duì)節(jié)點(diǎn)加密和端對(duì)端鏈路加密、節(jié)點(diǎn)對(duì)節(jié)點(diǎn)加密和端對(duì)端加密加密3種實(shí)現(xiàn)方式。種實(shí)現(xiàn)方式。第25頁l1 鏈路加密鏈路加密l 鏈路加密又稱在線加密,它是對(duì)在兩個(gè)網(wǎng)鏈路加密又稱在線加密,

21、它是對(duì)在兩個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)間的某一條通信鏈路實(shí)施加密,是目絡(luò)節(jié)點(diǎn)間的某一條通信鏈路實(shí)施加密,是目前網(wǎng)絡(luò)安全系統(tǒng)中主要采用的方式。如圖前網(wǎng)絡(luò)安全系統(tǒng)中主要采用的方式。如圖2-3所示,在鏈路加密方式下,只對(duì)通信鏈路中所示,在鏈路加密方式下,只對(duì)通信鏈路中的數(shù)據(jù)加密,而不對(duì)網(wǎng)絡(luò)節(jié)點(diǎn)內(nèi)的數(shù)據(jù)加密。的數(shù)據(jù)加密,而不對(duì)網(wǎng)絡(luò)節(jié)點(diǎn)內(nèi)的數(shù)據(jù)加密。 圖2-3 鏈路加密過程示意圖 第26頁l在鏈路加密方式下,不僅對(duì)數(shù)據(jù)報(bào)文進(jìn)行加在鏈路加密方式下,不僅對(duì)數(shù)據(jù)報(bào)文進(jìn)行加密,而且把路由信息、校驗(yàn)和等控制信息全密,而且把路由信息、校驗(yàn)和等控制信息全部加密。部加密。l所以到某一中間節(jié)點(diǎn)時(shí),先解密獲得路由信所以到某一中間節(jié)點(diǎn)時(shí),先解

22、密獲得路由信息和校驗(yàn)和,進(jìn)行路由選擇。差錯(cuò)檢測(cè),然息和校驗(yàn)和,進(jìn)行路由選擇。差錯(cuò)檢測(cè),然后再被加密,發(fā)送下一個(gè)節(jié)點(diǎn)。后再被加密,發(fā)送下一個(gè)節(jié)點(diǎn)。第27頁l2 節(jié)點(diǎn)對(duì)節(jié)點(diǎn)加密節(jié)點(diǎn)對(duì)節(jié)點(diǎn)加密l 節(jié)點(diǎn)對(duì)節(jié)點(diǎn)加密是為了解決在節(jié)點(diǎn)中的數(shù)據(jù)是明文的這節(jié)點(diǎn)對(duì)節(jié)點(diǎn)加密是為了解決在節(jié)點(diǎn)中的數(shù)據(jù)是明文的這一缺點(diǎn),在中間節(jié)點(diǎn)里裝有用于加密和解密的保護(hù)裝置,一缺點(diǎn),在中間節(jié)點(diǎn)里裝有用于加密和解密的保護(hù)裝置,由這個(gè)裝置來完成一個(gè)密鑰向另一個(gè)密鑰的交換。因而,由這個(gè)裝置來完成一個(gè)密鑰向另一個(gè)密鑰的交換。因而,除了在保護(hù)裝置里,即使在節(jié)點(diǎn)內(nèi)也不會(huì)出現(xiàn)明文。除了在保護(hù)裝置里,即使在節(jié)點(diǎn)內(nèi)也不會(huì)出現(xiàn)明文。l盡管節(jié)點(diǎn)對(duì)節(jié)點(diǎn)加密能

23、給網(wǎng)絡(luò)數(shù)據(jù)提供較高的安全性,盡管節(jié)點(diǎn)對(duì)節(jié)點(diǎn)加密能給網(wǎng)絡(luò)數(shù)據(jù)提供較高的安全性,但它在操作方式上與鏈路加密類似:兩者均在通信鏈路但它在操作方式上與鏈路加密類似:兩者均在通信鏈路上為傳輸?shù)南⑻峁┌踩?;都在中間節(jié)點(diǎn)先對(duì)消息進(jìn)上為傳輸?shù)南⑻峁┌踩?;都在中間節(jié)點(diǎn)先對(duì)消息進(jìn)行解密,然后進(jìn)行加密。因?yàn)橐獙?duì)所有傳輸?shù)臄?shù)據(jù)進(jìn)行行解密,然后進(jìn)行加密。因?yàn)橐獙?duì)所有傳輸?shù)臄?shù)據(jù)進(jìn)行加密,所以加密過程對(duì)用戶是透明的。加密,所以加密過程對(duì)用戶是透明的。 第28頁l3端對(duì)端加密端對(duì)端加密l 為了解決鏈路加密和節(jié)點(diǎn)對(duì)節(jié)點(diǎn)加密中存在的為了解決鏈路加密和節(jié)點(diǎn)對(duì)節(jié)點(diǎn)加密中存在的不足,人們提出了端對(duì)端加密方式。不足,人們提出了端

24、對(duì)端加密方式。l端對(duì)端加密又稱脫線加密或包加密,它允許數(shù)據(jù)端對(duì)端加密又稱脫線加密或包加密,它允許數(shù)據(jù)在從源節(jié)點(diǎn)被加密后,到終點(diǎn)的傳輸過程中始終在從源節(jié)點(diǎn)被加密后,到終點(diǎn)的傳輸過程中始終以密文形式存在,消息在到達(dá)終點(diǎn)之前不進(jìn)行解以密文形式存在,消息在到達(dá)終點(diǎn)之前不進(jìn)行解密,只有消息到達(dá)目的節(jié)點(diǎn)后才被解密。因?yàn)橄?,只有消息到達(dá)目的節(jié)點(diǎn)后才被解密。因?yàn)橄⒃谡麄€(gè)傳輸過程中均受到保護(hù),所以即使有節(jié)息在整個(gè)傳輸過程中均受到保護(hù),所以即使有節(jié)點(diǎn)被損壞也不會(huì)使消息泄露。因此,端對(duì)端加密點(diǎn)被損壞也不會(huì)使消息泄露。因此,端對(duì)端加密方式可以實(shí)現(xiàn)按各通信對(duì)象的要求改變加密密鑰方式可以實(shí)現(xiàn)按各通信對(duì)象的要求改變加密

25、密鑰以及按應(yīng)用程序進(jìn)行密鑰管理等,而且采用這種以及按應(yīng)用程序進(jìn)行密鑰管理等,而且采用這種方式可以解決文件加密問題。方式可以解決文件加密問題。 第29頁l 目前具體的數(shù)據(jù)加密實(shí)現(xiàn)方法主要有兩種:軟目前具體的數(shù)據(jù)加密實(shí)現(xiàn)方法主要有兩種:軟件加密和硬件加密。件加密和硬件加密。l1 軟件加密軟件加密l 軟件加密一般是用戶在發(fā)送信息前,先調(diào)用信息軟件加密一般是用戶在發(fā)送信息前,先調(diào)用信息安全模塊對(duì)信息進(jìn)行加密處理,然后進(jìn)行發(fā)送。安全模塊對(duì)信息進(jìn)行加密處理,然后進(jìn)行發(fā)送。到達(dá)接收端后,由用戶用相應(yīng)的解密軟件進(jìn)行解到達(dá)接收端后,由用戶用相應(yīng)的解密軟件進(jìn)行解密處理,還原成為明文。密處理,還原成為明文。 l優(yōu)點(diǎn)

26、(實(shí)現(xiàn)方便、兼容性好)優(yōu)點(diǎn)(實(shí)現(xiàn)方便、兼容性好)l缺點(diǎn)(密鑰管理復(fù)雜,容易被攻擊,速度慢)缺點(diǎn)(密鑰管理復(fù)雜,容易被攻擊,速度慢)第30頁l2 硬件加密硬件加密l 硬件加密是采用專門的硬件設(shè)備實(shí)現(xiàn)消息的加密和硬件加密是采用專門的硬件設(shè)備實(shí)現(xiàn)消息的加密和解密處理。隨著微電子技術(shù)的發(fā)展,現(xiàn)在許多加密解密處理。隨著微電子技術(shù)的發(fā)展,現(xiàn)在許多加密產(chǎn)品都是特定的硬件加密形式。這些加、解密芯片產(chǎn)品都是特定的硬件加密形式。這些加、解密芯片被嵌入到通信線路中,然后對(duì)所有通過的數(shù)據(jù)進(jìn)行被嵌入到通信線路中,然后對(duì)所有通過的數(shù)據(jù)進(jìn)行加密和解密處理。加密和解密處理。l特點(diǎn)(易于管理。速度快,安全性高,易安裝)特點(diǎn)(易

27、于管理。速度快,安全性高,易安裝)第31頁l2.1.1 簡(jiǎn)單替換密碼簡(jiǎn)單替換密碼l簡(jiǎn)單替換密碼是古典密碼中使用最早的一種密碼機(jī)制,其實(shí)簡(jiǎn)單替換密碼是古典密碼中使用最早的一種密碼機(jī)制,其實(shí)現(xiàn)方法是將明文按字母表中當(dāng)前的位置向后移動(dòng)現(xiàn)方法是將明文按字母表中當(dāng)前的位置向后移動(dòng)n位,便得到位,便得到加密后的密文,這里的加密后的密文,這里的n就是密鑰。例如,當(dāng)就是密鑰。例如,當(dāng)n=3時(shí)(即以時(shí)(即以n=3為密鑰)時(shí),字符表的替換如下(為便于表述,我們約定為密鑰)時(shí),字符表的替換如下(為便于表述,我們約定在明文中使用小寫字母,而在密文中使用大寫字母):在明文中使用小寫字母,而在密文中使用大寫字母): l明

28、文:明文:a b c d e f g h i j k l m n o p q r s t u v w x y zl密文:密文:D E F G H I J K L M N O P Q R S T U V W X Y Z A B Cl 當(dāng)當(dāng)n=3時(shí)的密碼體制由于被凱撒(時(shí)的密碼體制由于被凱撒(Caesar)成功使用,所)成功使用,所以也稱為凱撒密碼。以也稱為凱撒密碼。 l25種嘗試,密碼空間有限。種嘗試,密碼空間有限。-映射映射第32頁l 使用雙重轉(zhuǎn)換密碼進(jìn)行加密時(shí),首先使用雙重轉(zhuǎn)換密碼進(jìn)行加密時(shí),首先將明文寫成給定大小的矩陣形式,然后根將明文寫成給定大小的矩陣形式,然后根據(jù)給定的置換規(guī)則對(duì)行和列

29、分別進(jìn)行置換。據(jù)給定的置換規(guī)則對(duì)行和列分別進(jìn)行置換。例如,對(duì)明文例如,對(duì)明文“attackattomorrow”寫成寫成44的矩陣形式:的矩陣形式: worromottakcatta第33頁 然后,按照(1,2,3,4)(2 ,3,4,1)的規(guī)則進(jìn)行行置換,然后再按照(1,2,3,4)(3,4,2,1)的規(guī)則進(jìn)行列置換。操作如下: atatrrwotoomcktaattaworromottakcworromottakcatta從而得到的密文為“ATKCMOOTOWRRTATA”。第34頁l 在雙重置換密碼體制中,密鑰由矩陣的大小在雙重置換密碼體制中,密鑰由矩陣的大小以及行、列置換規(guī)則組成。接收

30、者如果知道密鑰,以及行、列置換規(guī)則組成。接收者如果知道密鑰,就可以通過加密過程使用的矩陣大小以及行、列就可以通過加密過程使用的矩陣大小以及行、列的置換規(guī)則來進(jìn)行的置換規(guī)則來進(jìn)行逆向操作逆向操作,從而恢復(fù)得到明文。,從而恢復(fù)得到明文。l例如,對(duì)于前面得到的密文,可以先寫成例如,對(duì)于前面得到的密文,可以先寫成44的的矩陣形式,然后將列進(jìn)行(矩陣形式,然后將列進(jìn)行(3,4,2,1)(1,2,3,4)的置換,再將行進(jìn)行(的置換,再將行進(jìn)行(2 ,3,4,1)(1,2,3,4)的置換。操作如下:的置換。操作如下: 第35頁WORROMOTTAKCATTAATTAWORROMOTTAKCATATRRWOT

31、OOMCKTA于是得到明文“attackatwomorrow”。第36頁l最著名的序列密碼是最著名的序列密碼是“一次一密一次一密”密碼,也稱為密碼,也稱為“一次一次一密亂碼本加密機(jī)制一密亂碼本加密機(jī)制”。其中,一次一密亂碼本是一個(gè)。其中,一次一密亂碼本是一個(gè)大的不重復(fù)的隨機(jī)密鑰字符集,這個(gè)密鑰字符集被寫在大的不重復(fù)的隨機(jī)密鑰字符集,這個(gè)密鑰字符集被寫在幾張紙上,并粘合成一個(gè)本子,該本子稱為亂碼本。每幾張紙上,并粘合成一個(gè)本子,該本子稱為亂碼本。每個(gè)密鑰僅對(duì)一個(gè)消息使用一次。發(fā)送方用亂碼本中的密個(gè)密鑰僅對(duì)一個(gè)消息使用一次。發(fā)送方用亂碼本中的密鑰對(duì)所發(fā)送的消息加密,然后銷毀亂碼本中用過的一頁鑰對(duì)所

32、發(fā)送的消息加密,然后銷毀亂碼本中用過的一頁或用過的磁帶部分。接收方有一個(gè)同樣的亂碼本,并依或用過的磁帶部分。接收方有一個(gè)同樣的亂碼本,并依次使用亂碼本上的每一個(gè)密鑰去解密密文的每個(gè)字符。次使用亂碼本上的每一個(gè)密鑰去解密密文的每個(gè)字符。接收方在解密消息后銷毀亂碼本中用過的一頁或用過的接收方在解密消息后銷毀亂碼本中用過的一頁或用過的磁帶部分。新的消息則用亂碼本的新的密鑰進(jìn)行加密和磁帶部分。新的消息則用亂碼本的新的密鑰進(jìn)行加密和解密。解密?!耙淮我幻芤淮我幻堋泵艽a是一種理想的加密方案,理論密碼是一種理想的加密方案,理論上講,實(shí)現(xiàn)了上講,實(shí)現(xiàn)了“一次一密一次一密”密鑰管理的密碼是不可破譯密鑰管理的密碼

33、是不可破譯的。的。 第37頁第38頁第39頁l 流密碼(即序列密碼)是一種類似于流密碼(即序列密碼)是一種類似于“一次一密一次一密”密碼體制,因?yàn)樵诩用苓^程中密碼體制,因?yàn)樵诩用苓^程中是將密鑰流(密鑰的二進(jìn)制位)與等長(zhǎng)的明是將密鑰流(密鑰的二進(jìn)制位)與等長(zhǎng)的明文的二進(jìn)制位進(jìn)行模文的二進(jìn)制位進(jìn)行模2運(yùn)行,在解密過程中是運(yùn)行,在解密過程中是將密鑰流與密文進(jìn)行逐位模將密鑰流與密文進(jìn)行逐位模2運(yùn)行,所以流密運(yùn)行,所以流密碼是一種對(duì)稱加密方式。碼是一種對(duì)稱加密方式。 第40頁l 在現(xiàn)代計(jì)算機(jī)網(wǎng)絡(luò)中,由于報(bào)文、數(shù)據(jù)和在現(xiàn)代計(jì)算機(jī)網(wǎng)絡(luò)中,由于報(bào)文、數(shù)據(jù)和圖像等消息都可以通過某一編碼技術(shù)轉(zhuǎn)化為二進(jìn)圖像等消息都

34、可以通過某一編碼技術(shù)轉(zhuǎn)化為二進(jìn)制數(shù)字序列,因而可假定流密碼中的明文空間制數(shù)字序列,因而可假定流密碼中的明文空間M是由所有可能的是由所有可能的二進(jìn)制數(shù)字序列組成的集合二進(jìn)制數(shù)字序列組成的集合。設(shè)。設(shè)K為密鑰空間,由于流密碼應(yīng)使用盡可能長(zhǎng)的密為密鑰空間,由于流密碼應(yīng)使用盡可能長(zhǎng)的密鑰,而太長(zhǎng)的密鑰在存儲(chǔ)、分配等方面都有一定鑰,而太長(zhǎng)的密鑰在存儲(chǔ)、分配等方面都有一定的困難,于是研究人員采用一個(gè)短的密鑰的困難,于是研究人員采用一個(gè)短的密鑰kK來來控制某種算法控制某種算法A產(chǎn)生出長(zhǎng)的密鑰序列,產(chǎn)生出長(zhǎng)的密鑰序列, 供加密和供加密和解密使用。而短密鑰解密使用。而短密鑰k的存儲(chǔ)和分配在實(shí)現(xiàn)方式的存儲(chǔ)和分配在

35、實(shí)現(xiàn)方式上都比較容易。根據(jù)密碼學(xué)的約定,算法上都比較容易。根據(jù)密碼學(xué)的約定,算法A是公是公開的,而密鑰開的,而密鑰k是保密的。是保密的。第41頁第42頁第43頁第44頁第45頁圖2-5 A5/1密鑰流生成器的工作過程第46頁l 流密碼和分組密碼都屬于對(duì)稱密鑰算法,流密碼和分組密碼都屬于對(duì)稱密鑰算法,流密碼的基本思想是利用密鑰產(chǎn)生一個(gè)密鑰流密碼的基本思想是利用密鑰產(chǎn)生一個(gè)密鑰流,并通過相應(yīng)的規(guī)則對(duì)明文串進(jìn)行加密和流,并通過相應(yīng)的規(guī)則對(duì)明文串進(jìn)行加密和解密處理。而分組密碼是將明文分為固定長(zhǎng)解密處理。而分組密碼是將明文分為固定長(zhǎng)度的分組,然后通過若干輪(度的分組,然后通過若干輪(round)函數(shù))函

36、數(shù)的迭代操作來產(chǎn)生密文。函數(shù)由于在每一輪的迭代操作來產(chǎn)生密文。函數(shù)由于在每一輪的操作中都使用,所以稱為輪函數(shù),其本輪的操作中都使用,所以稱為輪函數(shù),其本輪的輸入是上一輪的輸出加上密鑰。的輸入是上一輪的輸出加上密鑰。 第47頁第48頁圖2-6 Feistel網(wǎng)絡(luò)結(jié)構(gòu)第49頁第50頁圖2-7 Feistel的加密和解密過程第51頁l 數(shù)據(jù)加密標(biāo)準(zhǔn)(數(shù)據(jù)加密標(biāo)準(zhǔn)(Data Encryption Standard,DES)是由)是由IBM公司在公司在1971年設(shè)計(jì)的一個(gè)加密算年設(shè)計(jì)的一個(gè)加密算法。法。1977年由美國(guó)國(guó)家標(biāo)準(zhǔn)局(現(xiàn)美國(guó)國(guó)家標(biāo)準(zhǔn)年由美國(guó)國(guó)家標(biāo)準(zhǔn)局(現(xiàn)美國(guó)國(guó)家標(biāo)準(zhǔn)技術(shù)委員會(huì))作為第技術(shù)委員

37、會(huì))作為第46號(hào)聯(lián)邦信息處理標(biāo)準(zhǔn)而采號(hào)聯(lián)邦信息處理標(biāo)準(zhǔn)而采用的一種數(shù)據(jù)加密標(biāo)準(zhǔn)。之后,用的一種數(shù)據(jù)加密標(biāo)準(zhǔn)。之后,DES成為金融界成為金融界及其他非軍事行業(yè)應(yīng)用最為廣泛的對(duì)稱加密標(biāo)準(zhǔn)。及其他非軍事行業(yè)應(yīng)用最為廣泛的對(duì)稱加密標(biāo)準(zhǔn)。DES是分組密碼的典型代表,也是第一個(gè)被公布是分組密碼的典型代表,也是第一個(gè)被公布出來的標(biāo)準(zhǔn)算法。出來的標(biāo)準(zhǔn)算法。DES的算法完全公開,在密碼的算法完全公開,在密碼學(xué)史上開創(chuàng)了先河。學(xué)史上開創(chuàng)了先河。DES是迄今為止世界上應(yīng)用是迄今為止世界上應(yīng)用最為廣泛的一種分組密碼算法。最為廣泛的一種分組密碼算法。 第52頁l1 DES的算法描述的算法描述l DES是一個(gè)完全遵循是一

38、個(gè)完全遵循Feistel密碼結(jié)構(gòu)的分組密碼算法。密碼結(jié)構(gòu)的分組密碼算法。DES將明文以將明文以64bit為單位分組進(jìn)行加密,在一次加密過為單位分組進(jìn)行加密,在一次加密過程中以程中以64bit為一組的明文從算法的一端輸入,同時(shí)在另為一組的明文從算法的一端輸入,同時(shí)在另一端輸入一端輸入64bit的密文。的密文。DES中密鑰的長(zhǎng)度通常應(yīng)為中密鑰的長(zhǎng)度通常應(yīng)為64bit,但其中后面的但其中后面的8bit作為奇偶校驗(yàn)使用,所以實(shí)際使用的只作為奇偶校驗(yàn)使用,所以實(shí)際使用的只有有56bit。 l如圖如圖2-8所示,所示,DES的基本加密過程總共有的基本加密過程總共有19個(gè)步驟。其個(gè)步驟。其中,第中,第1步是

39、一個(gè)與密鑰無關(guān)的置換操作,它直接將步是一個(gè)與密鑰無關(guān)的置換操作,它直接將64bit的明文分為左右兩部分,每一部分為的明文分為左右兩部分,每一部分為32bit。最后一步。最后一步(即第(即第19步)正好是對(duì)第步)正好是對(duì)第1步中置換的逆操作。而第步中置換的逆操作。而第18步步是交換左是交換左32bit和右和右32bit。其他。其他16步的功能完全相同,但步的功能完全相同,但使用了原始密鑰的不同子密鑰使用了原始密鑰的不同子密鑰ki作為輪函數(shù)作為輪函數(shù)F的參數(shù)。的參數(shù)。lDES算法的設(shè)計(jì)允許使用同樣的密鑰來完成解密過程,算法的設(shè)計(jì)允許使用同樣的密鑰來完成解密過程,而且解密是加密的逆過程。這正是任何一

40、個(gè)對(duì)稱密鑰算而且解密是加密的逆過程。這正是任何一個(gè)對(duì)稱密鑰算法必須滿足的一個(gè)條件。法必須滿足的一個(gè)條件。 第53頁l輸入的輸入的64位數(shù)據(jù)按置換位數(shù)據(jù)按置換IP表進(jìn)行重新組合,并表進(jìn)行重新組合,并把輸出分為把輸出分為L(zhǎng)0、R0兩部分,每部分各長(zhǎng)兩部分,每部分各長(zhǎng)32位,位,其置換其置換IP表如表所示。表如表所示。58501234261810260524436282012462544638302214664564840322416857494133251791595143352719113615345372921135635547393123157第54頁l將輸入將輸入64位比特的第位比特的第5

41、8位換到第一位,第位換到第一位,第50位換到第二位,依此類推,位換到第二位,依此類推,最后一位是原來的第最后一位是原來的第7位。位。L0、R0則是換位輸出后的兩部分,則是換位輸出后的兩部分,L0是輸出是輸出的左的左32位,位,R0是右是右32位。比如:置換前的輸入值為位。比如:置換前的輸入值為D1D2D3D64,則,則經(jīng)過初始置換后的結(jié)果為:經(jīng)過初始置換后的結(jié)果為:L0=D58D50.D8,R0=D57D49.D7。l經(jīng)過經(jīng)過16次迭代運(yùn)算后。得到次迭代運(yùn)算后。得到L16、R16,將此作為輸入,進(jìn)行逆置換,即,將此作為輸入,進(jìn)行逆置換,即得到密文輸出。逆置換正好是初始置的逆運(yùn)算,例如,第得到密

42、文輸出。逆置換正好是初始置的逆運(yùn)算,例如,第1位經(jīng)過初始置位經(jīng)過初始置換后,處于第換后,處于第40位,而通過逆置換位,而通過逆置換IP-1,又將第,又將第40位換回到第位換回到第1位,其逆位,其逆置換置換IP-1規(guī)則表規(guī)則表8-2所示。所示。第55頁40848165624643239747155523633138646145422623037545135321612936444125220602835343115119592734242105018582633141949175725第56頁圖2-8 DES算法示意圖第57頁l下面是對(duì)下面是對(duì)DES的總結(jié):的總結(jié):l 是使用是使用16輪操作的輪

43、操作的Feistel結(jié)構(gòu)密碼。結(jié)構(gòu)密碼。l 分組長(zhǎng)度為分組長(zhǎng)度為64bit。l 使用使用56bit的密鑰。的密鑰。l 每一輪使用每一輪使用48bit的子密鑰,每一個(gè)子密鑰的子密鑰,每一個(gè)子密鑰都是由都是由56bit的密鑰的子集構(gòu)成。的密鑰的子集構(gòu)成。第58頁l2 DES中每一輪操作的過程中每一輪操作的過程l 如圖如圖2-9是是16輪輪Feistel結(jié)構(gòu)密碼操作中其中一結(jié)構(gòu)密碼操作中其中一輪的示意圖。下面對(duì)圖輪的示意圖。下面對(duì)圖2-8中每一輪操作進(jìn)行介中每一輪操作進(jìn)行介紹。因?yàn)榻B。因?yàn)镈ES算法中每一組明文的長(zhǎng)度為算法中每一組明文的長(zhǎng)度為64bit,所以根據(jù)所以根據(jù)Feistel結(jié)構(gòu)密碼的規(guī)則,

44、將其分為左右結(jié)構(gòu)密碼的規(guī)則,將其分為左右兩部分,每一部分為兩部分,每一部分為32bit。與所有。與所有Feistel結(jié)構(gòu)結(jié)構(gòu)密碼一樣,每一輪的處理都遵循以下的數(shù)學(xué)描述:密碼一樣,每一輪的處理都遵循以下的數(shù)學(xué)描述:),(111iiiiiikRFLRRL第59頁圖2-9 DES中每一輪操作的示意圖 第60頁l擴(kuò)展置換的算法是從擴(kuò)展置換的算法是從Ri-1的的32位中選取某些位,構(gòu)成位中選取某些位,構(gòu)成48位。即將位。即將32比特?cái)U(kuò)展變換為比特?cái)U(kuò)展變換為48位,變換規(guī)則根據(jù)位,變換規(guī)則根據(jù)E位選擇表,如表所示。位選擇表,如表所示。321234545678989101112131213141516171

45、6171819202120212223242524252627282928293031321第61頁l3 DES中的中的S盒盒l(wèi) “S盒盒”是是DES算法中的核心。正是由于算法中的核心。正是由于S盒的盒的重要性,所以相關(guān)技術(shù)細(xì)節(jié)一直未被公開。這也重要性,所以相關(guān)技術(shù)細(xì)節(jié)一直未被公開。這也是有人懷疑是有人懷疑DES算法留有安全后門的一個(gè)原因,算法留有安全后門的一個(gè)原因,不過不過S盒確實(shí)增加了盒確實(shí)增加了DES算法抵抗密碼攻擊的能算法抵抗密碼攻擊的能力。力。lS盒在輪函數(shù)盒在輪函數(shù)F中的產(chǎn)用如圖中的產(chǎn)用如圖2-10所示。一次替換所示。一次替換由一組共由一組共8個(gè)個(gè)S盒組成。其中每一個(gè)盒組成。其中每

46、一個(gè)S盒都接受盒都接受6bit的輸入,產(chǎn)生的輸入,產(chǎn)生4bit的輸出。這樣,的輸出。這樣,48bit的輸?shù)妮斎胱詈蟮玫饺胱詈蟮玫?2bit的輸出。的輸出。 第62頁圖2-10 S盒的替換操作第63頁lS盒的輸出作為盒的輸出作為P變換的輸入,變換的輸入,P的功能是對(duì)的功能是對(duì)輸入進(jìn)行置換,輸入進(jìn)行置換,P換位表如表所示換位表如表所示1672021291228171152326518311028241432273919133062211425第64頁l4 DES算法的特點(diǎn)算法的特點(diǎn)l DES算法綜合應(yīng)用于算法綜合應(yīng)用于置換、替換、移位置換、替換、移位等多種密碼技術(shù)。等多種密碼技術(shù)。在算法結(jié)構(gòu)上采用

47、了在算法結(jié)構(gòu)上采用了Feistel密碼結(jié)構(gòu)密碼結(jié)構(gòu),結(jié)構(gòu)緊湊,便于,結(jié)構(gòu)緊湊,便于實(shí)現(xiàn)。實(shí)現(xiàn)。l在一次加密過程中,在一次加密過程中,DES使用了初始置換和逆初始置換使用了初始置換和逆初始置換各各1次,置換操作次,置換操作16次,這樣做的目的是將數(shù)據(jù)徹底打亂次,這樣做的目的是將數(shù)據(jù)徹底打亂重排。重排。S盒是盒是DES保密性的關(guān)鍵,它將保密性的關(guān)鍵,它將6bit的輸入映射為的輸入映射為4bit的輸出,是一個(gè)非線性變換(其本質(zhì)是數(shù)據(jù)壓縮),的輸出,是一個(gè)非線性變換(其本質(zhì)是數(shù)據(jù)壓縮),具有較高的保密性。具有較高的保密性。l DES算法也存在一些問題:一是算法也存在一些問題:一是56bit的密鑰長(zhǎng)度太

48、短,的密鑰長(zhǎng)度太短,影響了影響了DES的保密性;二是在的保密性;二是在16次迭代加密過程中,使次迭代加密過程中,使用的用的16個(gè)子密鑰可能存在弱密鑰或半弱密鑰現(xiàn)象。個(gè)子密鑰可能存在弱密鑰或半弱密鑰現(xiàn)象。 第65頁lDES算法具有比較高安全性,到目前為止,除了用窮舉搜索法對(duì)DES算法進(jìn)行攻擊外,還沒有發(fā)現(xiàn)更有效的辦法。而56位長(zhǎng)的密鑰的窮舉空間為256,這意味著如果一臺(tái)計(jì)算機(jī)的速度是每一秒種檢測(cè)一百萬個(gè)密鑰,則它搜索完全部密鑰就需要將近2285年的時(shí)間,可見,這是難以實(shí)現(xiàn)的,當(dāng)然,隨著科學(xué)技術(shù)的發(fā)展,當(dāng)出現(xiàn)超高速計(jì)算機(jī)后,我們可考慮把DES密鑰的長(zhǎng)度再增長(zhǎng)一些,以此來達(dá)到更高的保密程度。第66頁

49、第67頁第68頁l由于由于DES存在的缺陷出現(xiàn)了存在的缺陷出現(xiàn)了3DES,但,但3DES在應(yīng)用中也在應(yīng)用中也難以避免類似于難以避免類似于DES的厄運(yùn)。為此,美國(guó)標(biāo)準(zhǔn)和技術(shù)委的厄運(yùn)。為此,美國(guó)標(biāo)準(zhǔn)和技術(shù)委員會(huì)(員會(huì)(NIST)于)于1997年開始向世界各地的研究人員發(fā)起年開始向世界各地的研究人員發(fā)起邀請(qǐng),征集一個(gè)新的加密標(biāo)準(zhǔn)方案,這個(gè)方案就是邀請(qǐng),征集一個(gè)新的加密標(biāo)準(zhǔn)方案,這個(gè)方案就是高級(jí)高級(jí)加密標(biāo)準(zhǔn)加密標(biāo)準(zhǔn)(Advanced Encryption Standard,AES)。)。該加密標(biāo)準(zhǔn)要求具有以下的功能特點(diǎn):該加密標(biāo)準(zhǔn)要求具有以下的功能特點(diǎn):l 必須是一個(gè)對(duì)稱加密算法。必須是一個(gè)對(duì)稱加密算

50、法。l 必須公開所有的算法設(shè)計(jì)。必須公開所有的算法設(shè)計(jì)。l 必須支持必須支持128、192和和256bit密鑰長(zhǎng)度。密鑰長(zhǎng)度。l 可同時(shí)支持軟件和硬件兩種實(shí)現(xiàn)方式??赏瑫r(shí)支持軟件和硬件兩種實(shí)現(xiàn)方式。 第69頁l1 AES的特點(diǎn)的特點(diǎn)l 1998年年8月,月,NIST根據(jù)對(duì)算法的安全性、效率、簡(jiǎn)根據(jù)對(duì)算法的安全性、效率、簡(jiǎn)單性、靈活性和內(nèi)存需求等方面的綜合考慮,從收到的單性、靈活性和內(nèi)存需求等方面的綜合考慮,從收到的15個(gè)提案中確定了其中個(gè)提案中確定了其中5個(gè)方案。通過對(duì)這個(gè)方案。通過對(duì)這5個(gè)方案的無個(gè)方案的無記名投票表決,于記名投票表決,于2001年年10月確定了月確定了Rijndael作為美

51、國(guó)作為美國(guó)政府標(biāo)準(zhǔn),并作為聯(lián)邦信息處理標(biāo)準(zhǔn)政府標(biāo)準(zhǔn),并作為聯(lián)邦信息處理標(biāo)準(zhǔn)FIPS197被正式發(fā)表。被正式發(fā)表。l在在Rijndael中,中,密鑰長(zhǎng)度和數(shù)據(jù)塊長(zhǎng)度可以單獨(dú)選擇密鑰長(zhǎng)度和數(shù)據(jù)塊長(zhǎng)度可以單獨(dú)選擇,之,之間沒有必然的聯(lián)系。密鑰和數(shù)據(jù)塊的長(zhǎng)度以間沒有必然的聯(lián)系。密鑰和數(shù)據(jù)塊的長(zhǎng)度以32bit為間隔為間隔遞增,從遞增,從128bit到到256bit之間。在具體實(shí)施中,之間。在具體實(shí)施中,AES一般一般有兩種方案:有兩種方案:l一種是數(shù)據(jù)塊為一種是數(shù)據(jù)塊為128bit,而密鑰也為,而密鑰也為128bit;l一種是數(shù)據(jù)塊為一種是數(shù)據(jù)塊為128bit,而密鑰為,而密鑰為256bit。而原定的。

52、而原定的192bit的密鑰幾乎不使用。的密鑰幾乎不使用。 第70頁l l與與DES一樣,一樣,AES也是一種迭代分組密碼,同樣使用了也是一種迭代分組密碼,同樣使用了多輪置換和替換操作,并且操作是可逆的。但與多輪置換和替換操作,并且操作是可逆的。但與DES不不同的是,同的是,AES算法不是算法不是Feistel密碼結(jié)構(gòu),密碼結(jié)構(gòu),AES的操作輪的操作輪數(shù)在數(shù)在1014之間。其中當(dāng)數(shù)據(jù)塊和密鑰都為之間。其中當(dāng)數(shù)據(jù)塊和密鑰都為128bit時(shí),輪時(shí),輪數(shù)為數(shù)為10;隨著數(shù)據(jù)塊和密鑰長(zhǎng)度的增加,操作輪數(shù)也會(huì);隨著數(shù)據(jù)塊和密鑰長(zhǎng)度的增加,操作輪數(shù)也會(huì)隨之增加,最大值為隨之增加,最大值為14。不過,在每一次

53、操作中,。不過,在每一次操作中,DES是直接以是直接以bit為單位,而在為單位,而在AES中則以中則以8bit的字節(jié)為單位。的字節(jié)為單位。這樣做的目的是便于通過硬件和軟件實(shí)現(xiàn)。這樣做的目的是便于通過硬件和軟件實(shí)現(xiàn)。第71頁lAES的每一輪操作包括的每一輪操作包括4個(gè)函數(shù):個(gè)函數(shù):l ByteSub(字節(jié)替換):用一張稱為(字節(jié)替換):用一張稱為S盒子的固定表來執(zhí)行盒子的固定表來執(zhí)行字節(jié)到字節(jié)的替換。字節(jié)到字節(jié)的替換。l ShiftRow(行移位置換):行與行之間執(zhí)行簡(jiǎn)單的置換。(行移位置換):行與行之間執(zhí)行簡(jiǎn)單的置換。l MixColumn(列混淆替換):列中的每一個(gè)字節(jié)替換成該(列混淆替換)

54、:列中的每一個(gè)字節(jié)替換成該列所有字節(jié)的一個(gè)函數(shù)。列所有字節(jié)的一個(gè)函數(shù)。l AddRoundKey(輪密鑰加):用當(dāng)前的數(shù)據(jù)塊與擴(kuò)充密鑰(輪密鑰加):用當(dāng)前的數(shù)據(jù)塊與擴(kuò)充密鑰的一部分進(jìn)行簡(jiǎn)單的的一部分進(jìn)行簡(jiǎn)單的XOR運(yùn)算。運(yùn)算。l以上個(gè)函數(shù)中,具體為以上個(gè)函數(shù)中,具體為1次置換次置換3次替換。次替換。第72頁l 在分組密碼算法中,本書重點(diǎn)介紹了在分組密碼算法中,本書重點(diǎn)介紹了DES、3DES和和AES。除此之。除此之外,本節(jié)將簡(jiǎn)要介紹幾種重要的分組密碼算法。外,本節(jié)將簡(jiǎn)要介紹幾種重要的分組密碼算法。l1 國(guó)際數(shù)據(jù)加密算法(國(guó)際數(shù)據(jù)加密算法(IDEA)l DES加密標(biāo)準(zhǔn)的出現(xiàn)在密碼學(xué)上具有劃時(shí)代的

55、意義,但比加密標(biāo)準(zhǔn)的出現(xiàn)在密碼學(xué)上具有劃時(shí)代的意義,但比DES更安更安全的加密算法也在不斷出現(xiàn),除全的加密算法也在不斷出現(xiàn),除3DES外,另一個(gè)對(duì)稱加密系統(tǒng)是外,另一個(gè)對(duì)稱加密系統(tǒng)是國(guó)國(guó)際數(shù)據(jù)加密算法(際數(shù)據(jù)加密算法(International Data Encryption Algorithm,IDEA)。)。lIDEA的的明文和密文都是明文和密文都是64位,但密鑰長(zhǎng)度為位,但密鑰長(zhǎng)度為128位位,因而更加安全。,因而更加安全。IDEA和和DES相似,也是先將明文劃分為一個(gè)個(gè)相似,也是先將明文劃分為一個(gè)個(gè)64位的數(shù)據(jù)塊,然后位的數(shù)據(jù)塊,然后經(jīng)過經(jīng)過8輪編碼和一次替換,得出輪編碼和一次替換,得

56、出64位的密文。同時(shí),對(duì)于每一輪的編位的密文。同時(shí),對(duì)于每一輪的編碼,每一個(gè)輸出位都與每一個(gè)輸入位有關(guān)。碼,每一個(gè)輸出位都與每一個(gè)輸入位有關(guān)。IDEA比比DES的加密性好,的加密性好,加密和解密的運(yùn)算速度很快,無論是軟件還是硬件,實(shí)現(xiàn)起來都比加密和解密的運(yùn)算速度很快,無論是軟件還是硬件,實(shí)現(xiàn)起來都比較容易。較容易。第73頁l2RC5/RC6l RC5和和RC6分組密碼算法是由分組密碼算法是由MIT(麻省理工學(xué)院)的(麻省理工學(xué)院)的Ron Rivest于于1994年提出的,并由年提出的,并由RSA實(shí)驗(yàn)室對(duì)其性能進(jìn)行分析。實(shí)驗(yàn)室對(duì)其性能進(jìn)行分析。RC5適合于硬件和軟件實(shí)現(xiàn),只使用在微處理上。適合

57、于硬件和軟件實(shí)現(xiàn),只使用在微處理上。RC5的設(shè)計(jì)特性為:的設(shè)計(jì)特性為:l(1)快速。)快速。RC5是是面向字的面向字的,在基本操作中每次對(duì)數(shù)據(jù)的整個(gè)字進(jìn),在基本操作中每次對(duì)數(shù)據(jù)的整個(gè)字進(jìn)行處理。行處理。l(2)適用于不同字長(zhǎng)的處理器。一個(gè)字中的位數(shù)作為)適用于不同字長(zhǎng)的處理器。一個(gè)字中的位數(shù)作為RC5的一個(gè)參的一個(gè)參數(shù),不同的字長(zhǎng)使用不同的算法。數(shù),不同的字長(zhǎng)使用不同的算法。l(3) 可變的循環(huán)次數(shù)。循環(huán)次數(shù)是可變的循環(huán)次數(shù)。循環(huán)次數(shù)是RC5的另一個(gè)參數(shù),這個(gè)參數(shù)使的另一個(gè)參數(shù),這個(gè)參數(shù)使RC5可以在更高的速度和更高的安全性之間進(jìn)行折衷選擇。可以在更高的速度和更高的安全性之間進(jìn)行折衷選擇。第7

58、4頁l(4) 可變長(zhǎng)度的密鑰。密鑰長(zhǎng)度是可變長(zhǎng)度的密鑰。密鑰長(zhǎng)度是RC5的第的第3個(gè)參數(shù),這個(gè)參數(shù)可以用來在更高的速度和更高個(gè)參數(shù),這個(gè)參數(shù)可以用來在更高的速度和更高的安全性之間進(jìn)行折衷選擇。的安全性之間進(jìn)行折衷選擇。l(5) 結(jié)構(gòu)簡(jiǎn)單。結(jié)構(gòu)簡(jiǎn)單。RC5的結(jié)構(gòu)簡(jiǎn)單,易于實(shí)現(xiàn),的結(jié)構(gòu)簡(jiǎn)單,易于實(shí)現(xiàn),并簡(jiǎn)化了確定算法的操作強(qiáng)度。并簡(jiǎn)化了確定算法的操作強(qiáng)度。l(6) 內(nèi)存要求低。由于內(nèi)存要求低。由于RC5算法對(duì)設(shè)備內(nèi)存的算法對(duì)設(shè)備內(nèi)存的要求很低,所以可以應(yīng)用在智能卡等有限內(nèi)存的要求很低,所以可以應(yīng)用在智能卡等有限內(nèi)存的設(shè)備上。設(shè)備上。l(7) 大量使用數(shù)據(jù)依賴循環(huán)。大量使用數(shù)據(jù)依賴循環(huán)。RC5中移位

59、的位中移位的位數(shù)依賴于數(shù)據(jù)的循環(huán)操作,以加強(qiáng)算法對(duì)密碼分?jǐn)?shù)依賴于數(shù)據(jù)的循環(huán)操作,以加強(qiáng)算法對(duì)密碼分析的抵抗能力。析的抵抗能力。第75頁l 非對(duì)稱加密也稱為公鑰加密。在對(duì)稱加密系統(tǒng)非對(duì)稱加密也稱為公鑰加密。在對(duì)稱加密系統(tǒng)中,加密和解密的雙方使用的是相同的密鑰。在中,加密和解密的雙方使用的是相同的密鑰。在實(shí)際情況下,怎么才能實(shí)現(xiàn)加密和解密的密鑰一實(shí)際情況下,怎么才能實(shí)現(xiàn)加密和解密的密鑰一致呢?一般有兩種方式:致呢?一般有兩種方式:事先約定和用信使來傳事先約定和用信使來傳送送。如果加密和解密的雙方對(duì)密鑰進(jìn)行了事先約。如果加密和解密的雙方對(duì)密鑰進(jìn)行了事先約定,就會(huì)給密鑰的管理和更換帶來極大的不便;定,

60、就會(huì)給密鑰的管理和更換帶來極大的不便;如果使用信使來傳送密鑰,很顯然是不安全的。如果使用信使來傳送密鑰,很顯然是不安全的。另一種可行的方法是另一種可行的方法是通過密鑰分配中心(通過密鑰分配中心(Key Distribution Center,KDC)來管理密鑰)來管理密鑰,這種,這種方法雖然安全性較高,但所需要的成本也會(huì)增大。方法雖然安全性較高,但所需要的成本也會(huì)增大。而非對(duì)稱加密可以解決此問題。而非對(duì)稱加密可以解決此問題。 第76頁l非對(duì)稱加密中使用的公開密鑰(或公鑰密鑰)的非對(duì)稱加密中使用的公開密鑰(或公鑰密鑰)的概念是在解決對(duì)稱加密的單密碼方式中最難解決概念是在解決對(duì)稱加密的單密碼方式中

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論