《《物聯網信息安全》(桂小林版)(第3章)-數據安全詳解ppt課件》由會員分享,可在線閱讀,更多相關《《物聯網信息安全》(桂小林版)(第3章)-數據安全詳解ppt課件(40頁珍藏版)》請在裝配圖網上搜索。
1、西安交通大學西安交通大學西安交通大學西安交通大學 桂小林桂小林桂小林桂小林 1 1桂小林桂小林桂小林桂小林 1 1 1 1物聯網信息安全物聯網信息安全(第(第3章)章)桂小林桂小林西安交通大學電子與信息工程學院西安交通大學電子與信息工程學院計算機科學與技術系計算機科學與技術系2014.9.13西安交通大學 桂小林 1桂小林 11物聯網信息安全桂小林西安交通大學西安交通大學西安交通大學西安交通大學 桂小林桂小林桂小林桂小林 2 2第第3章章 數據安全數據安全桂小林西安交通大學2014-09-13西安交通大學 桂小林 2第3章 數據安全桂小林西安交通大學西安交通大學西安交通大學西安交通大學 桂小林
2、桂小林桂小林桂小林 3 33.1 基本概念基本概念簡單介紹密碼學的知識西安交通大學 桂小林 33.1 基本概念簡單介紹密碼學的知識西安交通大學西安交通大學西安交通大學西安交通大學 桂小林桂小林桂小林桂小林 4 43.1 密密碼學的基本概念學的基本概念密碼學(Cryptology)是一門古老的科學,大概自人類社會出現戰(zhàn)爭便產生了密碼,以后逐漸形成一門獨立的學科。第二次世界大戰(zhàn)的爆發(fā)促進了密碼學的飛速發(fā)展,在戰(zhàn)爭期間德國人共生產了大約10多萬部“ENIGMA”密碼機。西安交通大學 桂小林 43.1 密碼學的基本概念密碼學(Cr西安交通大學西安交通大學西安交通大學西安交通大學 桂小林桂小林桂小林桂小
3、林 5 5密碼學的發(fā)展歷史大致可以分為三個階段:1)在1949年之前,是密碼發(fā)展的第一階段古典密碼體制。古典密碼體制是通過某種方式的文字置換進行,這種置換一般是通過某種古典密碼體制是通過某種方式的文字置換進行,這種置換一般是通過某種手工或機械變換方式進行轉換,同時簡單地使用了數學運算。雖然在古代手工或機械變換方式進行轉換,同時簡單地使用了數學運算。雖然在古代加密方法中已體現了密碼學的若干要素,但它只是一門藝術,而不是一門加密方法中已體現了密碼學的若干要素,但它只是一門藝術,而不是一門科學??茖W。2)從1949年到1975年,是密碼學發(fā)展的第二階段。1949年年Shannon發(fā)表了題為發(fā)表了題為
4、保密通信的信息理論保密通信的信息理論的著名論文,把密的著名論文,把密碼學置于堅實的數學基礎之上,標志著密碼學作為一門學科的形成,這是碼學置于堅實的數學基礎之上,標志著密碼學作為一門學科的形成,這是密碼學的第一次飛躍密碼學的第一次飛躍3)1976年至今,WDiffie和MHellman在密碼編碼學新方向一文中提出了公開密鑰的思想,這是密碼學的第二次飛躍。1977年美國數據加密標準(年美國數據加密標準(DES)的公布使密碼學的研究公開,密碼學得)的公布使密碼學的研究公開,密碼學得到了迅速地發(fā)展。到了迅速地發(fā)展。1994年美國聯邦政府頒布的密鑰托管加密標準(年美國聯邦政府頒布的密鑰托管加密標準(EE
5、S)和數字簽名標準(和數字簽名標準(DSS)以及)以及2001年頒布的高級數據加密標準(年頒布的高級數據加密標準(AES),),都是密碼學發(fā)展史上一個個重要的里程碑。都是密碼學發(fā)展史上一個個重要的里程碑。西安交通大學 桂小林 5密碼學的發(fā)展歷史大致可以分為三個階段西安交通大學西安交通大學西安交通大學西安交通大學 桂小林桂小林桂小林桂小林 6 6西安交通大學 桂小林 6西安交通大學西安交通大學西安交通大學西安交通大學 桂小林桂小林桂小林桂小林 7 73.2 密密碼模型模型 西安交通大學 桂小林 73.2 密碼模型 西安交通大學西安交通大學西安交通大學西安交通大學 桂小林桂小林桂小林桂小林 8 8
6、3.3 經典密典密碼體制體制 經典密碼體制(或稱古典密碼體制)采用手工或者機械操作實現加解密,相對簡單?;仡櫤脱芯窟@些密碼體制的原理和技術,對于理解、設計和分析現代密碼學仍然有借鑒意義。變換和置換(transposition and substitution ciphers)是兩種主要的古典數據編碼方法,是組成簡單密碼的基礎。西安交通大學 桂小林 83.3 經典密碼體制 經典密碼體制(西安交通大學西安交通大學西安交通大學西安交通大學 桂小林桂小林桂小林桂小林 9 91)基于)基于變換的加密方法的加密方法變換密碼是將明文字母互相換位,明文的字母保持相同,但順序被打亂了。西安交通大學 桂小林 91
7、)基于變換的加密方法西安交通大學西安交通大學西安交通大學西安交通大學 桂小林桂小林桂小林桂小林 10102)基于置)基于置換的加密方法的加密方法 置換密碼就是明文中每一個字符被替換成密文中的另外一個字符,代替后的各字母保持原來位置。對密文進行逆替換就可恢復出明文。有四種類型的置換密碼:1)單表置換密碼:就是明文的一個字符用相應的一個密文字符代替。加密過程中是從明文字母表到密文字母表的一一映射。2)同音置換密碼:它與簡單置換密碼系統相似,唯一的不同是單個字符明文可以映射成密文的幾個字符之一,例如A可能對應于5、13、25或56,“B”可能對應于7、19、31或42,所以,同音代替的密文并不唯一。
8、3)多字母組置換密碼:字符塊被成組加密,例如“ABA”可能對應于“RTQ”,ABB可能對應于“SLL”等。多字母置換密碼是字母成組加密,在第一次世界大戰(zhàn)中英國人就采用這種密碼。4)多表置換密碼:由多個簡單的置換密碼構成,例如,可能有5個被使用的不同的簡單置換密碼,單獨的一個字符用來改變明文的每個字符的位置。西安交通大學 桂小林 102)基于置換的加密方法 置換密碼就西安交通大學西安交通大學西安交通大學西安交通大學 桂小林桂小林桂小林桂小林 1111在置換密碼中,數據本身并沒有改變,它只是被安排成另一種不同的格式,有許多種不同的置換密碼,有一種是用凱撒大帝的名字Julias Caesar命名的,
9、即凱撒密碼。它的原理是每一個字母都用其前面的第三個字母代替,如果到了最后那個字母,則又從頭開始算。字母可以被在它前面的第n個字母所代替,在凱撒的密碼中n就是3。例如:明文:明文:meet me after the toga party密文:密文:PHHW PH DIWHU WKH WRJD SDUWB如果已知某給定密文是Caesar密碼,窮舉攻擊是很容易實現的,因為只要簡單地測試所有25種可能的密鑰即可。西安交通大學 桂小林 11在置換密碼中,數據本身并沒有改變,西安交通大學西安交通大學西安交通大學西安交通大學 桂小林桂小林桂小林桂小林 12122020世紀早期密碼機世紀早期密碼機西安交通大學
10、 桂小林 1220世紀早期密碼機西安交通大學西安交通大學西安交通大學西安交通大學 桂小林桂小林桂小林桂小林 13133.4 現代密代密碼學學 現代密碼技術的主要是指用電子技術、計算機技術等實現?,F代密碼學的最重要的原則之一是“一切秘密寓于密鑰之中”,也就是說算法和其他所有參數都是可以公開的,只有密鑰匙保密的。一個好的密碼體制只通過保密密鑰就能保證加密消息的安全。加密完成后,只有知道密鑰的人才能正解密。任何人只要能夠獲得密鑰就能解密消息,隱私密鑰對于密碼系統至關重要。密鑰的傳遞必須通過安全的信道進行。西安交通大學 桂小林 133.4 現代密碼學 現代密碼技術的西安交通大學西安交通大學西安交通大學
11、西安交通大學 桂小林桂小林桂小林桂小林 14141)流密)流密碼流密碼(Stream Cipher)也稱序列密碼,是對稱密碼算法的一種。流密碼具有實現簡單、便于硬件實施、加解密處理速度快、沒有或只有有限的錯誤傳播等特點,因此在實際應用中,特別是專用或機密機構中保持著優(yōu)勢,典型的應用領域包括無線通信、外交通信。密鑰流密鑰流產生器產生器密鑰密鑰k明文明文m密文密文c異或運算西安交通大學 桂小林 141)流密碼流密碼(Stream C西安交通大學西安交通大學西安交通大學西安交通大學 桂小林桂小林桂小林桂小林 1515西安交通大學 桂小林 15西安交通大學西安交通大學西安交通大學西安交通大學 桂小林桂
12、小林桂小林桂小林 16162)分)分組密密碼 分組密碼就是數據在密鑰的作用下,一組一組等長地被處理,且通常情況是明、密文等長。這樣做的好處是處理速度快,節(jié)約了存儲,避免了帶寬的浪費。因此,其也成為許多密碼組件的基礎。另外,由于其固有的特點(高強度、高速率、便于軟硬件實現)而成為標準化進程的首選體制。分組密碼又可分為三類:置換密碼、替換密碼和乘積密碼。西安交通大學 桂小林 162)分組密碼 分組密碼就是數據在密西安交通大學西安交通大學西安交通大學西安交通大學 桂小林桂小林桂小林桂小林 1717DES算法算法 數據加密標準DES(Data Encryption Standard)DES是一個分組加
13、密算法,它以64位為分組對數據加密。同時DES也是一個對稱算法,即加密和解密用的是同一個算法。它的密鑰長度是56位(因為每個分組第8位都用作奇偶校驗),可以是任意的56位的數,而且可以任意時候改變。西安交通大學 桂小林 17DES算法 數據加密標準DES(D1818DES的描述的描述DES利用56比特串長度的密鑰K來加密長度為64位的明文,得到長度為64位的密文輸入輸入64比特明文數據比特明文數據初始置換初始置換IP在密鑰控制下在密鑰控制下16輪迭代輪迭代初始逆置換初始逆置換IP-1輸出輸出64比特密文數據比特密文數據DES算法框圖算法框圖交換左右交換左右32比特比特 18DES的描述DES利
14、用56比特串長度的密鑰K來加密長度為西安交通大學西安交通大學西安交通大學西安交通大學 桂小林桂小林桂小林桂小林 1919DES算法:置算法:置換西安交通大學 桂小林 19DES算法:置換2020初始置初始置換IP和初始逆置和初始逆置換IP1 20初始置換IP和初始逆置換IP1 Li-1(32比特)比特)Ri-1(32比特)比特)Li(32比特)比特)48比特寄存器比特寄存器擴充擴充/置換運算置換運算48比特寄存器比特寄存器子密鑰子密鑰Ki(48比特)比特)32比特寄存器比特寄存器代換代換/選擇運算選擇運算置換運算置換運算PRi(32比特)比特)Li=Ri-1DES的一輪迭代的一輪迭代輪函數輪函
15、數F Li-1(32比特)Ri-1(32比特)Li(32比特)西安交通大學西安交通大學西安交通大學西安交通大學 桂小林桂小林桂小林桂小林 2222DES算法:算法:輪函數函數FE盒(3248bits)S盒(4832bits)P盒置換 西安交通大學 桂小林 22DES算法:輪函數FE盒(324西安交通大學西安交通大學西安交通大學西安交通大學 桂小林桂小林桂小林桂小林 2323DES算法:算法:輪函數函數F第二步:將第一步輸出結果的48位二進制數據與48位子密鑰Ki按位作異或運算,結果自然為48位。然后將運算結果的48位二進制數據自左到右6位分為一組,共分8組。第三步:將8組6位的二進制數據分別進
16、入8個不同的S盒,每個S盒輸入6位數據,輸出4位數據(S盒相對復雜,后面單獨闡述),然后再將8個S盒輸出的8組4位數據,依次連接,重新合并為32位數據。西安交通大學 桂小林 23DES算法:輪函數F第二步:將第一西安交通大學西安交通大學西安交通大學西安交通大學 桂小林桂小林桂小林桂小林 2424DES算法:算法:輪函數函數F S1-S8盒盒S10123456789101112131415014413121511831061259071015741421311061211953824114813621115129731050315128249175113141006131)S盒是DES的核心部分
17、。通過S盒定義的非線性替換,DES實現了明文消息在密文消息空間上的隨機非線性分布。2)S盒的非線性替換特征意味著,給定一組輸入-輸出值,很難預計所有S盒的輸出。3)共有8種不同的S盒,每個S盒將接收的6位數據輸入,通過定義的非線性映射變換為4位的輸出。4)一個S盒有一個16列4行數表,它的每個元素是一個四位二進制數,通常為表示為十進制數0-15。5)S1盒如表所示,S盒與P盒的設計準則,IBM公司已經公布,感興趣的同學可以查閱相關資料。西安交通大學 桂小林 24DES算法:輪函數F S2525S-Box-iS-box:6 4(壓縮)(壓縮)25S-Box-iS-box:6 4(壓縮)2626S
18、-Box-ii 26S-Box-ii 2727S-Box對每個盒,6比特輸入中的第1和第6比特組成的二進制數確定的行,中間4位二進制數用來確定的列。相應行、列位置的十進制數的4位二進制數表示作為輸出。例如S2的輸入為1 0100 1,則行數和列數的二進制表示分別是11和0100,即第3行和第4列,的第3行和第4列的十進制數為3,用4位二進制數表示為0011,所以的輸出為0011。27S-Box對每個盒,6比特輸入中的第1和第6比特組成的二子密子密鑰的的產生生 k1 (56位)(48位)ki (56位)(48位)64位密鑰置換選擇1 C0(28位)D0(28位)循環(huán)左移循環(huán)左移 C1(28位)D
19、1(28位)循環(huán)左移循環(huán)左移 Ci(28位)Di(28位)置換選擇2置換選擇2密鑰表的計算邏輯循環(huán)左移:1 1 9 12 1 10 23 2 11 24 2 12 25 2 13 26 2 14 27 2 15 28 2 16 1子密鑰的產生 2929置置換選擇1(PC-1)和置和置換選擇2(PC-2)29置換選擇1(PC-1)和置換選擇2(PC-2)總結DES示意示意圖總結DES示意圖3131DES的安全性分析的安全性分析 DES的安全性完全依賴于密鑰,與算法本身沒有關系。主要研究內容:密鑰的互補性;密鑰的互補性;弱密鑰與半弱密鑰;弱密鑰與半弱密鑰;密文密文-明文相關性;明文相關性;密文密文
20、-密鑰相關性;密鑰相關性;S-盒的設計;盒的設計;密鑰搜索。密鑰搜索。31DES的安全性分析 DES的安全性完全依賴于密鑰,與算法3232弱密弱密鑰弱密鑰:由密鑰 k 確定的加密函數與解密函數相同,即 。DES的弱密鑰:如果各輪產生的子密鑰一樣,則加密函數與解密函數相同。DES至少有4個弱密鑰:01010101010101011f1f1f1f0e0e0e0ee0e0e0e0f1f1f1f1fefefefefefefefe32弱密鑰弱密鑰:由密鑰 k 確定的加密函數與解密函數相同 3333半弱密半弱密鑰 半弱密鑰:對于密鑰 k,存在一個不同的密鑰 ,滿足 。DES的半弱密鑰:子密鑰生成過程中只能
21、產生兩個不同的子密鑰或四個不同的子密鑰,互為對合。DES至少有12個半弱密鑰。33半弱密鑰 半弱密鑰:對于密鑰 k,存在一個不同的密鑰 3434S-盒的盒的設計原原則 S-盒的設計原理沒有公開,一些原則如下:所有S-盒的每一行是0,1,15的一個置換;所有S-盒的輸出都不是輸入的線性函數或仿射函數;S-盒的輸入改變任意一位都會引起輸出中至少兩位發(fā)生變化;對于任何輸入x(6位),S(x)與S(x001100)至少有兩位不同;對于任何輸入x(6位),S(x)與S(x00ef00)不相等,e,f取0或1;對于任意一個輸入位保持不變而其他五位變化時,輸出中0和1的數目幾乎相等。34S-盒的設計原則 S
22、-盒的設計原理沒有公開,一些原則3535針對DES的攻的攻擊方法方法攻擊DES的方法主要有:密鑰窮搜索攻擊,密鑰窮搜索攻擊,DES算法總的密鑰量為算法總的密鑰量為 ,1998年使用高級計算機的情況下,破譯年使用高級計算機的情況下,破譯DES只需只需56小小時;時;差分攻擊;差分攻擊;線性攻擊,較有效的方法;線性攻擊,較有效的方法;相關密鑰攻擊等。相關密鑰攻擊等。35針對DES的攻擊方法攻擊DES的方法主要有:3636DES的破的破譯1990年,以色列密碼學家Eli Biham和Adi Shamir提出了差分密碼分析法,可對DES進行選擇明文攻擊。線性密碼分析比差分密碼分析更有效 36DES的破
23、譯1990年,以色列密碼學家Eli Biham西安交通大學西安交通大學西安交通大學西安交通大學 桂小林桂小林桂小林桂小林 3737RSA算法算法 RSA算法是1978年有Rivest、Shamir和Adleman提出的一種以數論構造的,并用他們三人的名字的首字母來命名。理論基礎:整數素因子分解困難問題。給定大數給定大數n=pq,其中,其中p和和q為大素數,則由為大素數,則由n計算計算p和和q是非常困難的,即目前還沒有算法能夠在多項式時間內是非常困難的,即目前還沒有算法能夠在多項式時間內有效求解該問題。有效求解該問題。整個RSA密碼體制主要由密鑰產生算法、加密算法和解密算法三部分組成。西安交通大學 桂小林 37RSA算法 RSA算法是1978年西安交通大學西安交通大學西安交通大學西安交通大學 桂小林桂小林桂小林桂小林 3838RSA算法算法西安交通大學 桂小林 38RSA算法西安交通大學西安交通大學西安交通大學西安交通大學 桂小林桂小林桂小林桂小林 3939RSA算法算法西安交通大學 桂小林 39RSA算法西安交通大學西安交通大學西安交通大學西安交通大學 桂小林桂小林桂小林桂小林 4040THANKS!Q,A西安交通大學 桂小林 40THANKS!Q,A