2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩186頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1,第 2 章 數(shù) 據(jù) 加 密,2.1 數(shù)據(jù)加密概述 2.2 對(duì)稱密碼體制 2.3 非對(duì)稱密碼體制2.4 密鑰的管理 2.5軟件與硬件加密技術(shù)2.6信息偽裝與數(shù)字水印,2,密碼學(xué)的發(fā)展歷史:第1階段:1949年以前,密碼技術(shù)表現(xiàn)為一種藝術(shù); 第2階段:從1949年到1975年,密碼學(xué)成為了一門學(xué)科;標(biāo)志:1949年Shannon發(fā)表的《保密系統(tǒng)的信息理論》一文。 第3階段:1976年至今,開創(chuàng)了公鑰密碼學(xué)的新紀(jì)元。

2、標(biāo)志:1976年Diffie和Hellman發(fā)表了《密碼學(xué)新方向》一文。,密碼學(xué)(Cryptology)一字源于希臘文“krypto’s”及”logos”兩字,直譯即為“隱藏”及”訊息”之意。,3,2.1 數(shù)字加密概述,一個(gè)加密系統(tǒng)采用的基本工作方式稱為密碼體制,密碼體制的基本要素是密碼算法和密鑰,其中密碼算法是一些公式、法則或程序,而密鑰是密碼算法中的可變參數(shù)。密碼算法分為加密和解密算法,前者是將明文變換成密文,后者是將密文變換成

3、明文;密鑰相應(yīng)地也分為加密密鑰和解密密鑰。,4,加密和解密,加密,解密,,,,明文M,密文C,原始明文M,E(M)=C.,D(C)=M,D(E(M))=M,,5,組成部分,X,明文(plain-text): 作為加密輸入的原始信息。Y,密文(cipher-text):對(duì)明文變換的結(jié)果。E,加密(encrypt):是一組含有參數(shù)的變換。D,解密(decrypt):加密的逆變換。Z,密鑰(key):是參與加密解密變換的參數(shù)。,一密碼

4、系統(tǒng)由算法以及所有可能的明文、密文和密鑰(分別稱為明文空間、密文空間和密鑰空間)組成。,6,加密和解密,1*.Alice要將明文X在不安全信道上發(fā)給Bob,設(shè)X=x1 x2… xn , 其中xi ∈P, Alice用加密算法ek作yi=ek(xi) 1≤ i≤ n 結(jié)果的密文是 Y=y1y2….yn ,在信道上發(fā)送, Bob收到后解密:xi=dk(yi) 得到明文X=x1 x2… xn .。2*.加密函

5、數(shù)ek必須是單射函數(shù),就是一對(duì)一的函數(shù)。3*.好的密鑰算法是唯密鑰而保密的。4*.若Alice和Bob在一次通信中使用相同的密鑰,那么這個(gè)加密體制為對(duì)稱的,否則稱為非對(duì)稱的。,7,密碼體制的分類,幾種不同的分類標(biāo)準(zhǔn) 按操作方式進(jìn)行分類(操作方式:是明文變換成密文的方法。)替代操作、置換操作、混合操作。按照使用密鑰的數(shù)量進(jìn)行分類對(duì)稱密鑰(單密鑰)。公開密鑰(雙密鑰)。按照對(duì)明文的處理方法進(jìn)行分類流密碼。分組密碼。,8

6、,Kerckhoffs假設(shè) (Auguste Kerckhoff,1883),假定: 密碼分析者知道對(duì)方所使用的密碼系統(tǒng),包括明文的統(tǒng)計(jì)特性、加密體制(操作方式、處理方法和加/解密算法 )、密鑰空間及其統(tǒng)計(jì)特性。不知道密鑰。 在設(shè)計(jì)一個(gè)密碼系統(tǒng)時(shí),目標(biāo)是在Kerckhoffs 假設(shè)的前提下實(shí)現(xiàn)安全 。,9,密碼系統(tǒng),一個(gè)好的密碼系統(tǒng)應(yīng)滿足:系統(tǒng)理論上安全,或計(jì)算上安全;系統(tǒng)的保密性是依賴于密鑰

7、的,而不是依賴于對(duì)加密體制或算法的保密;否則稱為“含糊安全性”:企圖使算法保密的做法。加密和解密算法適用于密鑰空間中的所有元素; 系統(tǒng)既易于實(shí)現(xiàn)又便于使用。,10,加密的功能,保密性:基本功能,使非授權(quán)者無法知道消息的內(nèi)容。 鑒別:消息的接收者應(yīng)該能夠確認(rèn)消息的來源。 完整性:消息的接收者應(yīng)該能夠驗(yàn)證消息在傳輸過程中沒有被改變。 不可否認(rèn)性:發(fā)送方不能否認(rèn)已發(fā)送的消息。,11,2.1.1 保密通信模型 首先來

8、看一個(gè)保密通信系統(tǒng)的基本模型,如圖2.1所示:A向B發(fā)送一報(bào)文,為了不被E竊聽,A對(duì)報(bào)文進(jìn)行加密,然后在通信信道上進(jìn)行傳輸,B收到報(bào)文后進(jìn)行解密,得到原來的報(bào)文。,12,圖2.1 保密通信系統(tǒng)的模型,13,2.1.2 經(jīng)典加密方法1.換位加密法(Transposition)(1)鐵軌法(Railroad Method)鐵軌法是換位算法最基本的形式。首先,它要求明文的長度必須是4的倍數(shù),不符合要求則在明文最后加上一些字母以符合

9、加密的條件。 例如,明文“STRIKE WHILE THE IRON IS HOT”就不滿足條件(空白不計(jì)),故在尾端加上字母“E”使明文的長度變成4的倍數(shù),接著將明文以從上到下的順序逐列寫出,表示如下:S R K W I E H I O I H TT I E H L T E R N S O E,14,依序由左而右再由上而下地寫出字母即為密文,表示如下:

10、SRKWIEHIOIHTTITIEHLTERNSOE為方便起見,將密文每4個(gè)字母一組,其間用空格隔開: SRKW IEHI OIHT TIRH LYRT NSOE,15,這就是為什么要使密文長度為4的倍數(shù)的原因了。接收方收到此密文后,因?yàn)橹兰用艿捻樞?,因此,接收方可將密文以一直線從中分為兩個(gè)部分,如下所示:SRKW IEHI OIHT | TIRH LYRT NSOE然后左右兩半依序輪

11、流讀出字母便可以還原成原來的明文了。當(dāng)然,在寫明文時(shí)也可以寫成三列或四列等。寫法不同,則解法也相應(yīng)不同。,16,(2)路游法 路游法可以說是一種鐵軌法的推廣。同樣,此法也必須將明文的長度調(diào)整為4的倍數(shù)。之后將調(diào)整過的明文依由左而右由上而下的順序(此順序稱之為排列順序)填入方格矩陣中。依前例,可以得到如下矩陣。,17,有了此矩陣后,便可以依照某一事先規(guī)定的路徑(稱為游走路徑)來游走矩陣并輸出所經(jīng)過的字母,此即為密文。

12、如果以如圖2.2所示的游走路徑來走,則可以得到如下的密文:ETNETOEKILROHIIRTHESIHWS,18,圖2.2 游走路徑,19,(3)密鑰法 密鑰法最大的好處是就是將加密者和解密者雙方所持有的加、解密信息具體化。密鑰法大致來說與路游法相似,首先也是將明文填入一個(gè)矩陣(見路游法中的矩陣),接著,任意挑選一個(gè)密鑰,如以“PREDIC”這個(gè)英文單字為加、解密雙方所協(xié)議的共同密鑰,然后,將密鑰寫于矩陣上方,

13、如下所示。,,20,21,接著依照加密密鑰字母的順序分別依序讀出其相對(duì)應(yīng)的列便可得到密文,即先讀出字母C對(duì)應(yīng)的列,再依次讀出字母DEIPR對(duì)應(yīng)的列,得到密文如下:E T N E I L R O R I I HKE O TSWH I H T ES,22,2.替換加密法(Substitution) 替換加密法與此思路完全相反,對(duì)于明文的每一個(gè)字母并不去改變它的位置,只是將它以別的字母或符號(hào)取代。,23,24,(1)旋轉(zhuǎn)替換法

14、 假設(shè)有一個(gè)由兩個(gè)同心圓所組成的密碼轉(zhuǎn)盤,如圖2.3所示。,,25,圖2.3 密碼轉(zhuǎn)盤圖,圖2.4 旋轉(zhuǎn)后的密碼轉(zhuǎn)盤,26,(2)Lewis Carroll’s Vigenere代換法,一種以移位代換為基礎(chǔ)的周期代換密碼,為1858年法國密碼學(xué)家維吉尼亞提出。 構(gòu)成明文:每個(gè)字符惟一對(duì)應(yīng)一個(gè)0~25間的數(shù)字。密鑰:一個(gè)字符串,其中每個(gè)字符同明文一樣對(duì)應(yīng)一個(gè)數(shù)字,代表位移值,如a 表示位移 0,b 表示位移 1,c 表示

15、位移 2,...... )。加密過程:將明文數(shù)字串依據(jù)密鑰長度分段,并逐一與密鑰數(shù)字串相加(模26),得到密文數(shù)字串;最后,將密文數(shù)字串轉(zhuǎn)換為字母串。,27,,例如:明文為System,密鑰為dog,加密過程如下:明文:S y s t e m密鑰:d o g d o g密文:V m g w r s在這個(gè)例子中,每三個(gè)字母中的第一、第二、第三個(gè)字母分別移動(dòng)(mod 26)3個(gè),14個(gè)和6個(gè)位置。,28,首先構(gòu)造一個(gè)維吉尼亞方

16、陣:它的基本陣列是26行26列的方陣.方陣的第一行是按正常順序排列的字母表,第二行是第一行左移循環(huán)1位得到的,依此類推,得到其余各行.然后在基本方陣的最上方附加一行,最左側(cè)附加一列,分別依序?qū)懮蟖到z 26個(gè)字母,表的第一行與與附加列上的的字母a相對(duì)應(yīng),表的第二行與附加列上的字母b相對(duì)應(yīng)..最后一行與附加列上的字母z相對(duì)應(yīng).如果把上面的附加行看作是明文序列,則下面的26行就分別構(gòu)成了左移0位,1位,2位…,25位的26個(gè)單表代換加同余密

17、碼的密文序列。加密時(shí),按照密鑰字的指示,決定采用哪一個(gè)單表。,29,30,維吉尼亞密碼密鑰字 encryptionencryptione明 文:publickeydistribution密 文:thdcgrdmmqmfvrgqnbwbr,由于密鑰字比明文短,所以要重復(fù)書寫密鑰字,以得與明文等長的密鑰序列。,31,,2.1.3 現(xiàn)代密碼體制1.對(duì)稱密碼體制和非對(duì)稱密碼體制 對(duì)稱密碼體制又稱為秘密密鑰密碼體制(或單

18、密鑰密碼體制/隱蔽密鑰密碼體制),即加密密鑰和解密密鑰相同或一個(gè)可由另一個(gè)導(dǎo)出。 非對(duì)稱密碼體制又稱為公開密鑰密碼體制,即加密密鑰公開,解密密鑰不公開,從一個(gè)推導(dǎo)出另一個(gè)是不可行的。,32,2.分組密碼體制和序列密碼體制 這是根據(jù)密碼算法對(duì)明文信息的加密方式進(jìn)行分類的方法。如果密文僅與給定的密碼算法和密鑰有關(guān),與被處理的明文數(shù)據(jù)段在整個(gè)明文(或密文)中所處的位置無關(guān),則稱為分組密碼體制。分組密碼體制就是將

19、明文分成固定長度的組,如64bit一組,用同一密鑰和算法對(duì)每一組加密,輸出也是固定長度的密文。 如果密文不僅與給定的密碼算法和密鑰有關(guān),同時(shí)也是被處理的明文數(shù)據(jù)段在整個(gè)明文(或密文)中所處的位置的函數(shù),則稱為序列密碼體制。,33,3.確定型密碼體制和概率密碼體制 如果一個(gè)加密過程可以描述為:當(dāng)明文和密鑰確定后,密文的形式也就惟一地確定,則稱為確定型密碼體制。前面提到的加密方法中,多數(shù)屬于這一類。 如果一

20、個(gè)加密過程可以描述為:當(dāng)明文和密鑰確定后,密文的形式仍是不確定的,最后產(chǎn)生出來的密文通過客觀隨機(jī)因素從一個(gè)密文集合中選出,則稱為概率密碼體制。 4.單向函數(shù)密碼體制和雙向變換密碼體制,34,2.2 對(duì)稱密碼體制,2.2.1 美國數(shù)據(jù)加密標(biāo)準(zhǔn)(DES)美國數(shù)據(jù)加密標(biāo)準(zhǔn)(Data Encryption Standard,DES)是在20世紀(jì)70年代中期由美國IBM公司的一個(gè)密碼算法發(fā)展而來的,1977年美國國家標(biāo)準(zhǔn)局公布DES密碼算

21、法作為美國數(shù)據(jù)加密標(biāo)準(zhǔn)。直到今日,盡管DES已經(jīng)經(jīng)歷了30多個(gè)年頭,但在已知的公開文獻(xiàn)中,還是無法完全地、徹底地把DES給破解掉。,明文和密文的長度均為64位,密鑰長度為56位。,35,DES的產(chǎn)生背景,美國國家標(biāo)準(zhǔn)局(NBS)1973 年公開征求計(jì)算機(jī)加密算法標(biāo)準(zhǔn),要求如下:該算法必須提供較高的安全性;該算法必須完全確定并且易于理解;該算法的安全性不應(yīng)依賴于算法本身,而是應(yīng)該依賴于密鑰;該算法必須對(duì)所有的用戶有效;該算法必須

22、適用于各種應(yīng)用;該算法必須能夠通過價(jià)格合理的電子器件得以實(shí)現(xiàn);該算法必須能夠有效使用;該算法必須能夠得以驗(yàn)證;該算法必須能夠得以出口。,36,DES的生命期,NBS最終采納了 IBM 的 LUCIFER 方案,于 1975 年公開發(fā)表。1977 年正式頒布為數(shù)據(jù)加密標(biāo)準(zhǔn)(DES - Data Encryption Standard)。1979 年,美國銀行協(xié)會(huì)批準(zhǔn)使用 DES。1980 年,DES 成為美國標(biāo)準(zhǔn)化協(xié)會(huì) (A

23、NSI) 標(biāo)準(zhǔn)。1984 年,ISO 開始在 DES 基礎(chǔ)上制定數(shù)據(jù)加密的國際標(biāo)準(zhǔn)。DES的發(fā)展:如衍生出可抗差分分析攻擊的變形DES以及密鑰長度為128比特的三重DES等。現(xiàn)已經(jīng)確定了選用Rijndael算法作為高級(jí)加密算法AES。,37,DES的抗攻擊能力,38,上表中攻擊者配有如下計(jì)算機(jī)資源的攻擊能力,39,DES算法描述,算法設(shè)計(jì)中采用的基本變換和操作:置換(P)重新排列輸入的比特位置。交換(SW)將輸入的左右兩部

24、分的比特進(jìn)行互換。循環(huán)移位將輸入中的比特進(jìn)行循環(huán)移位,作為輸出。一個(gè)復(fù)雜變換( fK )通常是一個(gè)多階段的乘積變換;與密鑰 Key 相關(guān);必須是非線性變換;實(shí)現(xiàn)對(duì)密碼分析的擾亂;是密碼設(shè)計(jì)安全性的關(guān)鍵。,40,DES的加密過程,41,DES的加密過程,利用傳統(tǒng)的換位和置換加密。假定信息空間由{0,1}組成的字符串,信息被分成64比特的塊,密鑰是56比特。經(jīng)過DES加密的密文也是64比特的塊?! ∶魑模簃=m1m2…m6

25、4 mi = 0,1 (i = 1,2,…64)  密鑰:k=k1k2…k64 ki = 0,1( i = 1,2,…64 )其中k8,k16,…,k64是奇偶校驗(yàn)位,起作用的僅為56位。   加密算法:  Ek(m) = IP-1·T16·T15……T1·IP(m)   其中IP為初始置換,IP-1是IP的逆,Ti(i = 1,2,…16)是一系列的變換。  

26、 解密算法:  Ek-1 (c) = IP-1·T1·T2……T16·IP (c),42,DES的加密過程,第一步:初始置換IP。對(duì)于給定的明文m,通過初始置換IP獲得 ,并將 分為兩部分,前面32位記為 ,后面32位記為 ,即 。,,,,,,43,初始變換IP,初始變換IP,44,IP 中各列元素位置號(hào)數(shù)相差

27、為8 ,相當(dāng)于將原明文各字節(jié)按列寫出,將陣中元素按行讀得的結(jié)果。1 9 17 25 33 41 49 572 10 18 26 34 42 50 583 11 19 27 35 43 51 594 12 20 28 36 44 52 605 13 21 29 37 45 53 616 14 22 30 38 46 54 627 15 23 31 39 47 55 638 16 24 32 40 48 56 64輸入6

28、4個(gè)二進(jìn)制位明碼文數(shù)據(jù)區(qū)組m= m1m2…m64按初始換位表IP進(jìn)行換位,得到m58m50…m7記成L0、R0左右兩部分,45,DES的加密過程,第二步:乘積變換( 16輪)。在每一輪中依據(jù)下列方法計(jì)算 ( )(16輪中的計(jì)算方法相同): , 其中, 為第i輪使用的子密鑰,各 均為 的一個(gè)置換選擇,所有

29、 構(gòu)成密鑰方案。函數(shù) 中的變量 為32位字符串, 為48位字符串, 函數(shù) 輸出的結(jié)果為32位字符串。,,,,,,,,,,,,,46,DES的加密過程,第二步各輪中的加密過程,,47,(1)加密函數(shù)f(Ri-1,Ki),Ri-1(32位),48位結(jié)果,48位Ki,+,,,,,選擇函數(shù)組(S1~S8),32位結(jié)果,(Ri-1,Ki),置換運(yùn)算P,,,,,,,32位,48,

30、乘積變換中的一次迭代,49,32位,置換運(yùn)算P,32位加密函數(shù)輸出,32位,Ri,右32位,,,,,,Ri-1,Li-1,模2加,,,,,+++++...++++++,,,,,,Li,左32位,50,①擴(kuò)展置換E,Ri-1,32位,32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11 12 1312 13 14 15 16 1716 17 18 19 20 2120 21 22 23 24

31、 2524 25 26 27 28 2928 29 30 31 32 1,選擇運(yùn)算E,選擇運(yùn)算E的結(jié)果,48位,,,51,使用密鑰:在第i次迭代中,用48位二進(jìn)制的密鑰(由56位密鑰生成,下邊會(huì)介紹)K(i)=k1(i)k2(i)…k48(i)與E(R(i-1))按位相加(邏輯異或),輸出仍是48位,共8行,每行6位。B1 :B1(1) B1(2) B1(3) B1(4) B1(5) B1(6)B2 :B2(1) … B

32、2(6)…B 8 :B8(1)… B8(6)作為8個(gè)Si選擇函數(shù)的輸入,,②明文與密鑰模2加,52,③S1,S2...S8選擇函數(shù),其功能是把6bit數(shù)據(jù)變?yōu)?bit數(shù)據(jù)。Si(i=1,2......8)的功能表。S 盒是DES 的最敏感部分,其原理至今未公開。人們擔(dān)心S 盒隱藏陷門,使得只有他們才可以破譯算法,但研究中并沒有找到弱點(diǎn)。美國國家安全局透露了S 盒的幾條設(shè)計(jì)準(zhǔn)則: 所有的S 盒都不是它輸入的線性仿射函數(shù)。就是沒

33、有一個(gè)線性方程能將四個(gè)輸出比特表示成六個(gè)比特輸入的函數(shù)。 改變S 盒的1 位輸入,輸出至少改變2 位。這意味著S 盒是經(jīng)過精心設(shè)計(jì)的,它最大程度上增大了擴(kuò)散量。 S 盒的任意一位輸出保持不變時(shí),0 和1 個(gè)數(shù)之差極小。即如果保持一位不變而改變其它五位,那么其輸出0 和1 的個(gè)數(shù)不應(yīng)相差太多。,53,將以上第j個(gè)(1≤j≤6)二進(jìn)制的塊(記為B j=bj1 bj2 bj3 bj4 bj5 bj6)輸入第j個(gè)選擇函數(shù)Sj。各選擇函數(shù)Sj

34、的功能是把6位數(shù)變換成4位數(shù),做法是以bj1bj6為行號(hào),bj2 bj3 bj4 bj5為列號(hào),查找Sj,行列交叉處即是要輸出的4位數(shù)。在此以S1為例說明其功能,我們可以看到:在S1中,共有4行數(shù)據(jù),命名為0,1、2、3行;每行有16列,命名為0、1、2、3,......,14、15列?,F(xiàn)設(shè)輸入為: B1=101100令:列=0110  行=10  坐標(biāo)為(2,6),然后在S1表中查得對(duì)應(yīng)的數(shù)為2,以4位二進(jìn)制表示為0010,此

35、即選擇函數(shù)S1的輸出。,54,使用選擇函數(shù)S的例子,0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 150 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 71 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 82 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5

36、 03 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13,,,S1,1 0 1 1 0 0,,,102,,,,0 0 1 0,輸入6位,輸出4位,,,,,55,④置換P(單純換位表),8個(gè)選擇函數(shù)的輸出,(32位),16 7 20 2129 12 28 17 1 15 23 26 5 18 31 10 2 8 24 1432 27 3

37、 919 13 30 622 11 4 25,置換P,加密函數(shù)的結(jié)果X,(32位),,,56,⑤迭代,把L(i-1)與X(i)按位相加,形成R(i),且令R(i)為L(i),即得到經(jīng)第i次迭代加密后的輸出L(i)R(i),其中L(i)= R(i-1)R(i)= L(i-1)⊕f(R(i-1),K(i)) (i=0,1,2,…,15),57,(2)密鑰ki的生成,58,①置換選擇1,密鑰計(jì)算的目的在于產(chǎn)生加密和解

38、密時(shí)所需要的16個(gè)子密鑰,記作K(i)。初始密鑰Key值為64位,但DES算法規(guī)定,其中第8、16、......64位是奇偶校驗(yàn)位,不參與DES運(yùn)算。故Key 實(shí)際可用位數(shù)便只有56位。即:經(jīng)過子密鑰換位表PC-1的變換后,Key 的位數(shù)由64 位變成了56位,此56位分為C0、D0兩部分,各28位。,59,,57 49 41 33 25 17 9 1 58 50 42 34 26 1810 2 59 51 43 35 271

39、9 11 3 60 52 44 36,63 55 47 39 31 33 15 7 62 54 46 38 30 2214 6 61 53 45 37 2921 13 5 28 20 12 4,密鑰(64位),,,,,C0(28位),D0(28位),密鑰置換選擇1,不考慮各字節(jié)第8位,60,②循環(huán)移位,循環(huán)移位規(guī)則:輪數(shù):1 2 3 4 5 6 7 8 9 10 11 12

40、 13 14 15 16位數(shù):1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1,61,③置換選擇2,56位分為C0、D0兩部分,然后分別進(jìn)行第1次循環(huán)左移,得到C1、D1,將C1(28位)、D1(28位)合并得到56位,再經(jīng)過子密鑰換位表PC-2,便得到了密鑰K1(48位)。 子密鑰換位表PC-2給出了選擇及選擇后的次序,可

41、以看出去掉了第9、18、22、25、35、38、43、54位。,62,Ci(28位),Di(28位),14 17 11 24 1 5 3 28 15 6 21 1023 19 12 4 26 816 7 27 20 13 241 52 31 37 47 5530 40 51 45 33 4844 49 39 56 34 5346 42 50 36 29 32,Ki(48位),,,,,去掉第9,18,22,25

42、,35,38,43,54位,56位變成48位,密鑰置換2,63,DES的加密過程,第三步:初始置換 的逆置換 。應(yīng)用初始置換 的逆置換 對(duì) 進(jìn)行置換,得到密文 c ,即 。在最后一輪計(jì)算之后,將 (而非左右部分交換后的結(jié)果 )作為 的輸入,以便DES能夠同時(shí)被用于加密和解密。,,,,,,,,,

43、,64,DES的抗攻擊能力 DES用軟件進(jìn)行解碼需要用很長時(shí)間,而用硬件解碼速度非??欤疫\(yùn)的是當(dāng)時(shí)大多數(shù)黑客并沒有足夠的設(shè)備制造出這種硬件設(shè)備。 在1977年,人們估計(jì)要耗資兩千萬美元才能建成一個(gè)專門計(jì)算機(jī)用于DES的解密,而且需要12個(gè)小時(shí)的破解才能得到結(jié)果。所以,當(dāng)時(shí)DES被認(rèn)為是一種十分強(qiáng)壯的加密方法。,65,1997年開始,RSA公司發(fā)起了一個(gè)稱作“向DES挑戰(zhàn)”的競技賽。 1997年1月

44、,用了96天時(shí)間,成功地破解了用DES加密的一段信息; 一年之后,在第二屆賽事上,這一記錄41天 ;1998年7月, “第2-2屆DES挑戰(zhàn)賽(DES Challenge II-2)” 把破解DES的時(shí)間縮短到了只需56個(gè)小時(shí); “第三屆DES挑戰(zhàn)賽(DES Challenge III)”把破解DES的時(shí)間縮短到了只需22.5小時(shí) 。美國國家安全局NSA每隔年對(duì)該算法進(jìn)行評(píng)估 ,1994年,決定1998年12月之后不再使用DE

45、S 。,66,三重DES 解決其密鑰長度問題的方法,即采用三重DES。這種方法用兩個(gè)密鑰對(duì)明文進(jìn)行三次加密,假設(shè)兩個(gè)密鑰是K1和K2,其算法的步驟:1. 用密鑰K1進(jìn)行DES加密。2. 用K2對(duì)步驟1的結(jié)果進(jìn)行DES解密。 3. 用步驟2的結(jié)果使用密鑰K1進(jìn)行DES加密缺點(diǎn):花費(fèi)原來三倍時(shí)間優(yōu)點(diǎn):112位密鑰長度,很“強(qiáng)壯”的加密方式,67,,68,4.DES的安全性(1)弱密鑰(Weak Key) 所

46、謂的弱密鑰是指在所有可能的密鑰中,有某幾個(gè)特別的密鑰會(huì)降低DES的安全性,所以使用者一定要避免使用這幾個(gè)弱密鑰。(2)半弱密鑰(Semi-weak Key) 除了上述的弱密鑰之外,還有另外一種被稱為半弱密鑰的初始密鑰。半弱密鑰所產(chǎn)生的子密鑰只有兩種可能,每一種可能的子密鑰剛好各出現(xiàn)8次。,69,(3)DES的互補(bǔ)性(Complement) 在DES的明文m,密文C與密鑰K之間存在著互補(bǔ)的特性。如果以密鑰K對(duì)

47、明文m加密得到密文C,那么以密鑰 對(duì)明文 加密,亦可到 。 (4)S-盒的設(shè)計(jì)原則 S-盒為整個(gè)DES加密系統(tǒng)安全性的關(guān)鍵所在,但其設(shè)計(jì)規(guī)則與過程一直因?yàn)榉N種不為人知的因素所限,未被公布出來。,,,,70,2.2.2 國際數(shù)據(jù)加密算法(IDEA) 國際數(shù)據(jù)加密算法(International Data Encryption Algorithm,IDEA)是由瑞士聯(lián)邦理工

48、學(xué)院Xuejia Lai和James Massey的在1990年提出的。IDEA是近年來提出的用來替代DES的許多算法中的一種,是一個(gè)對(duì)稱分組密碼算法。,71,1.設(shè)計(jì)原理 IDEA是一種使用128位密鑰以64位分組為單位加密數(shù)據(jù)的分組密碼算法。與此相對(duì)照,DES使用56位密鑰以64位的分組為單位進(jìn)行加密。IDEA的設(shè)計(jì)目標(biāo)可以歸結(jié)為與密碼強(qiáng)度和使用的方便性兩方面有關(guān),其中密碼強(qiáng)度包括分組長度、密鑰長度、混淆(Conf

49、usion)和擴(kuò)散(Diffusion);使用的方便性指方便硬件和軟件實(shí)現(xiàn)。通過由超大規(guī)模集成電路(VLSI)進(jìn)行的硬件實(shí)現(xiàn)的設(shè)計(jì)目標(biāo)是取得高速度,而軟件實(shí)現(xiàn)則有靈活和低價(jià)的優(yōu)點(diǎn)。,72,2.IDEA加密方法 IDEA加密方法包括8輪的重復(fù)運(yùn)算,加上最后的輸出變換運(yùn)算(Transformation)。64位的明文分組在每一輪中都是被分成4份,每份16位為一單元來處理。每一輪中有6個(gè)不同的子密鑰參與作用。,73,圖2.6

50、 IDEA加密流程,74,圖2.7 IDEA單輪運(yùn)算結(jié)構(gòu),75,圖2.8 IDEA中最后的輸出變換運(yùn)算,76,3.子密鑰生成過程 從圖2.6中可以看出,IDEA一次完整的加密運(yùn)算需要52個(gè)子密鑰。這52個(gè)16位的子密鑰都是由一個(gè)128位的加密密鑰產(chǎn)生的。將128位分成8份,每份16位,相當(dāng)于Z1,Z2,…,Z8的子密鑰,Z1的16位對(duì)應(yīng)于加密密鑰中最高有效(Most Significant)的16位,而Z8的16位對(duì)應(yīng)于加

51、密密鑰中最低有效(Least Significant)的16位。將加密密鑰循環(huán)左移25位以后,用同樣的方法可以得到另外的8個(gè)子密鑰Z8,Z9,…,Z16。重復(fù)同樣的步驟,每循環(huán)25位,可以得到另外的新的8個(gè)子密鑰。如此,Z1,Z2,…,Z52可以依此陸續(xù)生成。,77,4.IDEA解密方法 使用與加密算法同樣的結(jié)構(gòu),可以將密文分組當(dāng)作輸入而逐步恢復(fù)明文分組解密過程。 與加密過程中惟一不同的是子密鑰的生成方法。,

52、78,2.2.3 高級(jí)加密標(biāo)準(zhǔn)(AES),1997年1月,NITS召集密碼學(xué)專家研制一種新的加密體制。AES要求:(1)它必須是一個(gè)對(duì)稱的塊密碼算法;(2)必須公開所有的設(shè)計(jì);(3)必須支持128、192和256位密鑰長度;(4)軟件實(shí)現(xiàn)和硬件實(shí)現(xiàn)必須都是可能的;(5)算法必須是公有的,或者毫無歧視地授權(quán)給大眾使用。,79,1998年8月,從提交的算法中選出了15種;1999年8月,侯選算法縮小到了5種,最終獲勝的是Rijn

53、dael(榮代爾)算法。它是比利時(shí)密碼學(xué)家(Rijmem+Daemem)設(shè)計(jì)的,美國政府在2001年12月采納了AES,并使其成為了聯(lián)邦信息處理標(biāo)準(zhǔn)197。AES的加密:數(shù)據(jù)塊128位,密鑰128位,輪函數(shù)9輪; 數(shù)據(jù)塊128位,密鑰192位,輪函數(shù)11輪; 數(shù)據(jù)塊128位,密鑰256位,輪函數(shù)13輪; 在128位密鑰空間中有21

54、28≈3X1038個(gè)密鑰,即使NSA想辦法創(chuàng)建一臺(tái)內(nèi)含10億個(gè)并行處理器的機(jī)器,且每個(gè)處理器每秒鐘可以計(jì)算1012個(gè)密鑰,也需要1010年才能搜索完整個(gè)密鑰空間。,80,1.設(shè)計(jì)基本原理(1)該算法的設(shè)計(jì)目標(biāo)有以下3點(diǎn):① 能抗擊所有的已知攻擊;② 在廣大范圍平臺(tái)上的快速和代碼簡潔;③ 設(shè)計(jì)簡單。,81,(2)在大多數(shù)加密算法中都是采用的Feistel結(jié)構(gòu)的輪變換,而Rijndael算法徹底改變了這種結(jié)構(gòu),每一輪的變換由

55、3層組成,每一層都實(shí)現(xiàn)一定的功能。① 線性混合層:確保多輪之上的高度擴(kuò)散。② 非線性層:并行使用多個(gè)S-盒,可優(yōu)化最壞情況非線性特性。③ 密鑰加層:輪密鑰(子密鑰)簡單異或到中間級(jí)狀態(tài)上。,82,2.算法詳細(xì)描述Rijndael是一種具有可變分組長度和可變密鑰長度的重復(fù)的分組密碼。分組長度和密鑰長度可獨(dú)立選擇為128,192和256bit。,83,3.Rijndael加密和解密算法(1)Rijndael加密算法用偽C代碼表

56、示如下:Rijndael ( State, CipherKey ){KeyExpansion ( CipherKey, ExpandedKey ) ;AddRoundKey ( State, ExpandedKey ) ;For (i=1 ; i<Nr ; i++ ) Round ( State, ExpandedKey + Nb*i) ;FinalRound ( State, ExpandedKey + Nb*

57、Nr ) ;},84,(2)Rijndael解密算法解密算法用偽C代碼表示如下:I _ Rijndael ( State, CipherKey ){I _ KeyExpansion ( CipherKey, I _ ExpandedKey ) ;AddRoundKey ( State, I _ ExpandedKey +Nb*Nr ) ;For (i= Nr - 1 ; i> 0 ; i-- ) Round (

58、 State, I _ ExpandedKey + Nb*i) ;FinalRound ( State, I _ ExpandedKey ) ;},85,其中I _ KeyExpansion 的偽C代碼如下:I _ KeyExpansion ( CipherKey, I _ ExpandedKey ){KeyExpansion ( CipherKey, I _ ExpandedKey ) ;For ( i=1 ; i<

59、; Nr ; i++ ) InvMixColumn (I _ ExpandedKey + Nb*i );},86,2.2.4分組密碼的工作模式,已經(jīng)提出的分組密碼工作模式有:電子代碼簿(ECB)模式;密碼分組鏈接(CBC)模式;密碼反饋(CFB)模式;輸出反饋(OFB)模式;級(jí)連(CM)模式(又稱多重加密模式);,87,1.電子代碼簿(ECB)模式,為了使用DES加密一長段明文,最簡單的做法是將它分割成連續(xù)的8

60、字節(jié)(64位)數(shù)據(jù)塊,然后用同樣的密鑰逐個(gè)加密這些數(shù)據(jù)塊。如有必要,將最后一片明文填充至64位。這項(xiàng)技術(shù)稱為ECB模式。例子:,88,2.密碼分組鏈接(CBC)模式,基本原理如圖 :,,,89,密碼分組鏈接(CBC)模式,密文分組 被反饋到輸入端,明文分組 與 的異或結(jié)果被作為DES加密算法的輸入,從而得到下一個(gè)密文分組 ,即 。解密過程為 :

61、 。 密文分組 為無須保密的事先設(shè)定的初值,不同的明文 x(而非明文分組)對(duì)應(yīng)不同的 。 各密文分組 不僅與與之對(duì)應(yīng)的明文分組 有關(guān),也和此前的所有明文分組(即 )有關(guān)。,,,,,,,,,,,,90,密碼分組鏈接(CBC)模式,優(yōu)點(diǎn) :能夠隱蔽明文的數(shù)據(jù)模式; 能夠在一定程度上防止分組的重放、插入和刪除

62、等攻擊。 缺點(diǎn): 易導(dǎo)致錯(cuò)誤傳播。由于任何一個(gè)明文或密文分組出錯(cuò)都會(huì)導(dǎo)致其后的密文分組出錯(cuò),但實(shí)際上,這種錯(cuò)誤傳播的影響并不大,至多影響兩個(gè)密文分組(例如,加密過程中,xi的傳輸錯(cuò)誤至多影響到y(tǒng)i和yi+1),91,3.密碼反饋(CFB)模式,基本原理如圖:,92,密碼反饋(CFB)模式,實(shí)質(zhì)上是一種自同步流密碼。 適用于必須按比特或者字符對(duì)明文進(jìn)行加密的情況。 采用該模式實(shí)現(xiàn)DES算法時(shí),反饋的密文分組的長度

63、與此前的密文分組長度不同,而是通常為事先設(shè)定的n值( ),與明文相加的只是密文分組的最左邊n位,反饋的密文分組同時(shí)反饋到密鑰產(chǎn)生器。,,93,,優(yōu)點(diǎn):能夠隱蔽明文的數(shù)據(jù)模式; 能夠在一定程度上防止分組的重放、插入和刪除等攻擊;適用于用戶數(shù)據(jù)格式的需要。 缺點(diǎn): 對(duì)錯(cuò)誤傳輸敏感。該模式即使密文在傳輸中只有一位偶然發(fā)生翻轉(zhuǎn),則在解密過程中,壞字節(jié)位于寄存器中所涉及的8個(gè)字節(jié)將遭到破壞,

64、一旦字節(jié)移出了寄存器以后,后面產(chǎn)生的明文仍然是正確的; 降低了數(shù)據(jù)加密的速率。,94,4.輸出反饋(OFB)模式,基本原理如圖 :,95,輸出反饋(OFB)模式,優(yōu)點(diǎn):能夠克服錯(cuò)誤傳播。 缺點(diǎn):很難發(fā)現(xiàn)密文被篡改; 不具備自同步能力。,96,5.級(jí)連(CM)模式,基本原理如圖 :,97,,該模式的提出主要是為了增加密鑰的長度,并采用不同的密鑰和分組密碼算法對(duì)同一明文連續(xù)進(jìn)行多次加密。 但如果

65、所選用的加密算法成群,則由于群的封閉性特點(diǎn)(即任意次級(jí)連加密等于一次加密),級(jí)連模式并不能增加破譯的難度。 已證明采用級(jí)連模式能提高DES的安全性(如:三重DES)。,98,2.3 非對(duì)稱密碼體制,,背景:,對(duì)稱密鑰編碼所面臨的難題密鑰分配。密鑰必須在安全信道上傳輸;通信密鑰太多,管理和分發(fā)困難。數(shù)字簽名和認(rèn)證。密碼體制上的突破Diffie & Hellman, “New Direction

66、in Cryptography”, 1976年首次公開提出了“公開密鑰密碼編碼學(xué)”的概念。這是一個(gè)與對(duì)稱密碼編碼截然不同的方案。提出公開密鑰的理論時(shí),其實(shí)用性并沒有得到證明:當(dāng)時(shí)還未發(fā)現(xiàn)滿足公開密鑰編碼理論的算法;直到 1977 年,RSA 算法的提出。,99,基本特征,兩個(gè)密鑰:使用一個(gè)密鑰進(jìn)行加密,用另一個(gè)相關(guān)的密鑰進(jìn)行解密用加密密鑰生成的密文只有使用其對(duì)應(yīng)的解密密鑰才能解密。兩個(gè)密鑰的關(guān)系滿足:兩個(gè)密鑰是不相同;且

67、在僅知道密碼算法和加密密鑰的情況下,要推斷解密密鑰在計(jì)算上是不可行的。,100,優(yōu)點(diǎn),密鑰管理加密密鑰是公開的; 解密密鑰需要妥善保存; 在當(dāng)今具有用戶量大、消息發(fā)送方與接收方具有明顯的信息不對(duì)稱特點(diǎn)的應(yīng)用環(huán)境中表現(xiàn)出了令人樂觀的前景。 數(shù)字簽名和認(rèn)證 只有解密密鑰能解密,只有正確的接收者才擁有解密密鑰。,101,2.3.1 非對(duì)稱密碼體制的原理 公開密鑰算法有一個(gè)重要特性:僅僅知道密碼算法和加密

68、密鑰而要確定解密密鑰,在計(jì)算上是不可能的。另外,某些算法,如RSA,還具有以下特性,兩個(gè)相關(guān)密鑰中任何一個(gè)都可以用作加密而讓另一個(gè)用作解密。,102,如圖2.9所示,公開密鑰加密過程重要步驟如下。(1)網(wǎng)絡(luò)中的每個(gè)端系統(tǒng)都產(chǎn)生一對(duì)用于它將接收的報(bào)文進(jìn)行加密和解密的密鑰。(2)每個(gè)系統(tǒng)都通過把自己的加密密鑰放進(jìn)一個(gè)登記本或者文件來公布它,這就是公開密鑰。另一個(gè)則是私有的。(3)如果A想給B發(fā)送一個(gè)報(bào)文,A就用B的公開密鑰加密這個(gè)報(bào)

69、文。(4)B收到這個(gè)報(bào)文后就用他的保密密鑰解密報(bào)文。其他所有收到這個(gè)報(bào)文的人都無法解密,因?yàn)橹挥蠦才有B的私有密鑰。,103,圖2.9 公開密鑰的加密過程,104,公鑰密碼算法,加密與解密由不同的密鑰完成加密: X?Y: Y = EKU(X)解密: Y?X: X = DKR(Y) = DKR(EKU(X))兩個(gè)密鑰中任何一個(gè)都可以用作加密而另一個(gè)用作解密(不是必須的)X = DKR(EKU(X)) = EKU(DKR

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲(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)論