CISP密碼學(xué)基礎(chǔ)_第1頁
CISP密碼學(xué)基礎(chǔ)_第2頁
CISP密碼學(xué)基礎(chǔ)_第3頁
CISP密碼學(xué)基礎(chǔ)_第4頁
CISP密碼學(xué)基礎(chǔ)_第5頁
已閱讀5頁,還剩103頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、密碼學(xué)基礎(chǔ)密碼學(xué)基礎(chǔ)課程內(nèi)容課程內(nèi)容2密碼技術(shù)密碼技術(shù)知識(shí)體知識(shí)域知識(shí)子域密碼學(xué)基礎(chǔ)密碼學(xué)基礎(chǔ)非對(duì)稱密碼算法非對(duì)稱密碼算法密碼學(xué)基礎(chǔ)概念密碼學(xué)基礎(chǔ)概念對(duì)稱密碼算法對(duì)稱密碼算法哈哈希函數(shù)和數(shù)字簽名希函數(shù)和數(shù)字簽名知識(shí)子域:密碼學(xué)基礎(chǔ)概念知識(shí)子域:密碼學(xué)基礎(chǔ)概念v了解密碼學(xué)的發(fā)展階段及各階段特點(diǎn)v理解密碼通信模型,理解密碼學(xué)加密、解密、算法、明文、密文、密鑰、密碼編碼學(xué)和密碼分析學(xué)等概念v了解科克霍夫原則和影響密碼系統(tǒng)的安全性的基本因素:復(fù)雜程度、密鑰長度v掌握密碼體制的分類和特點(diǎn)v理解密鑰生命周期概念和密鑰管理作用,了解密鑰產(chǎn)生、分配、使用、更換和注銷等過程的管理特點(diǎn)3密碼學(xué)發(fā)展密碼學(xué)發(fā)展v第一

2、個(gè)階段是從古代到19世紀(jì)末古典密碼(classical cryptography)v第二個(gè)階段從20世紀(jì)初到1949年近代密碼v第三個(gè)階段從C.E.Shannon(香農(nóng)) 于1949年發(fā)表的劃時(shí)代論文“The Communication Theory of Secret Systems ”開始現(xiàn)代密碼v第四個(gè)階段從1976年W. Diffie和M. Hellman發(fā)表論文“New Directions in Cryptography”開始公鑰密碼4古典古典密碼學(xué)密碼學(xué)1. 古典密碼體制的安全性在于保持算法本身的保密性,受到算法限制。不適合大規(guī)模生產(chǎn)不適合較大的或者人員變動(dòng)較大的組織用戶無法了解

3、算法的安全性2. 古典密碼主要有以下幾種:代替密碼(Substitution Cipher)置換密碼(Transposition Cipher)代替密碼與置換密碼的組合5代替密碼代替密碼 Vs.Vs.置換密碼置換密碼v凱撒密碼6v斯巴達(dá)人“天書”密碼古典密碼學(xué)分類古典密碼學(xué)分類7代替密碼置換密碼古典密碼學(xué)多字母代替單字母代替單表代替密碼多表代替密碼(流密碼)(分組密碼)Substitution cipherPolygram Substitution cipherTransposition CipherMonoalphabetic Substitution cipherPloyalphabeti

4、c Substitution cipherStream cipherBlock cipher舉例:密碼廣播舉例:密碼廣播v代替?置換?v測(cè)試:余則成接受廣播呼叫所使用的密碼本是()A 紅樓夢(mèng)B 朱子家訓(xùn)C 蝴蝶夢(mèng) D 康熙字典8近代密碼學(xué)近代密碼學(xué)20世紀(jì)初到1949年: 主要標(biāo)志是機(jī)械密碼/機(jī)電密碼,用機(jī)電代替手工。 近代密碼體制是用機(jī)械或電動(dòng)機(jī)械實(shí)現(xiàn)的,最著名的就是轉(zhuǎn)輪機(jī)(Rotor Machine)。9轉(zhuǎn)輪機(jī)轉(zhuǎn)輪機(jī) Germany: ENIGMAGermany: ENIGMA(19191919) 轉(zhuǎn)輪密碼機(jī)ENIGMA,由Arthur Scherbius于1919年發(fā)明。在二次世界大戰(zhàn)期

5、間, Enigma曾作為德國陸、海、空三軍最高級(jí)密碼機(jī)。10轉(zhuǎn)輪機(jī)轉(zhuǎn)輪機(jī) UK:TYPEXUK:TYPEX / / US:M-209US:M-209英國的TYPEX打字密碼機(jī)德3輪ENIGMA的改進(jìn)型在英國通信中使用廣泛,且在破譯密鑰后幫助破解德國信號(hào)。11M-209是哈格林對(duì)C-36改進(jìn)后的產(chǎn)品,由Smith-Corna負(fù)責(zé)為美國陸軍生產(chǎn)一次一密亂碼本(一次一密亂碼本(19171917)12發(fā)明者:發(fā)明者:Major Joseph Mauborgne和和AT&T公司的公司的Gilbert Vernam在在1917年發(fā)明。年發(fā)明。應(yīng)用于:應(yīng)用于:報(bào)文 s e c r e t 18 5

6、3 17 5 19 OTP + 15 8 1 12 19 5 7 13 4 3 24 24 g m d c x xOTP(one-time pad )從理論上是不可破的:v不重復(fù)使用亂碼本(VENONA)v使用不可預(yù)知的隨機(jī)數(shù)(物理源,如放射性衰減)現(xiàn)代密碼學(xué)現(xiàn)代密碼學(xué)19491975年: 1949年,Shannon的論文“The Communication Theory of Secret Systems” 。 1967年,David Kahn的專著The Code breakers。 1971年1973年,IBM Watson實(shí)驗(yàn)室的Horst Feistel等人發(fā)表的幾篇技術(shù)報(bào)告。 19

7、74年,IBM提交了算法LUCIFER,后來成為了DES。新特點(diǎn):數(shù)據(jù)的安全基于密鑰而不是算法的保密。13Shannon公鑰密碼學(xué)公鑰密碼學(xué)1976年以后: 1976年,Diffie & Hellman的“New Directions in Cryptography”提出了非對(duì)稱密鑰密碼。 1977年,Rivest,Shamir & Adleman提出了RSA公鑰算法。 90年代,逐步出現(xiàn)橢圓曲線等其他公鑰算法。公鑰密碼使得發(fā)送端和接收端無密鑰傳輸?shù)谋C芡ㄐ懦蔀榭赡埽?4Martin-HellmanWhitfield_Diffie什么是密碼學(xué)什么是密碼學(xué)v密碼學(xué)基本概念v密碼體

8、制分類v密鑰管理15v密碼編碼學(xué)和密碼分析學(xué)v密碼通信模型v明文和密文v加密和解密v密碼算法16密碼學(xué)基本概念密碼學(xué)基本概念密碼學(xué)密碼學(xué)17 研究信息系統(tǒng)安全保密的科學(xué)。由兩個(gè)相互對(duì)立、相互斗爭,而且又相輔相成、相互促進(jìn)的分支科學(xué)所組成的,分別稱為密碼編碼學(xué)(Cryptography)和密碼分析學(xué)(Cryptanalysis)。密碼學(xué)(密碼學(xué)(Cryptology)密碼編碼學(xué)密碼編碼學(xué) Vs. 密碼分析學(xué)密碼分析學(xué)18 主要研究對(duì)信息進(jìn)行編碼,實(shí)現(xiàn)對(duì)信息的隱蔽。密碼編碼學(xué)(Cryptography) 主要研究加密消息的破譯或消息的偽造。密碼分析學(xué)( Cryptanalysis )密碼編碼學(xué)密碼

9、編碼學(xué)(1)密碼編碼學(xué)是密碼學(xué)的一個(gè)分支,研究與信息安全(例如:機(jī)密性、完整性、可鑒別性)有關(guān)的數(shù)學(xué)技術(shù)。(2)密碼編碼學(xué)是包含數(shù)據(jù)變換的原理、工具和方法的一門學(xué)科,這種數(shù)據(jù)變換的目的是為了隱藏?cái)?shù)據(jù)的信息內(nèi)容,阻止對(duì)數(shù)據(jù)的篡改以及防止未經(jīng)認(rèn)可使用數(shù)據(jù)。(3)密碼編碼學(xué)是論述使明文變得不可懂的密文,以及把已加密的消息變換成可懂形式的藝術(shù)和技巧。19密碼分析學(xué)密碼分析學(xué)(1)密碼分析學(xué)是密碼學(xué)的一個(gè)分支,它與另一個(gè)分支學(xué)科密碼編碼學(xué)是兩個(gè)相互對(duì)立、相互依存、相輔相成、相互促進(jìn)的學(xué)科。(2)密碼分析學(xué)是企圖挫敗編碼技術(shù)以及更一般說來的信息安全服務(wù)的數(shù)學(xué)技術(shù)學(xué)科。(3)密碼分析學(xué)是對(duì)密碼體制、密碼體制

10、的輸入輸出關(guān)系進(jìn)行分析,以便推出機(jī)密變量、包括明文在內(nèi)的敏感數(shù)據(jù)。有時(shí)又稱作密碼破譯學(xué)(code breaking)20密碼通信模型密碼通信模型21明文明文 vs.vs.密文密文v 明文(Plaintext) :原始消息,被隱蔽消息,未經(jīng)加密的消息。v 密文(Ciphertext)或密報(bào)(Cryptogram):明文經(jīng)密碼變換而成的一種隱蔽形式。v 加密員或密碼員(Cryptographer):對(duì)明文進(jìn)行加密操作的人員。22加密加密 vs.vs.解密解密加密(Encryption):將明文變換為密文的過程。 把可懂的語言變換成(人類/機(jī)器)不可懂的語言。解密(Decryption):由密文恢復(fù)

11、出原明文的過程。 加密的逆過程 即把不可懂的語言變換成可懂的語言。23加密算法密鑰密文明文解密算法密鑰密文明文加密和解密算法的操作通常都是在一組密鑰的控制下進(jìn)加密和解密算法的操作通常都是在一組密鑰的控制下進(jìn)行的行的,分別稱為分別稱為加密密鑰加密密鑰(Encryption Key) 和和解密密鑰解密密鑰(Decryption Key)。密碼算法密碼算法v密碼算法(Cryptography Algorithm):用于加密和解密操作的數(shù)學(xué)函數(shù)。v加密算法(Encryption Algorithm):發(fā)送者對(duì)明文進(jìn)行加密操作時(shí)所采用的一組規(guī)則。v解密算法(Decryption Algorithm):接

12、收者對(duì)密文進(jìn)行解密操作時(shí)所采用的一組規(guī)則。24科克霍夫原則科克霍夫原則Auguste Kerckhoff在1883年發(fā)表了著作,探討尋找一種新的、滿足電報(bào)通信要求的密碼編碼體制。他認(rèn)為,密碼算法應(yīng)該對(duì)外公開,僅需對(duì)密鑰進(jìn)行保密;如果一個(gè)密碼系統(tǒng)需要保密的越多,可能的弱點(diǎn)也越多。這種觀點(diǎn)對(duì)于密碼研究者和私營部門來說已經(jīng)是一種常識(shí)。但同時(shí),世界上大部分政府、軍事部門都會(huì)使用不對(duì)外公開的算法。25科克霍夫假設(shè)假設(shè):密碼分析者知道雙方使用的密碼系統(tǒng),包括明文的統(tǒng)計(jì)特性、加解密體制等,唯一不知道的是密鑰。在設(shè)計(jì)一個(gè)密碼系統(tǒng)時(shí),目標(biāo)是在科克霍夫原則的前提下實(shí)現(xiàn)安全 。密碼算法安全性密碼算法安全性v密鑰長度

13、越長,加密數(shù)據(jù)越不容易被非法解密26摘自應(yīng)用密碼學(xué),P113Bruce Schneier 公開密鑰長度建議值公開密鑰長度建議值密碼體制密碼體制v所謂密碼體制,是指由如下五部分組成的系統(tǒng): 1)明文集合P; 2)密文集合C; 3)密鑰集合K; 4)加密變換集合E及加密算法e; 5)解密變換結(jié)合D及解密算法d。ek: P-C 和 dk:C-P 分別為加密解密函數(shù)滿足:dk(ek(m)=m, 這里mP。27密碼體制分類密碼體制分類(1)受限制的算法 vs.基于密鑰的算法(2)對(duì)稱密碼 vs.非對(duì)稱密碼(3)分組密碼 vs.流密碼(4)代替密碼 vs.置換密碼28受限制的算法受限制的算法 vs.vs.

14、基于密鑰的算法基于密鑰的算法v受限制的(restricted)算法:算法的保密性基于保持算法的秘密。v基于密鑰(key-based)的算法:算法的保密性基于對(duì)密鑰的保密。29對(duì)稱密碼算法對(duì)稱密碼算法 vs.vs.非對(duì)稱密碼算法非對(duì)稱密碼算法v對(duì)稱密碼算法(Symmetric cipher):加密密鑰和解密密鑰相同,或?qū)嵸|(zhì)上等同,即從一個(gè)易于推出另一個(gè)。又稱傳統(tǒng)密碼算法(Conventional cipher)、秘密密鑰算法或單密鑰算法。 DES、3DES、IDEA、AESv非對(duì)稱密碼算法(Asymmetric cipher) :加密密鑰和解密密鑰不同,從一個(gè)很難推出另一個(gè)。又叫公鑰密碼算法(P

15、ublic-key cipher)。其中,對(duì)外公開的密鑰,稱為公開密鑰(public key),簡稱公鑰;必須保密的密鑰,稱為私有密鑰(private key),簡稱私鑰。 RSA、ECC、ElGamal30非對(duì)稱密碼算法非對(duì)稱密碼算法上述運(yùn)算中,23和7作為兩個(gè)密鑰,公開一個(gè),另一個(gè)作為私鑰即可。例如:公鑰為7,私鑰為23,則即使攻擊者知道7、187和密文11,但如果他不知道私鑰23,那么他無論如何也算不出明文88。數(shù)學(xué)是多么奇妙??!31分組密碼分組密碼 vs.vs.流密碼流密碼v分組密碼(Block cipher):將明文分成固定長度的組,用同一密鑰和算法對(duì)每一塊加密,輸出也是固定長度的密

16、文。DES、IDEA、RC2、RC5v序列密碼(Stream cipher):又稱流密碼,序列密碼每次加密一位或一字節(jié)的明文。One-time padding、Vigenre、Vernam32分組密碼模型分組密碼模型分組密碼是將明文消息編碼表示后的數(shù)字(簡稱明文數(shù)字)序列,劃分成長度為n的組(可看成長度為n的矢量),每組分別在密鑰的控制下變換成等長的輸出數(shù)字(簡稱密文數(shù)字)序列。 33流密碼模型流密碼模型34代替密碼代替密碼 Vs.Vs.置換密碼置換密碼v代替密碼(Substitution Cipher):就是明文中的每一個(gè)字符被替換成密文中的另一個(gè)字符。接收者對(duì)密文做反向替換就可以恢復(fù)出明文

17、。v置換密碼(Transposition Cipher):明文的字母保持相同,但順序被打亂了。35密鑰管理密鑰管理v 密鑰管理:在一種安全策略指導(dǎo)下密鑰的產(chǎn)生、 存儲(chǔ)、分配、刪除、歸檔及應(yīng)用。v 對(duì)稱密碼體制和公鑰密碼體制的密鑰管理策略各有不同。v 目的: 保護(hù)密鑰不被泄露; 保護(hù)密鑰不被非授權(quán)使用。36密鑰重要性:所有的密碼技術(shù)都依賴于密鑰科克霍夫原則:安全性的關(guān)鍵點(diǎn)密鑰生命周期密鑰生命周期v 密鑰生存周期:授權(quán)使用該密鑰的周期。v 主要階段: 產(chǎn)生、登記、存儲(chǔ)、分發(fā)、注入、應(yīng)用、更換和銷毀。v原因: 1 限制密鑰使用時(shí)間時(shí)間分割 2 限制產(chǎn)生密文數(shù)量數(shù)量分割 3 限制密碼分析攻擊的有效時(shí)間

18、 4 降低已泄露密鑰所造成的損失37所有密鑰都有生命周期。密鑰的產(chǎn)生密鑰的產(chǎn)生v在安全環(huán)境中產(chǎn)生密鑰。v密鑰長度 安全性考慮。 系統(tǒng)成本、計(jì)算開銷考慮。 長度的選擇與具體的應(yīng)用有關(guān),如加密數(shù)據(jù)的重要性、保密期限長短、可能破譯者的計(jì)算能力等。v密鑰產(chǎn)生的方式 集中式 分散式38密鑰管理的其他階段密鑰管理的其他階段v密鑰使用 注意內(nèi)存的密鑰泄露。私鑰不出硬件設(shè)備(密碼機(jī)、USB Key)。 不同用途使用不同的密鑰。v密鑰存儲(chǔ) 硬盤存儲(chǔ)或?qū)S糜布鎯?chǔ),現(xiàn)更多存儲(chǔ)在專用硬件中。v密鑰更新 定期或不定期更換密鑰。 從舊的密鑰生成新的密鑰 從新分配新的密鑰。39密鑰管理的其他階段密鑰管理的其他階段v密鑰備

19、份 可信第三方托管信賴問題。 智能卡或?qū)S糜布鎯?chǔ)審計(jì)問題。 分片保管惡意收集恢復(fù)。v密鑰撤銷 不再使用或懷疑泄露的密鑰需要撤銷。 聲明撤銷。v密鑰銷毀 物理上徹底粉碎。 清除密鑰的使用蹤跡。40密碼協(xié)議概念密碼協(xié)議概念v協(xié)議 協(xié)議指的是雙方或多方通過一系列規(guī)定的步驟來完成某項(xiàng)任務(wù)。v協(xié)議的含義 至少需要兩個(gè)參與者 通過執(zhí)行協(xié)議必須完成某項(xiàng)任務(wù),協(xié)議是完整的 有序的過程,每一步驟必須依次執(zhí)行 協(xié)議每個(gè)步驟是明確的41密碼協(xié)議概念密碼協(xié)議概念v密碼協(xié)議 使用密碼的具有安全性功能的協(xié)議稱為安全協(xié)議或密碼協(xié)議v舉例 密鑰分配協(xié)議 密鑰協(xié)商協(xié)議 實(shí)體鑒別協(xié)議 拋硬幣游戲 盲簽名協(xié)議 秘密共享協(xié)議 42

20、DiffieDiffie-Hellman -Hellman 密鑰交換算法密鑰交換算法43公開參數(shù):q 是一個(gè)素?cái)?shù),a q , a是q 的一個(gè)原根.選擇一個(gè)私有的 , 滿足:計(jì)算公開的 : 選擇一個(gè)私有的 , 滿足:計(jì)算公開的 : 計(jì)算會(huì)話密鑰 計(jì)算會(huì)話密鑰 EK(m)(modqayAxA)(modqayBxB)(mod)(qykAxB)(mod)(qykBxAqxAqxBAxBxAyByAyByAliceBob1.第一個(gè)發(fā)表的公開密鑰算法(1976)2.用于通信雙方安全地協(xié)商一個(gè)會(huì)話密鑰3.基于離散對(duì)數(shù)計(jì)算的困難性,主要是模冪運(yùn)算:a p mod n 小結(jié)小結(jié)v古典密碼v近代密碼v現(xiàn)代密碼v密

21、碼學(xué)基本概念v密碼體制分類v密鑰管理v密碼協(xié)議44對(duì)稱對(duì)稱密碼算法密碼算法v理解對(duì)稱分組加密算法的優(yōu)缺點(diǎn)和應(yīng)用場合v理解DES、3DES、AES、IDEA的特點(diǎn)和歷史背景v了解DES、3DES算法的工作原理45對(duì)稱分組加密通信模型對(duì)稱分組加密通信模型加密目的:Alice和Bob在不安全的信道上進(jìn)行通信,而破譯者Oscar不能理解他們通信的內(nèi)容。46Alice加密機(jī)解密機(jī)Bob安全信道密鑰源Oscar明文x密文y密鑰k明文x密鑰kv典型算法 DES、3DES、AES、IDEA RC5、Twofish、CAST-256、MARS數(shù)據(jù)加密標(biāo)準(zhǔn)(數(shù)據(jù)加密標(biāo)準(zhǔn)(DESDES)vDES是一種對(duì)稱密鑰算法,

22、密鑰長度為56bits(加上奇偶校驗(yàn),通常寫成64bits)。v分組加密算法,64 bits為一個(gè)分組。v基本思想:混亂(Confusion)擴(kuò)散(Diffusion)v使用標(biāo)準(zhǔn)的算術(shù)運(yùn)算和邏輯運(yùn)算。 47擴(kuò)散擴(kuò)散 vs.vs.混亂混亂v擴(kuò)散(Diffusion) :將每一位明文數(shù)字的影響盡可能地散布到多個(gè)輸出密文數(shù)字中去,以更隱蔽明文數(shù)字的統(tǒng)計(jì)特性。v混亂(Confusion):使得密文的統(tǒng)計(jì)特性與明文、密鑰之間的關(guān)系盡量復(fù)雜化。Shannon稱:在理想密碼系統(tǒng)中,密文的所有統(tǒng)計(jì)特性都與所使用的密鑰獨(dú)立。48DESDES征集征集v1973年5月15日,NBS開始公開征集標(biāo)準(zhǔn)加密算法,并公布了

23、它的設(shè)計(jì)要求: (1) 算法必須提供高度的安全性 (2) 算法必須有詳細(xì)的說明,并易于理解 (3) 算法的安全性取決于密鑰,不依賴于算法 (4) 算法適用于所有用戶 (5) 算法適用于不同應(yīng)用場合 (6) 算法必須高效、經(jīng)濟(jì) (7) 算法必須能被證實(shí)有效 (8) 算法必須是可出口的49DESDES的產(chǎn)生和應(yīng)用的產(chǎn)生和應(yīng)用v1974年8月,NBS第二次征集,IBM提交LUCIFER算法 發(fā)明人:IBM公司 W. Tuchman 和 C. Meyer,(1971-1972) 基 礎(chǔ):1967年美國Horst Feistel提出的理論v1976年11月,采納為聯(lián)邦標(biāo)準(zhǔn)批準(zhǔn)用于非軍事場合的各種政府機(jī)構(gòu)

24、。1977年1月15日,“數(shù)據(jù)加密標(biāo)準(zhǔn)”FIPS PUB 46發(fā)布。1979年,美國銀行協(xié)會(huì)批準(zhǔn)使用DES。1980年,ANSI同意DES作為私人使用的標(biāo)準(zhǔn),稱之為DEA(ANSI X.392)1983年,ISO同意將DES作為國際標(biāo)準(zhǔn),稱之為DEA-1v1998年12月以后,美國政府不再將DES作為聯(lián)邦加密標(biāo)準(zhǔn)50DES DES 加密過程加密過程 首先把明文分成以64 bit為單位的塊m,對(duì)于每個(gè)m, 執(zhí)行如下操作 DES(m)=IP-1 T16 T15 . T2 T1 IP(m) IP,IP-1 :初始置換 16輪迭代 子密鑰生成51DESDES算法流程算法流程52輸入輸入64比特明文數(shù)據(jù)

25、比特明文數(shù)據(jù)初始置換初始置換IP在密鑰控制下在密鑰控制下16輪迭代輪迭代初始逆置換初始逆置換IP-1輸出輸出64比特密文數(shù)據(jù)比特密文數(shù)據(jù)交換左右交換左右32比特比特明文IPL0R0fR1L0 fL1R0K1fR2L1 fL2R1K2fR16L15 fL16R15K16IP1密文L15R15Initial PermutationDESDES解密過程解密過程DES解密過程與加密過程完全相似,只不過將16次迭代的子密鑰順序倒過來,即 m = DES-1(c) = IP-1 T1T2.T15 T16 IP(c)可以證明,DES-1 (DES (m) )=m53DESDES的強(qiáng)度的強(qiáng)度v密鑰長度 = 5

26、6比特v強(qiáng)力攻擊 = 嘗試 次v差分密碼分析 = 嘗試 次v線性密碼分析 = 嘗試 次(但是后兩種攻擊是不實(shí)用的)54v1976年,耗資年,耗資2000萬美元的計(jì)算機(jī),可以在一天中找到密鑰。萬美元的計(jì)算機(jī),可以在一天中找到密鑰。v1993年,設(shè)計(jì)年,設(shè)計(jì)100萬美元的計(jì)算機(jī),萬美元的計(jì)算機(jī),3.5小時(shí)用窮舉法找到密小時(shí)用窮舉法找到密鑰。鑰。v1998年,年,EFF宣布破譯了宣布破譯了DES算法,耗時(shí)不到三天時(shí)間,使算法,耗時(shí)不到三天時(shí)間,使用的是用的是25萬美元的萬美元的“DES破譯機(jī)破譯機(jī)”。三重三重DESDES(3DES3DES )三重DES加密,密鑰長度為168比特, k=k1k2k35

27、5DESDES-1DESmck1k2k1DES-1DESDES-1mck1k2k1雙密鑰三重雙密鑰三重DES加密,密鑰長度為加密,密鑰長度為112比特比特, k=k1k2DESDES-1DESmck1k2k3DES-1DESDES-1mck3k2k1國際數(shù)據(jù)加密算法(國際數(shù)據(jù)加密算法(IDEAIDEA)vIDEA國際數(shù)據(jù)加密算法International Data Encryption Algorithmv 1990年,Xuejia Lai 和James Massey第一版,PES(Proposed Encryption Standard)v為對(duì)抗差分攻擊,修改算法增加強(qiáng)度,稱為IPES。v1

28、992年改名IDEA。v“依我看來,該算法是目前已公開的最好和最安全的分組密碼算法” 應(yīng)用密碼學(xué),p226。vPGP中集成了IDEA算法。56IDEAIDEA算法算法vIDEA算法用了三種數(shù)學(xué)運(yùn)算: 模216異或算法,常用 表示; 模216加法,表示為 X+Y=Z mod(216);常用 表示; 模216+1 乘法,表示為 X*Y=Z mod(2161);常用 表示;vIDEA 分組長度64比特 ,分4組,每組長度為16比特,表示為:X1、X2、X3和X4v密鑰長度 128比特v同一算法既可以加密,也可用于解密。v軟件實(shí)現(xiàn)IDEA比DES快兩倍v現(xiàn)在還沒有資料證明它有什么弱點(diǎn)。 57高級(jí)數(shù)據(jù)加

29、密標(biāo)準(zhǔn)(高級(jí)數(shù)據(jù)加密標(biāo)準(zhǔn)(AESAES)v1997年4月15日,NIST征集高級(jí)加密標(biāo)準(zhǔn)(Advanced Encryption Standard,AES)算法v目的是確定一個(gè)非保密的、可以公開技術(shù)細(xì)節(jié)的、全球免費(fèi)使用的分組密碼算法v對(duì)AES的基本要求是比三重DES快、至少與三重DES一樣安全數(shù)據(jù)分組長度128比特、密鑰長度128/192/256比特v1998年8月12日,指定了15個(gè)候選算法。v1999年3月22日(第二次AES會(huì)議),候選名單減少為5個(gè)(RC6,Rijndael,SERPENT,Twofish和MARS)58AESAESv2000年10月2日,NIST宣布獲勝者Rijnda

30、el算法。v2001年11月,NIST將AES定為聯(lián)邦信息處理標(biāo)準(zhǔn)FIPS PUB197。用于保護(hù)政府部門敏感但不機(jī)密的信息(sensitive but not classified)v 2002年5月正式生效。vNIST對(duì)AES的評(píng)判標(biāo)準(zhǔn)安全性因素,包括:抗攻擊能力、數(shù)學(xué)基礎(chǔ)和分析、與其他算法安全性比較成本因素,包括運(yùn)行速度、存儲(chǔ)空間、知識(shí)產(chǎn)權(quán)59AESAES特點(diǎn)特點(diǎn)1、數(shù)據(jù)分組長度128bits;2、密鑰長度128/192/256 bits;3、加密過程是在一個(gè)44的字節(jié)矩陣(state)上實(shí)施4、能有效抵抗目前已知的攻擊算法線性攻擊、差分攻擊60對(duì)稱密碼算法的優(yōu)缺點(diǎn)對(duì)稱密碼算法的優(yōu)缺點(diǎn)v

31、 優(yōu)點(diǎn): 效率高,算法簡單,系統(tǒng)開銷小 適合加密大量數(shù)據(jù) 明文長度與密文長度相等v 缺點(diǎn): 需要以安全方式進(jìn)行密鑰交換 密鑰管理復(fù)雜61小結(jié)小結(jié)vDES是應(yīng)用最廣泛的對(duì)稱密碼算法(由于計(jì)算能力的快速進(jìn)展,DES已不再被認(rèn)為是安全的);vIDEA在歐洲應(yīng)用較多;vAES將是未來最主要,最常用的對(duì)稱密碼算法。62非對(duì)稱非對(duì)稱密碼算法密碼算法v理解非對(duì)稱密碼算法的優(yōu)缺點(diǎn)和應(yīng)用場合v理解掌握RSA非對(duì)稱密碼算法原理和特點(diǎn)v了解DiffieHellman、ECC等非對(duì)稱密碼算法的原理和特點(diǎn)63公鑰密碼體制的思想公鑰密碼體制的思想 v不同于以往的加密技術(shù),公鑰密碼體制是建立在數(shù)學(xué)函數(shù)基礎(chǔ)上的,而不是建立在

32、位方式的操作上的。v與只使用單一密鑰的傳統(tǒng)加密技術(shù)相比,它在加解密時(shí),分別使用了兩個(gè)不同的密鑰: 一個(gè)可對(duì)外界公開,稱為“公鑰”; 一個(gè)只有所有者知道,稱為“私鑰”。v用公鑰加密的信息只能用相應(yīng)的私鑰解密,反之亦然。v同時(shí),要想由一個(gè)密鑰推知另一個(gè)密鑰,在計(jì)算上是不可能的。 64公鑰加密模型公鑰加密模型65MaryRick明文密文明文加密操作解密操作公鑰私鑰加密加密與解密由與解密由不同不同的密鑰的密鑰完成完成加密加密: XY: Y = EKU(X) 解密解密: YX: X = DKR(Y) = DKR(EKU(X)公鑰密碼的重要特性公鑰密碼的重要特性1. 加密與解密由不同的密鑰完成加密: XY

33、: Y = EKU(X)解密: YX: X = DKR(Y) = DKR(EKU(X)2. 知道加密算法,從加密密鑰得到解密密鑰在計(jì)算上是不可行的。3. 兩個(gè)密鑰中任何一個(gè)都可以用作加密而另一個(gè)用作解密(不是必須的)。X = DKR(EKU(X) = EKU(DKR(X)66常用的公鑰密碼算法常用的公鑰密碼算法RSA (Rivest - Shamir Adleman),1977 在一個(gè)算法中實(shí)現(xiàn)簽名和加密 私鑰 : 簽名和解密 公鑰 : 簽名檢驗(yàn)和加密ECC(Elliptic Cure Crytosystem),1985 基于有限域上橢圓曲線有理點(diǎn)群的密碼系統(tǒng) 更快的具有更小密鑰長度的公開密碼

34、系統(tǒng) 功能同RSA:數(shù)字簽名,密鑰管理,加密67RSARSA公鑰密碼體制公鑰密碼體制v1977年由Ron Rivest、Adi Shamir和Len Adleman發(fā)明,1978年正式公布。vRSA是一種分組加密算法。明文和密文在0n-1之間,n是一個(gè)正整數(shù)。v該算法的數(shù)學(xué)基礎(chǔ)是初等數(shù)論中的Euler(歐拉)定理,并建立在大整數(shù)因子的困難性之上。v目前應(yīng)用最廣泛的公鑰密碼算法。68(Left to Right: Ron ivest, Adi hamir, Len Adleman)2002年圖靈獎(jiǎng)獲得者-RSA-200269RSARSA算法操作過程算法操作過程密鑰產(chǎn)生1. 取兩個(gè)大素?cái)?shù) p, q

35、 , 保密;2. 計(jì)算n=pq,公開n;3. 計(jì)算歐拉函數(shù)(n) =(p-1)(q-1);4. 任意取一個(gè)與(n) 互素的小整數(shù)e,即 gcd (e,(n) )=1; 1e(n),公開e,作為公鑰用于加密(或簽名驗(yàn)證)。5. 尋找d,使得: de 1 mod (n) , 作為私鑰保密,即de =k(n) +1。 70RSA RSA 算法加密算法加密/ /解密過程解密過程1. 密鑰對(duì)(KU, KR):KU=e, n , KR=d, n2. 加密過程:把待加密的內(nèi)容分成k比特的分組,k log2n,并寫成數(shù)字,設(shè)為M:C = Me mod n3. 解密過程M = Cd mod n71RSARSA加

36、密過程舉例加密過程舉例p=7,q=17, n=7*17=119,(n)=(7-1)(17-1)=96選e=5, gcd (e, (n) = gcd (5, 96)=1;計(jì)算d,使得 ed 1 mod 96 , 即 ed= k*96+1, 取 k=4,則d= 77 公開(e,n)=(5,119),將d 保密,丟棄p, q。明文:m=19加密: 19 5 66 mod 119 , c= 66解密: 6677 mod 119 =? 72RSA RSA 算法的安全性和性能算法的安全性和性能攻擊方法 蠻力攻擊:對(duì)所有密鑰都進(jìn)行嘗試。 數(shù)學(xué)攻擊:等效于對(duì)兩個(gè)素?cái)?shù)乘積(n)的因子分解。大數(shù)的因子分解是數(shù)論中

37、的一個(gè)難題。73運(yùn)算速度運(yùn)算速度橢圓曲線密碼體制橢圓曲線密碼體制v橢圓曲線上的離散對(duì)數(shù)問題 點(diǎn)Q和點(diǎn)P是有限域上的橢圓曲線的兩個(gè)點(diǎn),在等式mP=P+P+P=Q中,已知m和點(diǎn)P求點(diǎn)Q比較容易,反之已知點(diǎn)Q和點(diǎn)P求m卻是相當(dāng)困難的,這個(gè)問題稱為橢圓曲線上點(diǎn)群的離散對(duì)數(shù)問題。v橢圓曲線應(yīng)用到密碼學(xué)上最早是由Neal Koblitz 和Victor Miller在1985年分別獨(dú)立提出的。 v橢圓曲線密碼體制是目前已知的公鑰體制中,對(duì)每比特所提供加密強(qiáng)度最高的一種體制。74橢圓曲線密碼體制橢圓曲線密碼體制v橢圓曲線加密 基于橢圓曲線的ElGamal公鑰密碼算法 基于橢圓曲線的DSA(ECDSA)v橢圓

38、曲線密鑰協(xié)商 基于橢圓曲線的密鑰協(xié)商問題,即ECC Diffie-Hellmanv橢圓曲線簽密 基于橢圓曲線密碼體制的簽密方案 基于橢圓曲線密碼體制的(t,n)門限簽密方案75ECC vs. RSAECC vs. RSA76MIPS年表示用每秒完成100萬條指令的計(jì)算機(jī)所需工作的年數(shù)ECC vs. RSAECC vs. RSA77ECCECC應(yīng)用應(yīng)用v無線Modem的實(shí)現(xiàn) 對(duì)分組交換數(shù)據(jù)網(wǎng)加密,實(shí)現(xiàn)快速Deffie-Hellman密鑰交換vWeb服務(wù)器的實(shí)現(xiàn) 可節(jié)省計(jì)算時(shí)間和帶寬v集成電路卡的實(shí)現(xiàn) ECC無需協(xié)處理器即可在標(biāo)準(zhǔn)卡上實(shí)現(xiàn)快速、安全的數(shù)字簽名,RSA難以實(shí)現(xiàn)78ECC ECC 的小

39、結(jié)的小結(jié)v安全性能更高(160位等同RSA的1024位)v計(jì)算量小,處理速度快v存儲(chǔ)空間占用小v帶寬要求低v應(yīng)用前景非常好,特別在移動(dòng)通信、無線設(shè)備上的應(yīng)用。79基于公鑰密碼的加密過程基于公鑰密碼的加密過程80AliceBob基于公鑰密碼的鑒別過程基于公鑰密碼的鑒別過程81AliceBob公鑰密碼體制的優(yōu)缺點(diǎn)公鑰密碼體制的優(yōu)缺點(diǎn)v優(yōu)點(diǎn): 解決密鑰傳遞的問題 大大減少密鑰持有量 提供了對(duì)稱密碼技術(shù)無法或很難提供的服務(wù)(數(shù)字簽名)v缺點(diǎn): 計(jì)算復(fù)雜、耗用資源大 非對(duì)稱會(huì)導(dǎo)致得到的密文變長82對(duì)公鑰密碼算法的誤解對(duì)公鑰密碼算法的誤解v公鑰密碼算法比對(duì)稱密碼算法更安全? 任何一種現(xiàn)代密碼算法的安全性都

40、依賴于密鑰長度、破譯密碼的工作量,從對(duì)抗分析角度,沒有一方更優(yōu)越。v公鑰密碼算法使得對(duì)稱密碼算法成為了過時(shí)技術(shù)? 公鑰密碼算法計(jì)算速度較慢,通常用于密鑰管理和數(shù)字簽名。 對(duì)稱密碼算法將長期存在。v使用公開密鑰加密,密鑰分配變得非常簡單? 密鑰分配既不簡單,也不有效。83小結(jié)小結(jié)v RSA 數(shù)學(xué)基礎(chǔ): IFP(Integer Factorization Problem) 加/解密、密鑰交換、數(shù)字簽名 使用最廣泛vECC 密鑰長度短vDiffie-Hellman 密鑰交換算法 84哈希函數(shù)和數(shù)字簽名哈希函數(shù)和數(shù)字簽名v理解哈希函數(shù)、數(shù)字簽名特點(diǎn)和作用v了解MD5算法、SHA-1算法的工作原理和特點(diǎn)

41、v理解消息鑒別碼特點(diǎn)和作用,了解MAC、HMAC的原理和應(yīng)用v理解數(shù)字簽名的原理和應(yīng)用,了解DSA和RSA簽名方案85HashHash函數(shù)函數(shù)vHash函數(shù)函數(shù)是將任意長度的消息映射成一個(gè)較短的 定長輸出報(bào)文的函數(shù),如下形式:h = H(M), M是變長的報(bào)文,h是定長的散列值.v數(shù)學(xué)性質(zhì):對(duì)任意給定的x, H(x) 易于(軟硬件實(shí) 現(xiàn))計(jì)算,且滿足:單向性: 對(duì)任意給定的碼h, 尋求x使得H(x)=h 在計(jì)算上是不可行的;弱抗碰撞性: 任意給定分組x, 尋求不等于x的y, 使得H(y)= H(x)在計(jì)算上不可行;強(qiáng)抗碰撞性: 尋求對(duì)任何的(x, y)對(duì), 使得 H(x)=H(y)在計(jì)算上不可

42、行.8686HashHash函數(shù)的特點(diǎn)函數(shù)的特點(diǎn)vH能夠應(yīng)用到任意長度的數(shù)據(jù)上。vH能夠生成大小固定的輸出。v對(duì)干任意給定的x,H(x)的計(jì)算相對(duì)簡單。v對(duì)于給定的散列值h,要發(fā)現(xiàn)滿足H(x)h的x在計(jì)算上是不可行的。v 對(duì)于給定的消息x,要發(fā)現(xiàn)另一個(gè)消息y滿足H(y)H(x)在計(jì)算上是不可行的。v主要的Hash算法: MD5、SHA-1等87哈希運(yùn)算哈希運(yùn)算完整性完整性88用戶A用戶B數(shù)據(jù)數(shù)據(jù)哈希值哈希算法數(shù)據(jù)哈希值哈希值哈希算法如果哈希值匹配,說明數(shù)據(jù)有效 用戶A發(fā)送數(shù)據(jù)和哈希值給用戶 BbY0nIVfbY1nfbYL-1nCVL-1fCV1nnIV = 初始值初始值CV = 鏈接值鏈接值

43、Yi = 第第i 個(gè)輸入數(shù)據(jù)塊個(gè)輸入數(shù)據(jù)塊f = 壓縮算法壓縮算法n = 散列碼的長度散列碼的長度b = 輸入塊的長度輸入塊的長度安全安全Hash函數(shù)的一般結(jié)構(gòu)函數(shù)的一般結(jié)構(gòu)CVLIV= initial n-bit valueCVi=f(CVi-1, Yi-1) (1 i L)H(M) = CVLHashHash函數(shù)函數(shù)89MD5 MD5 算法算法MD: Message Digest,消息摘要v輸入:任意長度的消息v輸出:128位消息摘要v處理:以512位輸入數(shù)據(jù)塊為單位MD5 (RFC 1321) developed by Ron MD5 (RFC 1321) developed by Ro

44、n RivestRivest (“R” of the RSA )at MIT in 90s.(“R” of the RSA )at MIT in 90s.90SHA-1 SHA-1 算法算法vSHA(Secure Hash Algorithm,安全哈希算法 )由美國國家標(biāo)準(zhǔn)技術(shù)研究所NIST開發(fā),作為聯(lián)邦信息處理標(biāo)準(zhǔn)于1993年發(fā)表(FIPS PUB 180),1995年修訂,作為SHA-1(FIPS PUB 180-1),SHA-1基于MD4設(shè)計(jì)。v輸入:最大長度為264位的消息;v輸出:160位消息摘要;v處理:輸入以512位數(shù)據(jù)塊為單位處理.91比較比較SHA1/ MD5SHA1/ MD

45、5v散列值長度 MD5 128bits SHA1 160bitsv安全性 SHA1看來好些,但是SHA1的設(shè)計(jì)原則沒有公開v速度 SHA1慢些 (openssl speed md5/sha1)type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytesmd5 5425.31k 19457.48k 55891.45k 104857.60k 143211.40ksha1 5104.58k 16008.41k 37925.33k 57421.81k 68241.68k92消息鑒別碼消息鑒別碼93v在網(wǎng)絡(luò)通信中,有一些針對(duì)消息內(nèi)容的攻擊方法 偽造消息 竄改消息內(nèi)容 改變消息順序 消息重放或者延遲v消息認(rèn)證:對(duì)收到的消息進(jìn)行驗(yàn)證,證明確實(shí)是來自聲稱的發(fā)送方,并且沒有被修改過。 如果在消息中加入時(shí)間及順序信息,則可以完成對(duì)時(shí)間和順序的認(rèn)證消息認(rèn)證的三種方式消息認(rèn)證的三種方式vMessage encryption:用整個(gè)消息的密文作為認(rèn)證標(biāo)識(shí) 接收方必須能夠識(shí)別錯(cuò)誤vHash function:一個(gè)公開函數(shù)將任意長度的消息映射到一個(gè)固定長度的散列值,作為認(rèn)證標(biāo)識(shí)vMAC:一個(gè)公開函數(shù),加上一個(gè)密鑰產(chǎn)生一個(gè)固定長度的值作為認(rèn)證標(biāo)識(shí)94MAC: Message MAC: Message Authentication

溫馨提示

  • 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)論