




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、網絡安全網絡安全 授課教師:石元泉授課教師:石元泉 E-mail: 第二章第二章 數據加密技術數據加密技術 n掌握數據加密的基本概念掌握數據加密的基本概念 n掌握傳統的密碼技術掌握傳統的密碼技術 n掌握對稱密鑰密碼和公開密鑰密碼體制掌握對稱密鑰密碼和公開密鑰密碼體制 n掌握密鑰管理掌握密鑰管理 n掌握數字簽名的方法掌握數字簽名的方法 n了解加密軟件了解加密軟件PGP提供的服務提供的服務 n了解網絡保密通信了解網絡保密通信 本章學習要求本章學習要求 第二章第二章 數據加密技術數據加密技術 u2.1 數據加密概述數據加密概述 u2.2 傳統密碼技術傳統密碼技術 u2.3 對稱密鑰密碼體制對稱密鑰密
2、碼體制 u2.4 公開密鑰密碼體制公開密鑰密碼體制 u2.5 數字簽名數字簽名 u2.6 密鑰管理密鑰管理 u2.7 網絡保密通信網絡保密通信 u2.8 加密軟件加密軟件PGP 主要內容主要內容 2.1 2.1 數據加密概述數據加密概述 2.1.1 2.1.1 密碼學的發展密碼學的發展 密碼學(密碼學(Cryptography,來源于古希臘的,來源于古希臘的Crypto和和 Graphein,意思是密寫),意思是密寫)是一門古老而深奧的學科,它以認是一門古老而深奧的學科,它以認 識密碼變換為本質,以加密與解密基本規律為研究對象。識密碼變換為本質,以加密與解密基本規律為研究對象。 早在幾千年前,
3、人類就已經有了保密通信的思想和方法,早在幾千年前,人類就已經有了保密通信的思想和方法, 但這些保密方法都是非常樸素、原始和低級的,而且大多數但這些保密方法都是非常樸素、原始和低級的,而且大多數 是無規律的。是無規律的。 1949年,信息論的創始人香農(年,信息論的創始人香農(C. E. Shannon)發表)發表 了一篇著名的文章,論證了一般經典加密方法都是可以破解了一篇著名的文章,論證了一般經典加密方法都是可以破解 的。到了的。到了20世紀世紀60年代,隨著電子技術、信息技術的發展及年代,隨著電子技術、信息技術的發展及 結構代數、可計算性理論和復雜度理論的研究,密碼學又進結構代數、可計算性理
4、論和復雜度理論的研究,密碼學又進 入了一個新的時期。入了一個新的時期。 2.1 2.1 數據加密概述數據加密概述 密碼學的發展可分為密碼學的發展可分為兩個主要階段兩個主要階段:第一個階:第一個階 段是段是傳統密碼學傳統密碼學階段,即古代密碼學階段,該階段階段,即古代密碼學階段,該階段 基本上依靠人工和機械對信息進行加密、傳輸和破基本上依靠人工和機械對信息進行加密、傳輸和破 譯;第二階段是譯;第二階段是計算機密碼學計算機密碼學階段,該階段又可細階段,該階段又可細 分為兩個階段,分為兩個階段,即使用傳統方法即使用傳統方法的計算機密碼學階的計算機密碼學階 段和段和使用現代方法使用現代方法的計算機密碼
5、學階段。的計算機密碼學階段。 在在20世紀世紀70年代年代,密碼學的研究出現了兩大成,密碼學的研究出現了兩大成 果,一個是果,一個是1977年美國國家標準局(年美國國家標準局(NBS)頒布的)頒布的 聯邦數據加密標準聯邦數據加密標準(DES),另一個是),另一個是1976年由年由 Diffie和和Hellman提出的提出的公鑰密碼體制公鑰密碼體制的新概念。的新概念。 2.1 2.1 數據加密概述數據加密概述 2.1.2 2.1.2 密碼學基本概念密碼學基本概念 在密碼學中,通過使用某種算法并使用一種專門信息在密碼學中,通過使用某種算法并使用一種專門信息 密鑰密鑰,可將信息從一個可理解的明碼形式
6、變換成一個錯亂的,可將信息從一個可理解的明碼形式變換成一個錯亂的 不可理解的密碼形式,只有再使用密鑰和相應的算法才能把不可理解的密碼形式,只有再使用密鑰和相應的算法才能把 密碼還原成明碼。密碼還原成明碼。 1密碼學的基本術語密碼學的基本術語 (1)消息()消息(Message) 消息是指用語言、文字、數字、符號、圖像、聲音或其組合等方式消息是指用語言、文字、數字、符號、圖像、聲音或其組合等方式 記載或傳遞的有意義的內容。在密碼學里,消息也稱為信息。記載或傳遞的有意義的內容。在密碼學里,消息也稱為信息。 (2)明文()明文(Plaintext) 未經過任何偽裝或隱藏技術處理的消息稱為明文。未經過
7、任何偽裝或隱藏技術處理的消息稱為明文。 (3)加密()加密(Encryption) 利用某些方法或技術對明文進行偽裝或隱藏的過程稱為加密。利用某些方法或技術對明文進行偽裝或隱藏的過程稱為加密。 2.1 2.1 數據加密概述數據加密概述 (4)密文密文(Cipher Text):被加密的消息稱為密文。):被加密的消息稱為密文。 (5)解密解密(Decryption):將密文恢復成原明文的過程或操作稱):將密文恢復成原明文的過程或操作稱 為解密。解密也可稱為脫密。為解密。解密也可稱為脫密。 (6)加密算法加密算法(Encryption Algorithm):將明文消息加密成密):將明文消息加密成密
8、 文所采用的一組規則或數學函數。文所采用的一組規則或數學函數。 (7)解密算法解密算法(Decryption Algorithm):將密文消息解密成明):將密文消息解密成明 文所采用的一組規則或數學函數。文所采用的一組規則或數學函數。 (8)密鑰密鑰(Key):進行加密或解密操作所需要的秘密參數或關):進行加密或解密操作所需要的秘密參數或關 鍵信息。在密碼系統中,密鑰分為私鑰與公鑰兩種。私鑰指必須保鍵信息。在密碼系統中,密鑰分為私鑰與公鑰兩種。私鑰指必須保 密的密鑰,公鑰指可以向外界公開的密鑰。密的密鑰,公鑰指可以向外界公開的密鑰。 (9)密碼體制密碼體制(Cryptosystem):一個密碼
9、體制或密碼系統是):一個密碼體制或密碼系統是 指由指由明文空間、密文空間、密鑰空間、加密算法以及解密算法明文空間、密文空間、密鑰空間、加密算法以及解密算法組成組成 的一個多元素集合體。的一個多元素集合體。 2.1 2.1 數據加密概述數據加密概述 2加解密過程加解密過程 通用的數據加密模型如圖通用的數據加密模型如圖2-1所示。所示。 明文P 加密密鑰Ke 密文C 加密(E) 發送端 解密(D) 接收端 解密密鑰Kd 明文P 攻擊者 圖圖2-1 通用的數據加密模型通用的數據加密模型 2.1 2.1 數據加密概述數據加密概述 1)、加密算法:完成其函數)、加密算法:完成其函數c=f (P, Ke)
10、的運算。的運算。 對于一個確定的加密密鑰對于一個確定的加密密鑰Ke,加密過程可看作是只有一個自變量,加密過程可看作是只有一個自變量 的函數,記作的函數,記作Ek,稱為,稱為加密變換加密變換。因此加密過程可記為:。因此加密過程可記為: C=Ek (P) 即加密變換即加密變換Ek作用到明文作用到明文P后得到密文后得到密文C。 2)、解密算法:完成其函數)、解密算法:完成其函數P=g (Kd ,C)的運算。的運算。 對于一個確定的解密密鑰對于一個確定的解密密鑰Kd,解密過程可記為:,解密過程可記為: P=Dk (C) 即解密變換即解密變換Dk作用到密文作用到密文C后得到明文后得到明文P 。 2.1
11、2.1 數據加密概述數據加密概述 2.1.3 2.1.3 密碼的分類密碼的分類 從從不同的角度不同的角度,根據,根據不同的標準不同的標準,可將密碼分為不同的類型。,可將密碼分為不同的類型。 1手工密碼、機械密碼、電子機內亂密碼和計算機密碼手工密碼、機械密碼、電子機內亂密碼和計算機密碼 按密碼的歷史發展階段和應用技術劃分:按密碼的歷史發展階段和應用技術劃分: (1)手工密碼手工密碼是以手工完成,或以簡單器具輔助完成加密和解密是以手工完成,或以簡單器具輔助完成加密和解密 過程的密碼。過程的密碼。 (2)機械密碼機械密碼是以機械密碼機或電動密碼機來實現加密和解密過是以機械密碼機或電動密碼機來實現加密
12、和解密過 程的密碼。程的密碼。 (3)通過電子電路,以嚴格的程序進行邏輯運算,以少量制亂元)通過電子電路,以嚴格的程序進行邏輯運算,以少量制亂元 素生產大量的加密亂數,因其制亂是在加密、解密過程中完成的而不素生產大量的加密亂數,因其制亂是在加密、解密過程中完成的而不 需預先制作,所以稱為需預先制作,所以稱為電子機內亂密碼電子機內亂密碼。 (4)計算機密碼計算機密碼是指以計算機軟件程序完成加密和解密過程的密是指以計算機軟件程序完成加密和解密過程的密 碼,適用于計算機數據保護和網絡保密通信場合。碼,適用于計算機數據保護和網絡保密通信場合。 2.1 2.1 數據加密概述數據加密概述 2替代密碼和移位
13、密碼替代密碼和移位密碼 按密碼轉換操作的原理劃分:按密碼轉換操作的原理劃分: (1)替代密碼也叫置換密碼替代密碼也叫置換密碼,就是在加密時將明文中的每,就是在加密時將明文中的每 個或每組字符由另一個或另一組字符替換,個或每組字符由另一個或另一組字符替換,原字符被隱藏原字符被隱藏起來,起來, 即形成密文。即形成密文。 (2)移位密碼也叫換位密碼移位密碼也叫換位密碼,就是在加密時只對明文字母,就是在加密時只對明文字母 (字符、符號)重新排序,每個字母位置變化了,但沒被隱藏(字符、符號)重新排序,每個字母位置變化了,但沒被隱藏 起來。移位密碼起來。移位密碼是一種打亂原文順序的加密方法是一種打亂原文順
14、序的加密方法。 替代密碼加密過程是明文的字母位置不變而字母形式變化替代密碼加密過程是明文的字母位置不變而字母形式變化 了,移位密碼加密過程是字母的形式不變而位置變化了。了,移位密碼加密過程是字母的形式不變而位置變化了。 2.1 2.1 數據加密概述數據加密概述 3保密密碼和不保密密碼保密密碼和不保密密碼 按保密程度劃分:按保密程度劃分: (1)理論上保密的密碼理論上保密的密碼是指不管獲取多少密文和有多大的是指不管獲取多少密文和有多大的 計算能力,始終不能破譯原信息,這種密碼也叫理論計算能力,始終不能破譯原信息,這種密碼也叫理論不可破譯不可破譯 的密碼。的密碼。 (2)實際上保密的密碼實際上保密
15、的密碼是指在理論上可破譯,但在現有客是指在理論上可破譯,但在現有客 觀條件下,無法通過計算來得到原信息,或即使破譯成功,得觀條件下,無法通過計算來得到原信息,或即使破譯成功,得 到了原信息,但此時原信息早已過了實效期而沒有任何意義了。到了原信息,但此時原信息早已過了實效期而沒有任何意義了。 (3)不保密的密碼不保密的密碼是指在獲取一定數量的密文后,使用一是指在獲取一定數量的密文后,使用一 些技術即可得到仍有意義的原信息。些技術即可得到仍有意義的原信息。 2.1 2.1 數據加密概述數據加密概述 4分組密碼和序列密碼分組密碼和序列密碼 按明文加密時的處理過程:按明文加密時的處理過程: (1)分組
16、密碼分組密碼:分組密碼的加密過程是:首先將明文序列以固:分組密碼的加密過程是:首先將明文序列以固 定長度進行分組(數據塊),每組明文用相同的密鑰和算法進行變換,定長度進行分組(數據塊),每組明文用相同的密鑰和算法進行變換, 得到一組密文。得到一組密文。 加密算法中重復地使用加密算法中重復地使用替代和移位替代和移位兩種基本的加密變換,此即兩種基本的加密變換,此即 Shannon于于1949年發現的年發現的隱藏信息隱藏信息的兩種技術的兩種技術擴散和擾亂。擴散和擾亂。 擴散擴散(Diffusion)就是把明文的統計結構擴散消失到密文的)就是把明文的統計結構擴散消失到密文的 長度統計特性中。長度統計特
17、性中。 擾亂擾亂(Conffusion)即試圖使密文的統計特性與加密密鑰取)即試圖使密文的統計特性與加密密鑰取 值之間的關系盡量復雜,同樣也是為了增大發現密鑰的難度。值之間的關系盡量復雜,同樣也是為了增大發現密鑰的難度。 (2)序列密碼序列密碼 序列密碼的加序列密碼的加/解密過程是:把報文、語音、圖像等原始信息轉解密過程是:把報文、語音、圖像等原始信息轉 換為明文數據序列,再將其與換為明文數據序列,再將其與密鑰序列密鑰序列進行進行“異或異或”運算,生成密文運算,生成密文 序列發送給接收者;接收者用相同的密鑰序列與密文序列再進行逐位序列發送給接收者;接收者用相同的密鑰序列與密文序列再進行逐位 解
18、密(異或),恢復明文序列。解密(異或),恢復明文序列。 2.1 2.1 數據加密概述數據加密概述 5對稱密鑰密碼和非對稱密鑰密碼對稱密鑰密碼和非對稱密鑰密碼 按加密和解密密鑰的類型劃分:按加密和解密密鑰的類型劃分: 加密和解密過程都是在密鑰的作用下進行的。如果加密密加密和解密過程都是在密鑰的作用下進行的。如果加密密 鑰和解密密鑰相同或相近,由其中一個很容易地得出另一個,鑰和解密密鑰相同或相近,由其中一個很容易地得出另一個, 這樣的系統稱為這樣的系統稱為對稱密鑰密碼系統對稱密鑰密碼系統。在這種系統中,加密和解。在這種系統中,加密和解 密密鑰都需要保密。對稱密鑰密碼系統也稱為密密鑰都需要保密。對稱
19、密鑰密碼系統也稱為單密鑰單密鑰密碼系統密碼系統 或或傳統密鑰傳統密鑰密碼系統。密碼系統。 如果加密密鑰與解密密鑰不同,且由其中一個不容易得到如果加密密鑰與解密密鑰不同,且由其中一個不容易得到 另一個,則這種密碼系統是另一個,則這種密碼系統是非對稱密鑰密碼系統非對稱密鑰密碼系統。這兩個不同。這兩個不同 的密鑰,往往其中一個是公開的,另一個是保密的。非對稱密的密鑰,往往其中一個是公開的,另一個是保密的。非對稱密 鑰密碼系統也稱為鑰密碼系統也稱為雙密鑰雙密鑰密碼系統或密碼系統或公開密鑰公開密鑰密碼系統。密碼系統。 2.2 2.2 傳統密碼技術傳統密碼技術 2.2.1 2.2.1 數據的表示數據的表示
20、 傳統加密方法加密的對象是傳統加密方法加密的對象是文字信息文字信息。文字由字母表中的字。文字由字母表中的字 母組成,在字母表中字母是按順序排列的,可賦予它們相應的數母組成,在字母表中字母是按順序排列的,可賦予它們相應的數 字序號,如表字序號,如表2-1所示。因為大多數加密算法都有數學屬性,這種所示。因為大多數加密算法都有數學屬性,這種 表示方法便于對字母進行算術運算,因此可用數學方法進行加密表示方法便于對字母進行算術運算,因此可用數學方法進行加密 變換。將字母表中的字母看作是循環的,將字母的加減運算變換變換。將字母表中的字母看作是循環的,將字母的加減運算變換 為相應代碼的算術運算,可用求模運算
21、來表示(在標準的英文字為相應代碼的算術運算,可用求模運算來表示(在標準的英文字 母表中,模數為母表中,模數為26),如),如A+4=E,X-10=H,因為:,因為: l+4=5 5 mod 26 =5 序號序號5對應的字母為對應的字母為“E”; 24+10=34 34 mod 26 =8 序號序號8對應的字母為對應的字母為“H”。 2.2 2.2 傳統密碼技術傳統密碼技術 表2-1 英文字母表及其序號 字 母代 碼字 母代 碼 A1N14 B2O15 C3P16 D4Q17 E5R18 F6S19 G7T20 H8U21 I9V22 J10W23 K11X24 L12Y25 M13Z26 2.
22、2 2.2 傳統密碼技術傳統密碼技術 2.2.2 2.2.2 替代密碼替代密碼 替代密碼替代密碼在加密時將一個字母或一組字母的明文用另一個在加密時將一個字母或一組字母的明文用另一個 字母或一組字母替代,而得到密文;解密就是對密文進行逆替字母或一組字母替代,而得到密文;解密就是對密文進行逆替 代得到明文的過程。代得到明文的過程。 在傳統密碼學中,替代密碼有在傳統密碼學中,替代密碼有簡單替代、多名碼替代、多簡單替代、多名碼替代、多 字母替代和多表替代字母替代和多表替代4種類型。種類型。 1簡單替代密碼簡單替代密碼 簡單替代密碼也叫簡單替代密碼也叫單表替代密碼單表替代密碼。簡單替代就是將明文的。簡單
23、替代就是將明文的 一個字母,用相應的一個密文字母代替;其規則是根據密鑰形一個字母,用相應的一個密文字母代替;其規則是根據密鑰形 成一個新的字母表,與原明文字母表有相應的對應(映射)關成一個新的字母表,與原明文字母表有相應的對應(映射)關 系。簡單替代加密方法有移位映射法、倒映射法和步長映射法系。簡單替代加密方法有移位映射法、倒映射法和步長映射法 等,如圖等,如圖2-2所示。所示。 2.2 2.2 傳統密碼技術傳統密碼技術 A E B F C G D H . . . . . . . . . . . . . . . . . . . . . . . . W A X B Y C Z D A Z B Y
24、 C X D W . . . . . . . . . . . . . . . . . . . . . . . . W D X C Y B Z A A C B F C I D L . . . . . . . . . . . . . . . . . . . . . . . . W Q X T Y W Z Z (a)移位映射)移位映射 (b)倒映射)倒映射 (c)步長映射(步長為)步長映射(步長為3) 圖圖2-2 簡單替代加密示意圖簡單替代加密示意圖 2.2 2.2 傳統密碼技術傳統密碼技術 2多名碼替代密碼多名碼替代密碼 多名碼替代密碼與簡單替代密碼的替代規則相似,不同之處多名碼替代密碼與簡單替代
25、密碼的替代規則相似,不同之處 是單個明文字母可以映射成幾個密文字母,如是單個明文字母可以映射成幾個密文字母,如A可能對應于可能對應于5、13、 25或或56,B可能對應于可能對應于7、19、31或或42等。等。 3多字母替代密碼多字母替代密碼 多字母替代密碼的加密和解密都是將字母以塊為單位進行的。多字母替代密碼的加密和解密都是將字母以塊為單位進行的。 比如,比如,ABA對應于對應于OST,ABB對應于對應于STL等。等。 4多表替代密碼多表替代密碼 多表替代密碼有多個單字母密鑰,每個密鑰被用來加密一個明多表替代密碼有多個單字母密鑰,每個密鑰被用來加密一個明 文字母,它是由多個簡單替代密碼構成的
26、。文字母,它是由多個簡單替代密碼構成的。 如如:Vigenere密碼密碼/1568年,年,26個字母循環移位,形成個字母循環移位,形成26X26方方 陣表,加解密時明文、密鑰、密文對應表中的行、列和交叉點。陣表,加解密時明文、密鑰、密文對應表中的行、列和交叉點。 2.2 2.2 傳統密碼技術傳統密碼技術 例:例: pdata security, k=best , 首先將明文分解成長為首先將明文分解成長為4的序列:的序列: data secu rity 密文:密文:EELT TIUN SMLR 2.2 2.2 傳統密碼技術傳統密碼技術 2.2.3 2.2.3 移位密碼移位密碼 移位密碼移位密碼加
27、密時只對明文字母重新排序,字母位置變化了,加密時只對明文字母重新排序,字母位置變化了, 但它們沒有被隱藏。移位密碼加密是一種打亂原文順序的替代但它們沒有被隱藏。移位密碼加密是一種打亂原文順序的替代 法。法。 例如,把明文例如,把明文this is a bookmark按行寫出,分為按行寫出,分為3行、行、5 列,則成為以下形式。列,則成為以下形式。 thisi saboo kmark 讀出時按從左到右的列順序進行,可得到密文讀出時按從左到右的列順序進行,可得到密文 tskhamibasoriok 則它的密鑰就是則它的密鑰就是12345,即按列讀出的順序。,即按列讀出的順序。 2.2 2.2 傳
28、統密碼技術傳統密碼技術 2.2.4 2.2.4 一次一密鑰密碼一次一密鑰密碼 顧名思義,顧名思義,一次一密鑰密碼一次一密鑰密碼就是指每次都使用一個新的密就是指每次都使用一個新的密 鑰進行加密,然后該密鑰就被丟棄,下次加密時再選擇一個新鑰進行加密,然后該密鑰就被丟棄,下次加密時再選擇一個新 密鑰。密鑰。 例如,如果信息是:例如,如果信息是: ONETIMEPAD 密鑰本中的一頁密鑰是:密鑰本中的一頁密鑰是: GINTBDEYWX 則可得到密文:則可得到密文: VWSNKQJOXB 這是因為:這是因為: O+G=V(mod 26) N+I=W(mod 26) E+N=S(rood 26) 如果接收
29、者選擇的密鑰是:如果接收者選擇的密鑰是: QIPVLAPFIN 則解密后可得明文為:則解密后可得明文為: ENCRYPTION 如果接收者選擇的密鑰是:如果接收者選擇的密鑰是: RRPVLAPFIN 則解密后可得明文為:則解密后可得明文為: DECRYPTION 2.3 2.3 對稱密鑰密碼體制對稱密鑰密碼體制 2.3.1 2.3.1 對稱密鑰密碼的概念對稱密鑰密碼的概念 1對稱密鑰密碼體制的基本思想對稱密鑰密碼體制的基本思想 對稱密鑰密碼體制對稱密鑰密碼體制也叫傳統密鑰密碼體制,其基本思想就是也叫傳統密鑰密碼體制,其基本思想就是“加加 密密鑰和解密密鑰相同或相近密密鑰和解密密鑰相同或相近”,
30、由其中一個可推導出另一個。對稱,由其中一個可推導出另一個。對稱 密鑰密碼體制模型如圖密鑰密碼體制模型如圖2-3所示。所示。 明文P密文C 加密(E) 發送端 解密(D) 接收端 明文P AB 密鑰 圖圖2-3 對稱密鑰密碼體制模型對稱密鑰密碼體制模型 2對稱密鑰密碼體制的工作流程對稱密鑰密碼體制的工作流程 如圖如圖2-3。 2.3 2.3 對稱密鑰密碼體制對稱密鑰密碼體制 2.3.2 2.3.2 數據加密標準數據加密標準DES 2.3 2.3 對稱密鑰密碼體制對稱密鑰密碼體制 2.3.2 2.3.2 數據加密標準數據加密標準DES DES算法 算法的構成框圖如圖的構成框圖如圖2-4所示。所示。
31、 逆初始變換 IP-1 初始置換 IP 乘積變換 (在密鑰控制下的 16 次迭代) 64bit的明文 64bit的密文 圖圖2-4 DES算法框圖算法框圖 1初始置換初始置換IP 對輸入的對輸入的64bit明文明文 按初始置換表(見右下按初始置換表(見右下 表)進行初始置換。從表)進行初始置換。從 表中可以看出,表中可以看出,IP中各中各 列元素標明的位置數均列元素標明的位置數均 相差相差8,相當于將原明文,相當于將原明文 各字節按列寫出,各列各字節按列寫出,各列 bit經過偶采樣和奇采樣經過偶采樣和奇采樣 置換后,再對各行進行置換后,再對各行進行 逆序。逆序。 58 50 42 34 26
32、18 10 2 60 52 44 36 28 20 12 4 62 54 46 38 30 22 14 6 64 56 48 40 32 24 16 8 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7 2.3 2.3 對稱密鑰密碼體制對稱密鑰密碼體制 2乘積變換乘積變換 乘積變換乘積變換是是DES算法的算法的核心部分核心部分。經過初始置換后的。經過初始置換后的64bit 輸出作為乘積變換的輸入輸出作為乘積變換的輸入X0,其左、右各,其左、右各32bit分別記為分
33、別記為L0和和 R0,然后經過,然后經過16次迭代。次迭代。 (1)擴展置換)擴展置換E 擴展置換擴展置換E將輸入的將輸入的32bit Ri-1 擴展為擴展為48bit的輸出。這是通過的輸出。這是通過 對部分對部分bit(原位置數對(原位置數對4取模余取模余 數為數為0或或1的的bit)重復使用來完)重復使用來完 成的。圖成的。圖2-6給出了擴展置換表給出了擴展置換表 E,將表中數據逐行讀出即可得,將表中數據逐行讀出即可得 到到48bit的輸出。的輸出。 32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11 12 13 12 13 14 15 16 17 16 17 18 19
34、 20 21 20 21 22 23 24 25 24 25 26 27 28 29 28 29 30 31 32 1 圖圖2-6 擴展置換表擴展置換表E 2.3 2.3 對稱密鑰密碼體制對稱密鑰密碼體制 (2)密鑰加密)密鑰加密 密鑰加密運算密鑰加密運算 將子密鑰產生將子密鑰產生 器輸出的器輸出的48bit 子密鑰子密鑰Ki與擴與擴 展置換展置換E輸出的輸出的 48bit數據按數據按bit 模模2相加。相加。 子密鑰的生成子密鑰的生成 過程如圖過程如圖2-7所所 示。示。 密鑰(64 bit) 密鑰(56 bit) 壓縮置換 PC-1 D0(28bit) 壓縮置換 PC-2 壓縮置換 PC-
35、2 壓縮置換 PC-2 C0(28bit) C1(28bit) D1(28bit) Ci-1(28bit) Di-1(28bit) Ci(28bit) Di(28bit) 壓縮置換 PC-2 C16(28bit) D16(28bit) 循環左移 t1次 循環左移 ti次 循環左移 t1次 循環左移 t1次 子密鑰 K16 子密鑰 Ki (i=1,16) 子密鑰 Ki-1 (i=1,16) 子密鑰 K1 圖圖2-7 子密鑰的生成過程子密鑰的生成過程 PC-2 C0 D0 PC-1 2.3 2.3 對稱密鑰密碼體制對稱密鑰密碼體制 (3)壓縮運算壓縮運算S 壓縮運算壓縮運算S將經加密運算將經加密運
36、算 后得到的后得到的48bit數據從左數據從左 到右分成到右分成6bit一組,一組,8組組 數據分別輸入數據分別輸入8個個S盒中,盒中, 每個每個S盒實現輸入盒實現輸入6bit到到 輸出輸出4bit的替代。圖的替代。圖2-11 給出了給出了S盒(盒(S1S8) 的替代關系表。的替代關系表。 1、6定行;定行;25定列定列 表2-6 密鑰壓縮置換表PC-2 14 17 11 24 1 5 3 28 15 6 21 10 23 19 12 4 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40 51 45 33 48 44 49 39 56 34 53 46
37、42 50 36 29 32 13 2 8 4 6 15 11 1 10 9 3 14 5 0 12 7 1 15 13 8 10 3 7 4 12 5 6 11 0 14 9 12 7 11 4 1 9 12 14 2 0 6 10 13 15 3 5 8 2 1 14 7 4 10 8 13 15 12 9 0 3 5 6 11 4 11 2 14 15 0 8 13 3 12 9 7 5 10 6 1 13 0 11 7 4 9 1 10 14 3 5 12 2 15 8 6 1 4 11 13 12 3 7 14 10 15 6 8 0 5 9 2 6 11 13 8 1 4 10 7
38、 9 5 0 15 14 2 3 12 12 1 10 15 9 2 6 8 0 13 3 4 14 7 5 11 10 15 4 2 7 12 9 5 6 1 13 14 0 11 3 8 9 14 15 5 2 8 12 3 7 0 4 10 1 13 11 6 4 3 2 12 9 5 15 10 11 14 1 7 6 0 8 13 2 12 4 1 7 10 11 6 8 5 3 15 13 0 14 9 14 11 2 12 4 7 13 1 5 0 15 10 3 9 8 6 4 2 1 11 10 13 7 8 15 9 12 5 6 3 0 14 11 8 12 7 1 14
39、 2 13 6 15 0 9 10 4 5 3 7 13 14 3 0 6 9 10 1 2 8 5 11 12 4 15 13 8 11 5 6 15 0 3 4 7 2 12 1 10 14 9 10 6 9 0 12 11 7 13 15 1 3 14 5 2 8 4 3 15 0 6 10 1 13 8 9 4 5 11 12 7 2 14 10 0 9 14 6 3 15 5 1 13 12 7 11 4 2 8 13 7 0 9 3 4 6 10 2 8 5 14 12 11 15 1 13 6 4 9 8 15 3 0 11 1 2 12 5 10 14 7 1 10 13 0
40、6 9 8 7 4 15 14 3 11 5 2 12 15 1 8 14 6 11 3 4 9 7 2 13 12 0 5 10 3 13 4 7 15 2 8 14 12 0 1 10 6 9 11 5 0 14 7 11 10 4 13 1 5 8 12 6 9 3 2 15 13 8 10 1 3 15 4 2 11 6 7 12 0 5 14 9 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0 15 12
41、8 2 4 9 1 7 5 11 3 14 10 0 6 13 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 列 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 S1 盒 S2 盒 S3 盒 S4 盒 S5 盒 S6 盒 S7 盒 S8 盒 行 圖圖2-11 S盒(盒(S1S8)的替代關系表)的替代關系表 2.3 2.3 對稱密鑰密碼體制對稱密鑰密碼體制 (4)置換運算置換運算P 置換運算置換運算P對對S盒輸出的數據按照置換運算表盒輸出的數據按照置換運算表P(見圖(見圖2-12)進行置
42、)進行置 換。換。 16 7 20 21 29 12 28 17 5 18 31 10 2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25 圖圖2-12 置換運算表置換運算表P 1 15 23 26 2.3 2.3 對稱密鑰密碼體制對稱密鑰密碼體制 3逆初始置換逆初始置換IP-1 將將16次迭代后輸出的次迭代后輸出的R16L16(64bit)按照逆初始置換表)按照逆初始置換表IP-1 (見圖(見圖2-13)進行置換,得到所需的密文。)進行置換,得到所需的密文。 40 8 48 16 56 24 64 32 39 7 47 15 55 23 63 31 38 6
43、46 14 54 22 62 30 37 5 45 13 53 21 61 29 36 4 44 12 52 20 60 28 35 3 43 11 51 19 59 27 34 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25 圖圖2-13 逆初始置換表逆初始置換表IP-1 2.3 2.3 對稱密鑰密碼體制對稱密鑰密碼體制 4解密解密 由密文到明文的解密處理和由明文到密文的加密處理類似。兩者由密文到明文的解密處理和由明文到密文的加密處理類似。兩者 使用同一組子密鑰,不同的只是兩者的生成次序正好相反,即解密時使用同一組子密鑰,不同的只是兩者的生成次序正好相反,
44、即解密時 用到的第一個子密鑰用到的第一個子密鑰K1是加密時最后生成的子密鑰是加密時最后生成的子密鑰K16,依此類推。,依此類推。 下面對比一下使用下面對比一下使用DES算法進行加密和解密的處理過程。算法進行加密和解密的處理過程。 (1)加密過程)加密過程 L0R064bit明文經明文經IP置換置換 LiRi-1(i=1,16) RiLi-1 f(Ki,Ri- 1)i=1,16)64bit密文密文 bitR16L16經經IP-1置換置換 (2)解密過程)解密過程 R16L1664bit密文經密文經IP置換置換 Ri-1Li(i=16,1) Li-1Ri f(Ki, LI)(i=1,16) 64b
45、it密文密文bitR0L0經經IP-1置換置換 + 2.3 2.3 對稱密鑰密碼體制對稱密鑰密碼體制 5DES的特點及應用的特點及應用 (1)DES算法的特點算法的特點 DES算法具有算法具有等優點;但也有等優點;但也有 密鑰位數少、保密強度較差和密鑰管理復雜等缺點。密鑰位數少、保密強度較差和密鑰管理復雜等缺點。 (2)DES的主要應用的主要應用 計算機網絡通信計算機網絡通信。對計算機網絡通信中的數據提供保護是。對計算機網絡通信中的數據提供保護是DES 的一項重要應用,但這些保護的數據一般只限于民用敏感信息,即不的一項重要應用,但這些保護的數據一般只限于民用敏感信息,即不 在政府確定的保密范圍
46、之內的信息。在政府確定的保密范圍之內的信息。 電子資金傳送系統電子資金傳送系統。采用。采用DES的方法加密電子資金傳送系統中的方法加密電子資金傳送系統中 的信息,可準確、快速地傳送數據,并可較好地解決信息安全的問題。的信息,可準確、快速地傳送數據,并可較好地解決信息安全的問題。 保護用戶文件保護用戶文件。用戶可自選密鑰,用。用戶可自選密鑰,用DES算法對重要文件加密,算法對重要文件加密, 防止未授權用戶竊密。防止未授權用戶竊密。 用戶識別用戶識別。DES還可用于計算機用戶識別系統中。還可用于計算機用戶識別系統中。 2.3 2.3 對稱密鑰密碼體制對稱密鑰密碼體制 2.3.3 2.3.3 對稱密
47、碼體制的其他算法簡介對稱密碼體制的其他算法簡介 除除DES外,對稱密鑰密碼算法還有外,對稱密鑰密碼算法還有TDEA(3DES)、)、 IDEA、AES、MD5、RC5等。以下分別介紹等。以下分別介紹TDEA、IEDA和和 AES算法。算法。 1TDEA算法 TDEA算法使用算法使用3個密個密 鑰,執行鑰,執行3次次DES算法,算法, 如圖如圖2-14所示所示。 CEDEM K1K2K3 MDEDC K3K2K1 圖圖2-14 三重三重DES的加密解密過程的加密解密過程 2.3 2.3 對稱密鑰密碼體制對稱密鑰密碼體制 加密過程加密過程為:為: C=EK3 (DK2 (EK1(M) 解密時按密鑰
48、相反的順序進行,可表述為:解密時按密鑰相反的順序進行,可表述為: M=DKl (EK2 (DK3 (C) 其中其中M表示明文,表示明文,C表示密文,表示密文,EK(X) 表示使用密鑰表示使用密鑰K對對X進行加密,進行加密, DK(x) 表示使用密鑰表示使用密鑰K對密文對密文X解密。解密。 TDEA算法使用算法使用2個個DES密鑰密鑰K1和和K2進行進行3次次DES的加密,其效果的加密,其效果 相當于將密鑰長度增加相當于將密鑰長度增加1倍。倍。TDEA算法的執行步驟為算法的執行步驟為: (1)發送方使用密鑰)發送方使用密鑰K1進行第一次進行第一次DES加密。加密。 (2)發送方用密鑰)發送方用密
49、鑰K2對上一結果進行對上一結果進行DES解密。解密。 (3)發送方再用密鑰)發送方再用密鑰K1對上一結果進行第二次對上一結果進行第二次DES加密。加密。 (4)接收方則相應地使用)接收方則相應地使用K1解密,解密,K2加密,再使用加密,再使用K1解密。解密。 2.3 2.3 對稱密鑰密碼體制對稱密鑰密碼體制 2IDEA算法算法 國際數據加密算法國際數據加密算法(International Data Encryption Algorithm, IDEA)是由瑞士的著名學者首先提出的,)是由瑞士的著名學者首先提出的,1990年被正式公布并在隨年被正式公布并在隨 后得到了增強。這種算法是在后得到了增
50、強。這種算法是在DES算法的基礎上發展起來的,類似于算法的基礎上發展起來的,類似于 三重三重DES。 IDEA算法設計了一系列加密輪次,每輪加密都使用從完整的加算法設計了一系列加密輪次,每輪加密都使用從完整的加 密密鑰中生成的一個子密鑰。每輪次中也使用壓縮函數進行變換,只密密鑰中生成的一個子密鑰。每輪次中也使用壓縮函數進行變換,只 是不使用移位變換。是不使用移位變換。IDEA中使用異或、中使用異或、模模216法和模法和模216+1乘法運算,乘法運算, 這這3種運算彼此混合可產生很好的效果。運算時種運算彼此混合可產生很好的效果。運算時IDEA把數據分為把數據分為4個個 子分組,每個分組子分組,每
51、個分組16bit。 與與DES的不同之處在于,的不同之處在于,IDEA采用采用軟件實現和采用硬件實現同樣軟件實現和采用硬件實現同樣 快速。快速。 2.3 2.3 對稱密鑰密碼體制對稱密鑰密碼體制 3AES算法算法 高級加密標準高級加密標準(Advanced Encryption Standard,AES)是由)是由 美國國家標準技術研究所(美國國家標準技術研究所(NIST)于)于1997年發起征集的數據加密標年發起征集的數據加密標 準,旨在得到一個非保密的、全球免費使用的分組加密算法,并成為準,旨在得到一個非保密的、全球免費使用的分組加密算法,并成為 替代替代DES的數據加密標準。的數據加密標
52、準。NIST于于2000年選擇了比利時兩位科學家年選擇了比利時兩位科學家 提出的提出的Rijndael作為作為AES的算法。的算法。 Rijndael是一種分組長度和密鑰長度都可變的分組密碼算法,其是一種分組長度和密鑰長度都可變的分組密碼算法,其 分組長度和密鑰長度都分別可為分組長度和密鑰長度都分別可為128bit、192bit和和256bit。 Rijndael算法具有安全、高效和靈活等優點,使它成為算法具有安全、高效和靈活等優點,使它成為AES最合適的最合適的 選擇。選擇。 (1)安全性)安全性 (2)高效性)高效性 (3)靈活性)靈活性 2.4 2.4 公開密鑰密碼體制公開密鑰密碼體制
53、2.4.1 2.4.1 公開密鑰密碼體制的概念公開密鑰密碼體制的概念 1公鑰體制的概念公鑰體制的概念 與對稱密鑰加密方法不同,公開密鑰密碼系統采用與對稱密鑰加密方法不同,公開密鑰密碼系統采用兩個不同的密鑰兩個不同的密鑰來來 對信息進行加密和解密,也稱為對信息進行加密和解密,也稱為“非對稱式加密方法非對稱式加密方法”。 根據所基于的數學難題來區分,有以下根據所基于的數學難題來區分,有以下3類系統算法目前被認為類系統算法目前被認為 是安全有效的:大整數素因子分解系統(代表性的算法是是安全有效的:大整數素因子分解系統(代表性的算法是RSA)、橢)、橢 圓曲線離散對數系統(圓曲線離散對數系統(ECC)
54、和離散對數系統(代表性的算法是)和離散對數系統(代表性的算法是 DSA)。)。 (1)當前最著名、應用最廣泛的公鑰系統的密碼算法是)當前最著名、應用最廣泛的公鑰系統的密碼算法是RSA。 (2)橢圓曲線加密算法()橢圓曲線加密算法(Elliptic Curve Cryptography,ECC) 是基于離散對數的計算困難性。是基于離散對數的計算困難性。 (3)數字簽名算法()數字簽名算法(Data Signature Algorithm,DSA)是基)是基 于離散對數問題的數字簽名標準,它僅提供數字簽名功能,不提供數于離散對數問題的數字簽名標準,它僅提供數字簽名功能,不提供數 據加密功能。據加密
55、功能。 2.4 2.4 公開密鑰密碼體制公開密鑰密碼體制 2公鑰體制的特征公鑰體制的特征 (1)用)用Ke對明文加密后,再用對明文加密后,再用Kd解密,即可恢復出明文,即:解密,即可恢復出明文,即: M=DkdEke(M) (2)加密和解密運算可以對調,即:)加密和解密運算可以對調,即: M=DkdEke(M)=EkeDkd(M) (3)加密密鑰不能用來解密,即:)加密密鑰不能用來解密,即: MDkeEke(M) (4)在計算上很容易產生密鑰對)在計算上很容易產生密鑰對Ke和和Kd,但已知,但已知Ke是不能推導是不能推導 出出Kd的,或者說從的,或者說從Ke得到得到Kd是是“計算上不可能的計算
56、上不可能的”。 2.4 2.4 公開密鑰密碼體制公開密鑰密碼體制 3公鑰算法的應用公鑰算法的應用 使用公開密鑰對文件進行加密傳輸的實際過程包括如下使用公開密鑰對文件進行加密傳輸的實際過程包括如下4個步驟個步驟: (1)發送方生成一個加密數據的會話密鑰,并用接收方的公開)發送方生成一個加密數據的會話密鑰,并用接收方的公開 密鑰對會話密鑰進行加密,然后通過網絡傳輸到接收方。密鑰對會話密鑰進行加密,然后通過網絡傳輸到接收方。 (2)發送方對需要傳輸的文件用會話密鑰進行加密,然后通過)發送方對需要傳輸的文件用會話密鑰進行加密,然后通過 網絡把加密后的文件傳輸到接收方。網絡把加密后的文件傳輸到接收方。
57、(3)接收方用自己的私鑰對發送方加過密的會話密鑰進行解密后)接收方用自己的私鑰對發送方加過密的會話密鑰進行解密后 得到加密文件的會話密鑰。得到加密文件的會話密鑰。 (4)接受方用會話密鑰對發送方加過密的文件進行解密得到文件)接受方用會話密鑰對發送方加過密的文件進行解密得到文件 的明文形式。的明文形式。 涉及到對稱密鑰和公開密鑰兩種密碼體制加解密 2.4 2.4 公開密鑰密碼體制公開密鑰密碼體制 2.4.2 2.4.2 RSA算法算法 1RSA算法簡介算法簡介 目前,最著名的公開密鑰密碼算法是目前,最著名的公開密鑰密碼算法是RSA,它是由美國麻省理工,它是由美國麻省理工 學院學院MIT的的3位科
58、學家位科學家Rivest、Shamir和和Adleman于于1976年提出的,年提出的, 故名故名RSA,并在,并在1978年正式發表。年正式發表。 假設用戶假設用戶A在系統中要進行數據加密和解密,則可根據以下步驟在系統中要進行數據加密和解密,則可根據以下步驟 選擇密鑰和進行密碼變換。選擇密鑰和進行密碼變換。 (1)隨機地選取兩個不同的大素數)隨機地選取兩個不同的大素數p和和q(一般為(一般為100位以上的十位以上的十 進制數)予以保密。進制數)予以保密。 (2)計算)計算n=pq,作為,作為RSA算法的模數。算法的模數。 (3)計算出)計算出n的的歐拉函數:歐拉函數: (n)=(p-1)(q
59、-1) mod n 其中:其中: (n)為不超過為不超過n并與并與n互素的數的個數。互素的數的個數。 2.4 2.4 公開密鑰密碼體制公開密鑰密碼體制 (4)隨機地從)隨機地從0, (n)-1中選取一個與中選取一個與 (n) 互素的整數互素的整數e,作為,作為 公開的加密密鑰。公開的加密密鑰。 (5)用歐幾里德算法,計算滿足同余方程)用歐幾里德算法,計算滿足同余方程 ed1 (mod (n) 的解的解d,作為保密密鑰。,作為保密密鑰。 (6)任何向)任何向A發送明文的用戶,均可用發送明文的用戶,均可用A的公開密鑰的公開密鑰e和公開模和公開模 數數n,根據式,根據式 C=Me (mod n) 計
60、算出密文計算出密文C。 (7)用戶)用戶A收到收到C后,可利用自己的保密密鑰后,可利用自己的保密密鑰d,根據式,根據式 M=Cd (mod n) 還原出明文還原出明文M。 2.4 2.4 公開密鑰密碼體制公開密鑰密碼體制 2RSA算法舉例 現以現以RSA算法為例,對明文算法為例,對明文HI進行加密。進行加密。 (1)選擇密鑰)選擇密鑰 設設p=5,q=11,則:,則: n=55, (n)=40 取取e=3(公鑰),根據(公鑰),根據ed1 (mod (n),則可得:,則可得:d=27(私鑰)(私鑰) (2)加密)加密 設明文編碼為:空格設明文編碼為:空格=00,A=01,B=02,Z=26,則
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數字時代心理因素與金融產品選擇-洞察闡釋
- 量子密鑰分發網絡安全性分析-洞察闡釋
- 2025-2030中國尼龍(PA)行業消費態勢與需求潛力預測報告
- 風險控制金普卡技術-洞察闡釋
- 材料分散技術與功能化材料-洞察闡釋
- 版本信息自動化記錄-洞察闡釋
- 花卉藝術在雕塑園的應用-洞察闡釋
- 便民門診工作制度
- 咨詢部員工管理制度
- 商業拓展部管理制度
- 生物信息學知到章節答案智慧樹2023年華東理工大學
- 特別的人歌詞
- 賽龍酒店管理系統操作手冊
- 監理規劃實施細則審批表
- 2023-2024學年江蘇省揚州市小學語文五年級期末評估試卷
- 風場前期相關windpro2中文版幫助文件
- 2023-2024學年江蘇省姜堰市小學數學一年級下冊期末評估測試題
- YY/T 0316-2003醫療器械 風險管理對醫療器械的應用
- 第四屆編校大賽試題及答案(含編輯、校對)
- GB/T 23124-2008體操器械體操墊
- GB/T 12149-2017工業循環冷卻水和鍋爐用水中硅的測定
評論
0/150
提交評論