第3講網(wǎng)絡(luò)信息安全之密碼技術(shù)_第1頁
第3講網(wǎng)絡(luò)信息安全之密碼技術(shù)_第2頁
第3講網(wǎng)絡(luò)信息安全之密碼技術(shù)_第3頁
第3講網(wǎng)絡(luò)信息安全之密碼技術(shù)_第4頁
第3講網(wǎng)絡(luò)信息安全之密碼技術(shù)_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第三講密碼技術(shù)1密碼是信息安全的基礎(chǔ),通過數(shù)據(jù)加密、消息摘要、數(shù)字簽名及密鑰交換等技術(shù)實現(xiàn)了數(shù)據(jù)機密性、數(shù)據(jù)完整性、不可否認(rèn)性和用戶身份真實性等安全機制,從而保證了網(wǎng)絡(luò)環(huán)境中信息交換的安全密碼技術(shù)大致可以分為三類:(1)對稱密碼算法,如DES、IDEA和RC等算法(2)非對稱密碼算法,如RSA、DSA等算法(3)單向散列函數(shù),如MD5、SHA等算法2一、對稱密碼算法對稱密碼算法是指加密和解密數(shù)據(jù)使用同一個密鑰,即加密和解密的密鑰是對稱的,這種密碼系統(tǒng)也稱為單密鑰密碼系統(tǒng)加密時,使用加密算法和密鑰將原始數(shù)據(jù)(即明文)變換成不可讀的密文(即亂碼)解密時,必須使用同樣的密碼算法和密鑰將密文變換成明文,即信息的加密和解密使用同樣的算法和密鑰3對稱密碼算法的優(yōu)點是算法計算量小、加密和解密速度快缺點是加密和解密使用同一個密鑰,容易產(chǎn)生發(fā)送者或接收者單方面密鑰泄露問題,在網(wǎng)絡(luò)環(huán)境下應(yīng)用時必須使用另外的安全信道來傳輸密鑰,否則會引起密鑰泄露和信息失密問題45DES密碼算法DES(DataEncryptionStandard)作為早期的數(shù)據(jù)加密標(biāo)準(zhǔn)已有近三十年歷史,經(jīng)受了長期的密碼攻擊,仍保持一定的安全性DES是一種分組密碼算法,使用56位密鑰將64位的明文轉(zhuǎn)換為64位的密文,密鑰長度為64位,其中有8位是奇偶校驗位在DES算法中,只使用了標(biāo)準(zhǔn)的算術(shù)和邏輯運算,加密和解密速度很快,并且易于實現(xiàn)硬件化和芯片化61.DES算法描述(1)對64位的明文分組進(jìn)行加密操作(2)首先通過一個初始置換(IP),將64位明文分組分成左半部分和右半部分,各為32位(3)然后進(jìn)行16輪完全相同的運算,運算函數(shù)稱為f,在運算過程中,數(shù)據(jù)和密鑰結(jié)合(4)經(jīng)過16輪運算后,再通過一個初始置換的逆置換(IP-1),將左半部分和右半部分合在一起,最終得到一個64位的密文每一輪的運算步驟如下:(1)首先進(jìn)行密鑰置換,通過移動密鑰位,從56位密鑰中選出48位密鑰7(2)然后進(jìn)行f函數(shù)運算:通過一個擴展置換(也稱E置換)將數(shù)據(jù)的右半部分?jǐn)U展成48位通過一個異或操作與48位密鑰結(jié)合,得到一個48位數(shù)據(jù)通過8個S-盒代換將48位數(shù)據(jù)變換成32位數(shù)據(jù)對32位數(shù)據(jù)進(jìn)行一次直接置換(P-盒置換)(3)通過一個異或操作將函數(shù)f的輸出與左半部分結(jié)合,其結(jié)果為新的右半部分;而原來的右半部分成為新的左半部分

892.DES算法關(guān)鍵操作(1)初始置換、逆初始置換及其參數(shù)表DES算法在加密前,首先執(zhí)行一個初始置換操作,按照規(guī)定的初始置換表將64位明文的位置進(jìn)行變換,得到一個亂序的64位明文經(jīng)過16輪運算后,通過一個逆初始置換操作,按照規(guī)定的逆初始置換表將左半部分32位和右半部分32位合在一起,得到一個64位密文初始置換和逆初始置換并不影響DES的安全性,其主要目的是通過置換將明文和密文數(shù)據(jù)變換成字節(jié)形式輸出,易于DES芯片的實現(xiàn)10(2)密鑰置換及其參數(shù)表在64位密鑰中,每個字節(jié)的第8位為奇偶校驗位,經(jīng)過密鑰置換表置換后去掉奇偶校驗位,實際的密鑰長度為56位在每一輪運算中,從56位密鑰中產(chǎn)生不同的48位子密鑰Ki,這些子密鑰按下列方式確定:將56位密鑰分成兩部分,每部分為28位根據(jù)運算的輪數(shù),按照每輪左移位數(shù)表將這兩部分分別循環(huán)左移1位或2位按照壓縮置換表從56位密鑰中選出48位子密鑰,它也稱壓縮置換或壓縮選擇11(3)擴展置換及其參數(shù)表按照擴展置換表將數(shù)據(jù)的右半部分Ri從32位擴展成48位,以便與48位密鑰進(jìn)行異或運算(4)S-盒代換及其參數(shù)表按照8個S-盒代換表將異或運算得到的48位結(jié)果變換成32位數(shù)據(jù)。每個S-盒為一個非線性代換網(wǎng)絡(luò),有6位輸入,4位輸出,并且每個S-盒代換都不相同。48位輸入被分成8個6位組,每個組對應(yīng)一個S-盒代換操作S-盒代換是DES算法的關(guān)鍵步驟,因為所有其它運算都是線性的,易于被分析,而S-盒代換是非線性的,其安全性高于其它步驟12(5)P-盒置換及其參數(shù)表S-盒輸出的32位結(jié)果還要按照P-盒置換表將異或運算得到的進(jìn)行一次P-盒置換,其中任何一位不能被映射兩次,也不能省略最后,P-盒置換的結(jié)果與64位數(shù)據(jù)的左半部分進(jìn)行一個異或操作,然后左半部分和右半部分進(jìn)行交換,開始下一輪運算(6)DES解密DES使用相同的函數(shù)來加密或解密每個分組,但兩者的密鑰次序是相反的。例如,如果每輪的加密密鑰次序為K1,K2,K3…,K16,則對應(yīng)的解密密鑰次序為K16,K15,K14…,K1,并根據(jù)輪數(shù)密鑰循環(huán)右移1位或2位133.DES實現(xiàn)方法DES算法有硬件和軟件兩種實現(xiàn)方法。硬件實現(xiàn)方法采用專用的DES芯片,使DES加密和解密速度有了極大的提高,例如,專用的DES芯片的加密和解密速度可達(dá)1Gb/s,能在1秒內(nèi)加密16.8M個數(shù)據(jù)分組還有一些DES芯片采用并行處理結(jié)構(gòu),在一個DES芯片中有多個可以并行工作的DES模塊,并采用高速時鐘,大大提高了DES加密和解密速度14軟件實現(xiàn)方法處理速度要慢一些,主要取決于計算機的處理能力和速度。例如,在80486微機上,每秒可處理43K個DES分組;在HP工作站上,每秒可處理196K個DES分組在實際應(yīng)用中,數(shù)據(jù)加密產(chǎn)品將引起系統(tǒng)性能的下降,尤其在網(wǎng)絡(luò)環(huán)境下應(yīng)用時,將引人很大的網(wǎng)絡(luò)延時為了在安全性和性能之間求得最佳的平衡,最好采用基于DES芯片的數(shù)據(jù)加密產(chǎn)品154.三重DES算法三重DES算法(簡稱3DES)是一種增強DES算法安全性的DES算法。3DES使用2個或3個密鑰對一個分組進(jìn)行三次加密在使用2個密鑰情況下,第一次使用密鑰K1,第二次使用密鑰K2,第三次再使用密鑰K1在使用3個密鑰情況下,第一次使用密鑰K1,第二次使用密鑰K2,第三次再使用密鑰K3經(jīng)過3DES加密的密文需要2112次窮舉搜索才能破譯,而不是256次,進(jìn)一步增強了DES算法的安全性16175.DES安全性評價對一個密碼系統(tǒng)的評價尚無嚴(yán)格的理論和統(tǒng)一的標(biāo)準(zhǔn),只能從抵抗現(xiàn)有密碼分析手段的能力來評價一個密碼系統(tǒng)的好壞破譯DES方法主要采用密鑰窮舉搜索法,例如有人利用一臺高速計算機,使用窮舉搜索法在56小時內(nèi)破譯了DES在DES數(shù)據(jù)加密系統(tǒng)中,可以通過增加DES的密鑰長度(如3DES)等方法來增強DES安全強度18二、非對稱密碼算法非對稱密碼算法是指加密和解密數(shù)據(jù)使用兩個不同的密鑰,即加密和解密密鑰是不對稱的,這種密碼系統(tǒng)也稱為公鑰密碼系統(tǒng)(PublicKeyCryptosystem)公鑰密碼學(xué)的概念由Diffie和Hellman兩人在1976年發(fā)表的一篇著名論文:“密碼學(xué)的新方向”中首先提出的,并引起很大的轟動非對稱密碼算法隨機產(chǎn)生兩個密鑰:一個用于加密明文,密鑰可公開,稱為公鑰;另一個用來解密密文,密鑰須保密,稱為私鑰1920發(fā)送者首先要獲得接收者的公鑰,并使用公鑰加密原文,然后將密文傳輸給接收者。接收者則使用自己的私鑰來解密密文由于加密密鑰是公開的,不需要建立額外的安全信道來分發(fā)密鑰由于解密密鑰是用戶自己保管的,與對方無關(guān)。從而避免了任何一方單方面密鑰泄露問題以及分發(fā)密鑰時安全風(fēng)險和額外開銷非對稱密碼算法的特點是安全性高、密鑰易于管理,缺點是計算量大、速度慢。因此,非對稱密碼算法比較適合于加密短信息21在實際應(yīng)用中,通常采用由非對稱密碼算法和對稱密碼算法構(gòu)成混合密碼系統(tǒng),發(fā)揮各自的優(yōu)勢使用對稱密碼算法來加密數(shù)據(jù),加密速度快;使用非對稱密碼算法來加密對稱密碼算法的密鑰,形成安全的密鑰分發(fā)信道,同時還可以用來實現(xiàn)數(shù)字簽名和身份驗證機制在非對稱密碼算法中,常用的是RSA算法。在密鑰交換協(xié)議中,經(jīng)常使用Diffie-Hellman算法22RSA算法RSA算法是用三個發(fā)明人Rivest、Shamir和Adleman的名字命名的,它是第一個比較完善的公鑰密碼算法,既可用于加密數(shù)據(jù),又可用于數(shù)字簽名,具有較高的安全性和可信度1.RSA算法描述RSA的安全性基于大數(shù)分解的難度,其公鑰和私鑰是一對大素數(shù)的函數(shù),從一個公鑰和密文中恢復(fù)出明文的難度等價于分解兩個大素數(shù)之和23(1)兩個密鑰產(chǎn)生方法選取兩個大素數(shù):p和q,并且兩數(shù)的長度相同,以獲得最大程度的安全性計算兩數(shù)的乘積:n=p×q。隨機選取加密密鑰e,使e和(p-1)(q-1)互素計算解密密鑰d,為滿足ed≡1mod(p-1)(q-1),則d=e-1mod((p-1)(q-1)),d和n也互素e和n是公鑰,d是私鑰。兩個素數(shù)p和q不再需要,可以被舍棄,但絕不能泄漏24(2)數(shù)據(jù)加密方法首先將明文消息m分解成小于模數(shù)n的數(shù)據(jù)分組。例如,p和q都是100位的素數(shù),n則為200位,每個數(shù)據(jù)分組mi應(yīng)當(dāng)小于200位對于每個數(shù)據(jù)分組mi,按下列公式加密:

ci=mi

e(mod

n),其中e是加密密鑰將每個加密的密文分組ci

組合成密文c輸出(3)數(shù)據(jù)解密方法對于每個密文分組ci,按下列公式解密:mi=ci

d(mod

n),其中d是解密密鑰將每個解密的明文分組mi組合成明文m輸出25RSA方法應(yīng)用舉例:假設(shè)p=47,q=71,則n=p×q=3337選取加密密鑰e,如e=79,且e和(p-1)(q-1)=46×70=3220互素(沒有公因子)計算解密密鑰d=79-1mod3220=1019,d和n也互素e和n是公鑰,可公開;d是私鑰,需保密;丟棄p和q,但不能泄漏假設(shè)明文消息m=6882326879666683,首先將它分解成小于模數(shù)n的數(shù)據(jù)分組,這里模數(shù)n為4位,每個數(shù)據(jù)分組mi可分成3位26m被分成六個數(shù)據(jù)分組:m1=688;m2=232;m3=687;m4=966;m5=668;m6=003(若位數(shù)不足,左邊填充0補齊)現(xiàn)在對每個數(shù)據(jù)分組mi進(jìn)行加密:c1=688

79mod3337=1570,c1=23279mod3337=2756,…。將密文分組ci

組合成密文輸出:

c=15702756209122762423158現(xiàn)在對每個密文分組ci進(jìn)行解密:

m1=1570

1019mod3337=688,m2=2756

1019mod3337=232,…。將每個解密的明文分組mi

組合成明文輸出:m=6882326879666683272.RSA實現(xiàn)方法RSA有硬件和軟件兩種實現(xiàn)方法。不論何種實現(xiàn)方法,RSA的速度總比DES慢得多。因為RSA的計算量要大于DES,在加密和解密時需要做大量的模數(shù)乘法運算硬件實現(xiàn)方法采用專用的RSA芯片,最快的512位模數(shù)RSA芯片速度為1Mb/s。同樣使用硬件實現(xiàn),RSA比DES慢大約1000倍軟件實現(xiàn)方法速度要更慢一些,與計算機的處理能力和速度有關(guān)。同樣使用軟件實現(xiàn),RSA比DES慢大約100倍283.RSA安全性評價在RSA問世后的三十多年中,人們對RSA進(jìn)行了大量的研究和分析,迄今為止還未找到破譯RSA的有效方法窮舉搜索法并不是破譯RSA的有效方法,主要采用分解因子的方法來分解n。由于分解因子問題是眾所周知的數(shù)學(xué)難題,迄今為止還未找到分解因子的有效算法這就是RSA算法的安全性基礎(chǔ)。然而,RSA在理論上還存在一定的空白點,也就是不能確切地證明它的安全性29并不排除這種可能性:可以找到一種破譯RSA密碼的有效算法,但找不到相應(yīng)分解因子的快速算法另外,有人利用RSA實現(xiàn)上弱點對RSA進(jìn)行攻擊,而不是攻擊RSA算法本身。因此,RSA在使用上存在如下的限制:(1)知道了對于一個給定模數(shù)的一個加/解密密鑰指數(shù)對,攻擊者就能分解這個模數(shù)(2)知道了對于一個給定模數(shù)的一個加/解密密鑰指數(shù)對,攻擊者無需分解n就能計算出其它的加/解密鑰對30

(3)在網(wǎng)絡(luò)環(huán)境下應(yīng)用時,基于RSA的網(wǎng)絡(luò)協(xié)議不應(yīng)當(dāng)使用公共模數(shù)(4)消息應(yīng)當(dāng)使用隨機數(shù)填充,以避免對加密指數(shù)的攻擊(5)解密指數(shù)應(yīng)當(dāng)足夠大對于一個密碼應(yīng)用系統(tǒng)來說,密碼算法、使用密碼算法的協(xié)議以及使用協(xié)議的應(yīng)用系統(tǒng)都必須是安全的,三者之中任何一個環(huán)節(jié)出現(xiàn)弱點都會危及整個應(yīng)用系統(tǒng)的安全因此,RSA實現(xiàn)的細(xì)節(jié)也是很關(guān)鍵的31

Diffie-Hellman(D-H)算法D-H算法的數(shù)學(xué)基礎(chǔ)是基于有限域的離散對數(shù),有限域上的離散對數(shù)計算要比指數(shù)計算復(fù)雜得多D-H算法主要用于密鑰分配和交換,不能用于加密和解密信息D-H算法的基本原理是:首先A和B兩個人協(xié)商一個大素數(shù)n和

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論