第5章報(bào)文鑒別與散列函數(shù)_第1頁(yè)
第5章報(bào)文鑒別與散列函數(shù)_第2頁(yè)
第5章報(bào)文鑒別與散列函數(shù)_第3頁(yè)
第5章報(bào)文鑒別與散列函數(shù)_第4頁(yè)
第5章報(bào)文鑒別與散列函數(shù)_第5頁(yè)
已閱讀5頁(yè),還剩35頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第5章 報(bào)文鑒別與散列函數(shù)內(nèi)容l鑒別的需求;l散列函數(shù);l報(bào)文鑒別碼l簽名5.1 鑒別的需求l網(wǎng)絡(luò)通信環(huán)境中會(huì)受到下列攻擊泄露; 通信量分析:連接的頻率和持續(xù)的時(shí)間、報(bào)文數(shù)量等。偽裝:假源點(diǎn); 內(nèi)容篡改:修改內(nèi)容; 序號(hào)篡改:增刪內(nèi)容; 計(jì)時(shí)篡改:報(bào)文回放; 抵賴:終點(diǎn)否認(rèn)收到、源點(diǎn)否認(rèn)發(fā)送過。 5.2 鑒別函數(shù)l鑒別函數(shù):用來產(chǎn)生用于鑒別一個(gè)報(bào)文的值:鑒別符。l鑒別符用于鑒別報(bào)文在通信過程中是否被篡改、刪除和修改等。l產(chǎn)生鑒別符的幾類函數(shù):報(bào)文加密:以整個(gè)報(bào)文作為它的鑒別符號(hào)報(bào)文鑒別碼(MAC)散列函數(shù)鑒別函數(shù)-報(bào)文加密l對(duì)稱加密:提供保密:僅源點(diǎn)和終點(diǎn)共享K。一定程度的鑒別:僅來自源點(diǎn)。不

2、提供簽名:接收人可以偽造、發(fā)送人可以否認(rèn)。EMMDKKEk(M)鑒別函數(shù)-報(bào)文加密l私鑰加密:提供鑒別和簽名:僅源點(diǎn)有私鑰KS。任何一方都能用公開密鑰Kp脫密。EMMDKsKpE Ks(M)鑒別函數(shù)-報(bào)文加密l公開密鑰加密: 提供報(bào)密:僅終點(diǎn)有脫密的私鑰KS。不提供簽名:接收人可以偽造、發(fā)送人可以否認(rèn)。EMMDKpKSE Kp(M)鑒別函數(shù)-報(bào)文加密l對(duì)稱密鑰加密: 提供保密: BKp鑒別與簽名: AKsEMMDAKsBKsE BKp(E AKs(M)EBKpABDAKp為什么需要報(bào)文鑒別EMMDKKY=Ek(M)ZEk(M)NDK消息鑒別消息鑒別 VS 常規(guī)加密常規(guī)加密保密性與真實(shí)性是兩個(gè)不

3、同的概念保密性與真實(shí)性是兩個(gè)不同的概念根本上根本上,信息加密提供的是保密性而非真實(shí)性信息加密提供的是保密性而非真實(shí)性加密代價(jià)大加密代價(jià)大(公鑰算法代價(jià)更大公鑰算法代價(jià)更大)鑒別函數(shù)與保密函數(shù)的分離能提供功能上的靈活性鑒別函數(shù)與保密函數(shù)的分離能提供功能上的靈活性某些信息只需要真實(shí)性某些信息只需要真實(shí)性,不需要保密性不需要保密性 廣播的信息難以使用加密廣播的信息難以使用加密(信息量大信息量大) 網(wǎng)絡(luò)管理信息等只需要真實(shí)性網(wǎng)絡(luò)管理信息等只需要真實(shí)性 政府政府/權(quán)威部門的公告權(quán)威部門的公告為什么需要報(bào)文鑒別碼l加密與鑒別分離,使得結(jié)構(gòu)靈活。例如:應(yīng)用層鑒別,底層加密;l減少工作量,驗(yàn)證鑒別碼較容易;l

4、監(jiān)控計(jì)算機(jī)程序,防止程序被修改,但裝載時(shí)不要對(duì)程序解密。報(bào)文鑒別碼MAClMAC,也稱為密碼檢驗(yàn)和,由如下形式的函數(shù)C生成:MAC=Ck(M) 其中M是變長(zhǎng)的報(bào)文K是僅由收發(fā)雙方共享的密鑰Ck M)是定長(zhǎng)的鑒別符。l當(dāng)報(bào)文確信或已知是正確時(shí),終點(diǎn)每次將MAC附加到報(bào)文中。接收者通過重新計(jì)算MAC來對(duì)報(bào)文進(jìn)行鑒別。 5.2.2 散列函數(shù)散列函數(shù)(Hash Function) 散列函數(shù)的定義散列函數(shù)的定義散列函數(shù):散列函數(shù):M:變長(zhǎng)報(bào)文變長(zhǎng)報(bào)文H(M):定長(zhǎng)的散列碼定長(zhǎng)的散列碼(報(bào)文摘要)報(bào)文摘要)主要用于為文件、報(bào)文或其它分組數(shù)據(jù)產(chǎn)生指紋主要用于為文件、報(bào)文或其它分組數(shù)據(jù)產(chǎn)生指紋()hH M散列

5、函數(shù)的說明散列函數(shù)的說明H(M): 輸入為任意長(zhǎng)度的消息輸入為任意長(zhǎng)度的消息M; 輸出為一個(gè)固輸出為一個(gè)固定長(zhǎng)度的散列值,稱為消息摘要定長(zhǎng)度的散列值,稱為消息摘要( (MessageDigest)H(M)是消息是消息M的所有位的函數(shù)并提供錯(cuò)誤檢測(cè)能的所有位的函數(shù)并提供錯(cuò)誤檢測(cè)能力:消息中的任何一位或多位的變化都將導(dǎo)致該力:消息中的任何一位或多位的變化都將導(dǎo)致該散列值的變化散列值的變化H(M)又稱為:哈希函數(shù)、數(shù)字指紋(又稱為:哈希函數(shù)、數(shù)字指紋(Digital finger print)、壓縮(、壓縮(Compression)函數(shù)、數(shù)據(jù)鑒函數(shù)、數(shù)據(jù)鑒別碼(別碼(Dataauthenticati

6、on code)等)等Hash vs MACMAC需要對(duì)全部數(shù)據(jù)進(jìn)行加密需要對(duì)全部數(shù)據(jù)進(jìn)行加密MAC速度慢速度慢Hash是一種直接產(chǎn)生鑒別碼的方法是一種直接產(chǎn)生鑒別碼的方法散列函數(shù)方法 (a) 提供了保密和鑒別。MH|EDMHEkM|H(M)kkH(M)比較散列函數(shù)方法 (b)l散列與加密結(jié)果合并為一個(gè)整體函數(shù)實(shí)際上就是一個(gè)MAC。EH(M)是變長(zhǎng)報(bào)文M和密鑰K的函數(shù)值,且它生成一個(gè)定長(zhǎng)的輸出,對(duì)不知道該密鑰的對(duì)手來說是安全的。l提供鑒別MHE|MHDEkH(M)KKEK(H(M)比較散列函數(shù)方法 (c)l提供鑒別、抵賴。MHE|MHDEKRa(H(M)KRaKUaEKRa(H(M)比較散列函

7、數(shù)方法 (d)l同時(shí)提供保密性、鑒別和抵賴。MHE|EDMHDEkM|EKRa(H(M)kkKRaKUaEKRa(H(M)比較散列函數(shù)方法 (e)l通信各方共享一個(gè)公共的秘密值s。對(duì)報(bào)文鑒別。M|H|H (M|s)s比較|Hs散列函數(shù)方法 (f)l通過包含報(bào)文和散列碼的整體進(jìn)行加密就能對(duì)上一種方法(e)增加保密功能M|H|Ek(H (M|s)s比較|HsEkH (M|s)Dk散列函數(shù)的目標(biāo)l散列函數(shù)的目的是為文件、報(bào)文或其他的分組數(shù)據(jù)產(chǎn)生“指紋”。要用于報(bào)文鑒別,散列函數(shù)H必須具有如下性質(zhì):H能用于任何大小的數(shù)據(jù)分組。H產(chǎn)生定長(zhǎng)輸出。對(duì)任何給定的x,H(x)要相對(duì)易于計(jì)算,使得硬件和軟件實(shí)現(xiàn)成

8、為實(shí)際可行。對(duì)任何給定的碼H(x),從H(x)計(jì)算x,在計(jì)算上是不可行的。這就是所謂的單向性質(zhì)。對(duì)任何給定的分組x,尋找不等于x的y,使得H(y)=H(x)在計(jì)算上是不可行的。 1.尋找對(duì)任何的(x,y)對(duì)使得H(x)=H(y)在計(jì)算上是不可行的。5.2.3 散列算法5.2.3.1 MD5MD5描述描述Merkle于于1989年提出年提出hash function模型模型Ron Rivest于于1990年提出年提出MD41992年年, Ron Rivest 完成完成MD5 (RFC 1321) 在最近數(shù)年之前在最近數(shù)年之前,MD5是最主要的是最主要的hash算法算法現(xiàn)行美國(guó)標(biāo)準(zhǔn)現(xiàn)行美國(guó)標(biāo)準(zhǔn)SH

9、A-1以以MD5的前身的前身MD4為基礎(chǔ)為基礎(chǔ)MD5描述描述 輸入:任意長(zhǎng)度的報(bào)文輸入:任意長(zhǎng)度的報(bào)文輸入分組長(zhǎng)度:輸入分組長(zhǎng)度:512 bit 輸出:輸出:128 bit 報(bào)文報(bào)文5.2.3.1.1 設(shè)計(jì)目標(biāo)l安全性l直接安全性l速度l簡(jiǎn)單性和緊湊性l有利的Little-Endian結(jié)構(gòu)MD5描述描述step 1 附加填充比特附加填充比特對(duì)報(bào)文進(jìn)行填充,使其比特?cái)?shù)與對(duì)報(bào)文進(jìn)行填充,使其比特?cái)?shù)與448模模512同余,同余,即填充長(zhǎng)度為即填充長(zhǎng)度為512的整數(shù)倍減去的整數(shù)倍減去64填充方法:填充比特串的最高位為填充方法:填充比特串的最高位為1,其余各位,其余各位均為均為011| 448mod51

10、2| 448mod512,| | 512Mif Mthen MMMD5描述描述step 2 附加長(zhǎng)度值附加長(zhǎng)度值|M2|為為512的倍數(shù)的倍數(shù): Y0,Y1,YL-1216464|mod2 ,2MMLengthMM Padding LengthLengthM低位字節(jié)優(yōu)先,表示為64bit長(zhǎng)若初始長(zhǎng)度大于 ,僅使用該長(zhǎng)度的低64bitMD5描述描述step 3初始化初始化MD緩存緩存MD為為128bit,用于存放散列函數(shù)的中間及最終結(jié),用于存放散列函數(shù)的中間及最終結(jié)果果MD可表示為可表示為4個(gè)個(gè)32bit的寄存器的寄存器(A,B,C,D),初始化,初始化如下:如下:MD5描述描述step 4以以

11、512個(gè)比特(個(gè)比特(16個(gè)字)分組處理消息個(gè)字)分組處理消息主循環(huán)包含共主循環(huán)包含共64步操作,分別使用步操作,分別使用4個(gè)非線性函數(shù)。個(gè)非線性函數(shù)。每一次循環(huán)可以表示為每一次循環(huán)可以表示為7步。步。64步操作形式:步操作形式:a b+(a+g(b,c,c)+Xk+Tis)MD5報(bào)文摘要算法 (Rivest, RFC1321)Y1 512Y0 512Yq 512YL-1 512 HMD5HMD5HMD5HMD5報(bào)文 L*512-64-填充長(zhǎng)度填充1-512長(zhǎng)度64IVCVqCV1CVL-1128位摘要lMD5: RFC1321lMD4: RFC1320lMD2: RFC1319HMD5CVq

12、 128BACDG, T17,18,32,X2(k)16個(gè)步驟個(gè)步驟BACDF, T1,2,16,Xk16個(gè)步驟個(gè)步驟BACD 32BACDH, T33,34,48,X3(k)16個(gè)步驟個(gè)步驟I, T49,50,64,X4(k)16個(gè)步驟個(gè)步驟Yq 512+CVq+1 1284輪,每輪16步驟ABCDABCD+CLSs+XkTigXk 是分組的第k個(gè)32比特, k=1,2, 16Ti= 232 abs(sin(i)的整數(shù)部分b=b+(a+g(b,c,d)+Xi+Ti)s)MD5的安全性的安全性Berson表明,對(duì)單循環(huán)表明,對(duì)單循環(huán)MD5,使用不用的密碼分析可能在合,使用不用的密碼分析可能在合

13、理的時(shí)間內(nèi)找出能夠產(chǎn)生相同摘要的兩個(gè)報(bào)文,這個(gè)結(jié)果被理的時(shí)間內(nèi)找出能夠產(chǎn)生相同摘要的兩個(gè)報(bào)文,這個(gè)結(jié)果被證明對(duì)四個(gè)循環(huán)中的任意一個(gè)循環(huán)也成立,但作者沒有能夠證明對(duì)四個(gè)循環(huán)中的任意一個(gè)循環(huán)也成立,但作者沒有能夠提出如何攻擊包含全部提出如何攻擊包含全部4個(gè)循環(huán)個(gè)循環(huán)MD5的攻擊的攻擊Boer和和Bosselaers顯示了即使緩存顯示了即使緩存ABCD不同,不同,MD5對(duì)單個(gè)對(duì)單個(gè)512bit分組的執(zhí)行將得到相同的輸出分組的執(zhí)行將得到相同的輸出(偽沖突)偽沖突)Dobbertin的攻擊技術(shù):使的攻擊技術(shù):使MD5的壓縮函數(shù)產(chǎn)生沖突,即尋找的壓縮函數(shù)產(chǎn)生沖突,即尋找MD5被認(rèn)為是易受攻擊的,逐漸被被認(rèn)

14、為是易受攻擊的,逐漸被SHA-1和和RIPEMD-160替替代代,( )( )xy xyH xH y、但5.2.3.2 安全散列算法SHA-1l安全散列算法(SHA)由美國(guó)國(guó)家標(biāo)準(zhǔn)和技術(shù)協(xié)會(huì)(NIST)提出,作為聯(lián)邦信息處理標(biāo)準(zhǔn)(FIPS PUB 180) 在1993年公布。l1995年發(fā)布了一個(gè)修訂版 FIPS PUB 180-1通常稱為SHA-1lSHA也是基于MD4的。l最大報(bào)文長(zhǎng)度264-1,散列碼長(zhǎng)度160bit。l結(jié)構(gòu)與MD5類似,抗攻擊能力比MD5強(qiáng);HMAC (密碼散列算法 RFC2104)lKeyed-Hashing for Message Authentication Co

15、deKeyed-Hashing for Message Authentication Codel在最近幾年,研究的熱點(diǎn)轉(zhuǎn)向由密碼散列碼導(dǎo)出MAC。這樣的目的在于:密碼散列函數(shù)如MD5和SHA-1的軟件執(zhí)行速度比對(duì)稱分組密碼如DES的快。 很容易獲得密碼散列函數(shù)的庫(kù)代碼。 1.美國(guó)或其他國(guó)家對(duì)密碼散列函數(shù)沒有出口限制,而對(duì)稱分組密碼,即便用作MAC也是限制的。HMAC的主要設(shè)計(jì)目標(biāo): l無需修改地使用現(xiàn)有的散列函數(shù)(比如MD5或SHA-1)。特別是,散列函數(shù)的軟件實(shí)現(xiàn)執(zhí)行很快,且程序代碼碼是公開的和容易獲得的。 l當(dāng)出現(xiàn)或獲得更快的或更安全的散列函數(shù)時(shí),對(duì)算法中嵌入的散列函數(shù)要能輕易地進(jìn)行替換。 l保持散列函數(shù)的原有性能不會(huì)導(dǎo)致算法性能的降低。 l使用和處理密鑰的方式很簡(jiǎn)單。 HMACHMAC 算法 RFC2104SiY0Y1YL-1散列函數(shù)b bitsb bitsb bitsK+ipadK+opadS0H(Si|M)散列函數(shù)HMACk(M)n bitsIVn bitsIV填充到b bitsHMAC算法對(duì)密鑰K的左端填充一些0生成一個(gè)b bit

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論