密碼技術(shù)課件_第1頁
密碼技術(shù)課件_第2頁
密碼技術(shù)課件_第3頁
密碼技術(shù)課件_第4頁
密碼技術(shù)課件_第5頁
已閱讀5頁,還剩46頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第三章 密碼技術(shù)第三章 密碼技術(shù)本章目錄3.1 數(shù)據(jù)加密概述3.2 數(shù)據(jù)加密技術(shù)3.3 數(shù)字簽名技術(shù)3.4 鑒別技術(shù)3.5 密鑰管理技術(shù)本章目錄3.1 數(shù)據(jù)加密概述密碼編碼學(xué)(cryptography)是密碼體制的設(shè)計學(xué)。密碼分析學(xué)(cryptanalysis)則是在未知密鑰的情況下從密文推演出明文或密鑰的技術(shù)。密碼編碼學(xué)與密碼分析學(xué)合起來即為密碼學(xué)(cryptology)。如果不論截取者獲得了多少密文,但在密文中都沒有足夠的信息來唯一地確定出對應(yīng)的明文,則這一密碼體制稱為無條件安全的,或稱為理論上是不可破的。如果密碼體制中的密碼不能被可使用的計算資源破譯,則這一密碼體制稱為在計算上是安全的。

2、 3.1 數(shù)據(jù)加密概述密碼編碼學(xué)(cryptography)是密碼體制的設(shè)計學(xué)。3理論上不可攻破的系統(tǒng)只有一次一密系統(tǒng):密鑰隨機產(chǎn)生、與明文等長、只使用一次。sendhelp18413374111551310722016231714314655xrodogff明文明文序號隨機密鑰密文密文序號本處加密算法: (明文+密鑰) mod 26可能的密鑰序列有268個,明文長度越大,破譯難度越大。窮舉破譯過程中,可能生成另外的有意義的明文,所以無論截獲多少密文,都不能增加破譯可能。理論上不可攻破的系統(tǒng)只有一次一密系統(tǒng):密鑰隨機產(chǎn)生、與明文等ffgodorxllisimot1111818812141920

3、20242221234556143141723明文序號“破譯”明文試探密鑰截獲密文密文序號解密算法: (密文-密鑰) mod 26ffgodorxllisimot111181881214193.2 數(shù)據(jù)加密技術(shù)密碼系統(tǒng)明文空間M密文空間C密鑰空間K=加密算法E解密算法D3.2 數(shù)據(jù)加密技術(shù)密碼系統(tǒng)明文空間M密文空間C密鑰空間K=1、加密/解密函數(shù)1、加密/解密函數(shù)2、 對稱密碼體制(Symmetric Key Crytosystem) 單鑰密碼體制(One-key Crytosystem) 經(jīng)典密碼體制(Classical Crytosystem)明文 X 密文Y加密密鑰 K明文 X密文YAB

4、E 運算加密算法D 運算解密算法因特網(wǎng)解密密鑰 K2、 對稱密碼體制(Symmetric Key Cryto3、 非對稱密碼體制(Asymmetric Key Crytosystem) 雙鑰密碼體制(Two-key Crytosystem) 公鑰密碼體制(Public key Crytosystem)密文Y E 運算加密算法D 運算解密算法加密解密明文 X明文 X ABB 的私鑰 SKB密文Y 因特網(wǎng)B 的公鑰 PKB3、 非對稱密碼體制(Asymmetric Key Cry用戶1(保存用戶2、3、4密鑰)用戶4(保存用戶1、2、3密鑰)用戶3(保存用戶1、2、4密鑰)用戶2(保存用戶1、3、

5、4密鑰)網(wǎng)絡(luò)中4個用戶之間使用對稱加密技術(shù)用戶1(保存用戶2、3、4密鑰)用戶4(保存用戶1、2、用戶1(保存自己的私鑰、公鑰)用戶4(保存自己的私鑰、公鑰)用戶3(保存自己的私鑰、公鑰)用戶2(保存自己的私鑰、公鑰)網(wǎng)絡(luò)中4個用戶之間使用非對稱加密技術(shù)Internet用戶1(保存自己的私鑰、公鑰)用戶4(保存自己的私鑰、公公開密鑰密碼體制的優(yōu)點:(1)密鑰分配簡單。由于加密密鑰與解密密鑰不同,且不能由加密密鑰推導(dǎo)出解密密鑰,因此,加密密鑰表可以像電話號碼本一樣,分發(fā)給各用戶,而解密密鑰則由用戶自己掌握。(2)密鑰的保存量少。網(wǎng)絡(luò)中的每一密碼通信成員只需秘密保存自己的解密密鑰,N個通信成員只需

6、產(chǎn)生N對密鑰,便于密鑰管理。(3)可以滿足互不相識的人之間進行私人談話時的保密性要求。(4)可以完成數(shù)字簽名和數(shù)字鑒別。發(fā)信人使用只有自己知道的密鑰進行簽名,收信人利用公開密鑰進行檢查,既方便又安全。公開密鑰密碼體制的優(yōu)點: 對稱密碼體制算法比公鑰密碼體制算法快;公鑰密碼體制算法比對稱密碼體制算法易傳遞,因而在安全協(xié)議中(例如SSL和S/MIME),兩種體制均得到了應(yīng)用。這樣,既提供保密又提高了通信速度。應(yīng)用時,發(fā)送者先產(chǎn)生一個隨機數(shù)(即對稱密鑰,每次加密密鑰不同),并用它對信息進行加密,然后用接收者的公共密鑰用RSA算法對該隨機數(shù)加密。接收者接收到信息后,先用自己的私人密鑰對隨機數(shù)進行解密,

7、然后再用隨機數(shù)對信息進行解密。這樣的鏈?zhǔn)郊用芫妥龅搅思扔蠷SA體系的保密性,又有DES或IDEA算法的快捷性。 對稱密碼體制算法比公鑰密碼體制算法快;公鑰密3.2.1 古典密碼體制明文:HELLO 123451ABCDE2FGHIJK3LMNOP4QRSTU5VWXYZ密文:2315313134例一 希臘密碼(二維字母編碼查表):公元前2世紀(jì)3.2.1 古典密碼體制明文:HELLO 123451ABC A B C D E F G X Y Z D E F G H I J A B C 明文:Hunan University密文:kxqdq xqlyhuvlwb公元前50年,古羅馬的凱撒大帝在高盧戰(zhàn)

8、爭中采用的加密方法。凱撒密碼算法就是把每個英文字母向前推移K位(k=3)。 例二 凱撒密碼:公元前50年 A B C D E F G例三 多表代換密碼經(jīng)典的維吉尼亞密碼仍能夠用統(tǒng)計技術(shù)進行分析需選擇與明文長度相同并與之沒有統(tǒng)計關(guān)系的密鑰明文HellWorld密鑰EchoEchoe42714427144密文LgssAqyzh作業(yè)1:請用C/C+實現(xiàn)vigenere密碼例三 多表代換密碼明文HellWorld密鑰EchoEcho例四 多字母替換密碼Playfair是以英國科學(xué)家L.Playfair的名字命名的一種多字母替換密碼。英國曾在一戰(zhàn)期間使用過二字母替換密碼。每一對明文字母m1和m2,替換規(guī)

9、則如下:若m1和m2在密鑰方陣的同一行,則密文字母C1和C2分別是m1和m2右邊的字母(第一列視為最后一列的右邊)。若m1和m2在密鑰方陣的同一列,則C1和C2分別是m1和m2下邊的字母(第一行視為最后一行的下邊)。若m1和m2位于不同的行和列,則C1和C2是以m1和m2為頂點的長方形中的另外兩個頂點,其中C1和m1、C2和m2處于同一行。若m1=m2,則在m1和m2之間插入一個無效字母,如“x”,再進行以上判斷和指定。若明文只有奇數(shù)個字母,則在明文末尾加上一個無效字母。例四 多字母替換密碼HARPSICODBEFGKLMNQTUVWXYZ表1 二字母替換密碼方陣?yán)纾好魑臑椤癰ookstor

10、e”,求密文。明文:bo ok st or ex密文:ID DG PU GX GVHARPSICODBEFGKLMNQTUVWXYZ表1 二字分組密碼按一定長度對明文分組,然后以組為單位用同一個密鑰進行加/解密。著名的分組密碼算法有:DES(Data Encryption Standard),IDEA(International Data Encryption Algorithm),GOST(Gosudarstvennyi Standard),AES(Advanced Encryption Standard)。流密碼利用密鑰K產(chǎn)生一個密鑰流,按字符逐位進行加/解密。密鑰流z=z0,z1, ,其

11、中zi=f(K,i), i是加密器中存儲器在時刻i的狀態(tài),f是K和i產(chǎn)生的函數(shù)。3.2.2 對稱密碼體制分組密碼3.2.2 對稱密碼體制【DES加密過程】明文分組:將明文分成64位一組初始變換IP:對64位碼進行移位操作迭代過程。共16輪運算,這是一個與密鑰有關(guān)的對分組進行加密的運算。這是DES加密算法的核心部分。逆初始變換(IP-1)。是第步變換的逆變換,這一變換過程也不需要密鑰,也是簡單的移位操作。輸出64位碼的密文。【DES加密過程】置換碼組 輸入(64位)40 8 48 16 56 24 64 3239 7 47 15 55 23 63 3138 6 46 14 54 22 62 30

12、37 5 45 13 53 21 61 2936 4 44 12 52 20 60 2835 3 43 11 51 19 59 2734 2 42 10 50 18 58 2633 1 41 9 49 17 57 25輸出(64位)逆初始變換IP-1輸入(64位)58 50 42 34 26 18 10 260 52 44 36 28 20 12 462 54 46 38 30 22 14 664 56 48 40 32 24 16 857 49 41 33 25 17 9 159 51 43 35 27 19 11 361 53 45 37 29 21 13 563 55 47 39 31

13、23 15 7輸出(64位)L0(32位)R0(32位)初始變換IPt1t2t3 t63 t64t58t50t42t15 t7t1t2t3 t63 t64t40t8t48t57 t25置換碼組 輸入(64位)40 8 48 16 56 2DES加密過程圖DES加密過程圖Li擴展運算ERi密鑰+選擇壓縮S置換運算P+Ri+1Li+1=Ri移位移位壓縮置換PC-2密鑰一輪迭代過程示意圖32位48位32位48位28位28位56位密鑰KiLi擴展運算ERi密鑰+選擇壓縮S置換運算P+Ri+1Li擴展運算E:經(jīng)初始變換后的64位序列右半部分(32位)經(jīng)選擇擴展運算E,將32位擴展成48位二進制塊:Ri-

14、1=E(r1r2r3r31r32 )=r32r1r2r3r31r32r1R032位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 2524 25 26 27 28 2928 29 30 31 32 1選擇運算E的結(jié)果48位E運算擴展運算E:R032位32 1 2 3 4 5選擇57 49 41 33 25 17 9 1 58 50 42 34 26 1810 2 59 51 43 35 2719 11 3 60 52 44 3663 55 47 39 31 23 1

15、5 7 62 54 46 38 30 2214 6 61 53 45 37 2921 13 5 28 20 12 4密鑰(64位)C0(28位)D0(28位)置換選擇函數(shù)PC-1 密鑰K是一個64位二進制塊,其中8位是奇偶校驗位,分別位于第8,16,24,64位。置換選擇函數(shù)將這些奇偶校驗位去掉,并把剩下的56位進行換位,換位后的結(jié)果被分成兩半。57 49 41 33 25 17 963 55 47 3Ci(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

16、 51 45 33 4844 49 39 56 34 5346 42 50 36 29 32Ki(48位)置換選擇函數(shù)PC-2Ci(28位)Di(28位)14 17 11 24 1 選擇壓縮的例子 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 03 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 131 0 1 1

17、0 0 10=20 0 1 0輸入6位輸出4位=6選擇壓縮的例子 0 1 2 3 4 5 6 【對稱密碼體制的不足】密鑰使用一段時間后就要更換,加密方每次啟動新密碼時,都要經(jīng)過某種秘密渠道把密鑰傳給解密方,而密鑰在傳遞過程中容易泄漏。網(wǎng)絡(luò)通信時,如果網(wǎng)內(nèi)的所有用戶都使用同樣的密鑰,那就失去了保密的意義。但如果網(wǎng)內(nèi)任意兩個用戶通信時都使用互不相同的密鑰,N個人就要使用N(N-1)/2個密鑰。因此,密鑰量太大,難以進行管理。無法滿足互不相識的人進行私人談話時的保密性要求。在Internet中,有時素不相識的兩方需要傳送加密信息。難以解決數(shù)字簽名驗證的問題?!緦ΨQ密碼體制的不足】解決密鑰分發(fā)的困難數(shù)

18、字簽名的需要依據(jù)數(shù)學(xué)問題的不同,可分為三類:基于整數(shù)分解問題:RSA基于離散對數(shù)問題:DSA,DH基于橢圓曲線點群上離散對數(shù)問題:ECDSA3.2.3 非對稱密碼體制解決密鑰分發(fā)的困難3.2.3 非對稱密碼體制【RSA密碼體制】密鑰產(chǎn)生假設(shè)Alice想要通過一個不可靠的媒體接收Bob的一條私人訊息。她可以用以下的方式來產(chǎn)生一個公鑰和一個私鑰:隨意選擇兩個大的質(zhì)數(shù)p和q,p不等于q,計算n=pq。 根據(jù)歐拉函數(shù),不大于N且與N互質(zhì)的整數(shù)個數(shù)為(p-1)(q-1) 選擇一個整數(shù)e與(p-1)(q-1)互質(zhì),并且e小于(p-1)(q-1) 用公式計算d:d e 1 (mod (p-1)(q-1) 將

19、p和q的記錄銷毀。 e是公鑰,d是私鑰。d是秘密的,而n是公眾都知道的。Alice將她的公鑰傳給Bob,而將她的私鑰藏起來?!綬SA密碼體制】加密消息假設(shè)Bob想給Alice送一個消息M,他知道Alice產(chǎn)生的n和e。他使用起先與Alice約好的格式將M轉(zhuǎn)換為一個小于n的整數(shù)m,比如他可以將每一個字轉(zhuǎn)換為這個字的Unicode碼,然后將這些數(shù)字連在一起組成一個數(shù)字。假如他的信息非常長的話,他可以將這個信息分為幾段,然后將每一段轉(zhuǎn)換為m。用下面這個公式他可以將m加密為c: mec (mod N) 或 c me (mod N) 計算c并不復(fù)雜。Bob算出c后就可以將它傳遞給Alice。解密消息Al

20、ice得到Bob的消息c后就可以利用她的密鑰d來解碼。她可以用以下這個公式來將c轉(zhuǎn)換為m: cd m(mod n)或 m cd (mod n)得到m后,她可以將原來的信息m重新復(fù)原。加密消息RSA示例選擇兩個素數(shù)p=11,q=17(舉例方便,實際應(yīng)該為大素數(shù))n=pq=1117=187,(n)=(p-1)*(q-1)=160選擇一個隨機整數(shù)e=13160,且與160互素。求d:d13 1 (mod 160)160=1213+413=34+11=13-34=13-3(160-1213)=37*13-3*16037*13 1 (mod 160)設(shè)明文M=9,則913=25(mod 187),密文C

21、=25接收密文C,2537=9(mod 187),明文M=9RSA示例3.3 數(shù)字簽名技術(shù)數(shù)字簽名是通過一個單向哈希函數(shù)對要傳送的報文進行處理,用以認證報文來源并核實報文是否發(fā)生變化的一個字母數(shù)字串(MAC或消息摘要)。接收者用發(fā)送者公鑰對摘要解密得到哈希摘要,對原始報文進行同樣的哈希處理,比較兩者是否相同,保證了完整性和不可否認性。著名的有RSA、ElGamal、DSS等數(shù)字簽名體制。3.3 數(shù)字簽名技術(shù)數(shù)字簽名是通過一個單向哈希函數(shù)對要傳送的1、對數(shù)字簽名的要求(1) 報文鑒別接收者能夠核實發(fā)送者對報文的簽名;(2) 報文的完整性發(fā)送者事后不能抵賴對報文的簽名;(3) 不可否認接收者不能偽

22、造對報文的簽名。密文 D運算明文 X明文 X ABA 的私鑰 SKA因特網(wǎng)簽名 核實簽名E運算密文 A 的公鑰 PKA1、對數(shù)字簽名的要求密文 D明文 X明文 X ABA 的私鑰核實簽名解密 加密 簽名 E 運算D 運算明文 X明文 X ABA 的私鑰 SKA因特網(wǎng)E 運算B 的私鑰 SKBD 運算加密與解密簽名與核實簽名B 的公鑰 PKBA 的公鑰 PKA密文2、具有保密性的數(shù)字簽名核實簽名解密 加密 簽名 E 運算D 運算明文 X明文 X 許多報文并不需要加密但卻需要數(shù)字簽名,以便讓報文的接收者能夠鑒別報文的真?zhèn)?。然而對很長的報文進行數(shù)字簽名會使計算機增加很大的負擔(dān)(需要進行很長時間的運算

23、)。當(dāng)我們傳送不需要加密的報文時,應(yīng)當(dāng)使接收者能用很簡單的方法鑒別報文的真?zhèn)巍?、報文鑒別3.4 鑒別技術(shù)許多報文并不需要加密但卻需要數(shù)字簽名,以便讓報文的接收者能夠報文摘要的實現(xiàn)A比較簽名 核實簽名報文 XHD 運算D(H)A 的私鑰報文 XD(H)B報文摘要報文 XD(H)發(fā)送 E 運算H簽名的報文摘要HA 的公鑰報文摘要運算報文摘要報文摘要因特網(wǎng)報文摘要運算報文摘要的實現(xiàn)A比較簽名 核實簽名報文 XHD 運算D(H2、實體鑒別 報文鑒別是對每一個收到的報文都要鑒別報文的發(fā)送者,實體鑒別在系統(tǒng)接入的全部持續(xù)時間內(nèi)對和自己通信的對方實體只需驗證一次。 (1)簡單鑒別最簡單的實體鑒別方法是:A

24、使用對稱密鑰 KAB加密發(fā)送給 B 的報文,B 收到此報文后,用共享對稱密鑰 KAB 進行解密,因而鑒別了實體 A 的身份。易受到重放攻擊(C截獲握手報文,發(fā)送給B,讓B誤認為C是A)和IP欺騙(截獲A的IP,冒充A) ABEKAB(“我是A”) C2、實體鑒別 報文鑒別是對每一個收到的報文都要鑒別報文的發(fā)送ABA, RARBKABRARBKAB,時間(2)使用隨機數(shù)進行鑒別ABA, RARBKABRARBKAB,時間(2)使用隨機數(shù)AB我是 A中間人 C我是 ARBRBSKC請把公鑰發(fā)來PKCRBRBSKA請把公鑰發(fā)來PKADATAPKCDATAPKA時間(3)中間人攻擊AB我是 A中間人

25、C我是 ARBRBSKC請把公鑰發(fā)來PK3.5 密鑰管理技術(shù)管理密鑰從產(chǎn)生到銷毀的全過程,包括系統(tǒng)初始化,密鑰產(chǎn)生、存儲、備份、裝入、分配、保護、更新、控制、丟失、吊銷、銷毀。密鑰一般分為:基本密鑰、會話密鑰、密鑰加密密鑰、主機密鑰。基本密鑰:又稱初始密鑰,由用戶選定或系統(tǒng)分配,可在較長時間由一對用戶專門使用的秘密密鑰。會話密鑰:用 戶在一次通話或交換數(shù)據(jù)過程中使用的密鑰。與基本密鑰一起啟動和控制密鑰生成器,生成用于加密數(shù)據(jù)的密鑰流。密鑰加密密鑰:用于對傳送的會話或文件密鑰進行加密是采用的密鑰,也稱輔助密鑰。主機密鑰:對密鑰加密密鑰進行加密的密鑰,存放于主機中。3.5 密鑰管理技術(shù)管理密鑰從產(chǎn)

26、生到銷毀的全過程,包括系統(tǒng)初目前常用的密鑰分配方式是設(shè)立密鑰分配中心 KDC (Key Distribution Center)。KDC 是大家都信任的機構(gòu),其任務(wù)就是給需要進行秘密通信的用戶臨時分配一個會話密鑰(僅使用一次)。用戶 A 和 B 都是 KDC 的登記用戶,并已經(jīng)在 KDC 的服務(wù)器上安裝了各自和 KDC 進行通信的主密鑰(master key)KA 和 KB。1、對稱密鑰的分配目前常用的密鑰分配方式是設(shè)立密鑰分配中心 KDC (Key AB密鑰分配中心KDCA, B, KABKB用戶專用主密鑰用戶 主密鑰 A KA B KB A, B, KABKABKBKA,時間A, BAB密鑰A, B, KABKB用戶專用主密鑰用戶 主密ABKerberosAASTGSTKAB, A, KABKBT + 1KABA, KSTKS, B,KTGA, KABKB,B, KABKSKTGKAA, KSKS, ABKerberosAASTGSTKAB, A, KAB2、公鑰的分配需要有一個值得信賴的機構(gòu)即認證中心CA (Certification Authority),來將公鑰與其對應(yīng)的實體(人或機器)進行綁定(binding)。認證中心一般由政

溫馨提示

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

最新文檔

評論

0/150

提交評論