freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

[理學(xué)]現(xiàn)代密碼學(xué)第7章:散列函數(shù)-資料下載頁(yè)

2024-12-08 00:58本頁(yè)面
  

【正文】 被公開(kāi),所以它抗擊密碼分析攻擊的強(qiáng)度較難判斷,似乎高于MD5的強(qiáng)度。 SHA與 MD5的比較 103 ? 3. 速度 ? 由于兩個(gè)算法的主要運(yùn)算都是模 232加法,因此都易于在 32位結(jié)構(gòu)上實(shí)現(xiàn)。但比較起來(lái) ,SHA的迭代步數(shù) (80步 )多于 MD5的迭代步數(shù)( 64步),所用的緩沖區(qū)( 160比特)大于 MD5使用的緩沖區(qū)( 128比特),因此在相同硬件上實(shí)現(xiàn)時(shí), SHA的速度要比 MD5的速度慢。 SHA與 MD5的比較 104 4. 簡(jiǎn)潔與緊致性 兩個(gè)算法描述起來(lái)都較為簡(jiǎn)單,實(shí)現(xiàn)起來(lái)也較為簡(jiǎn)單,都不需要大的程序和代換表。 5. 數(shù)據(jù)的存儲(chǔ)方式 MD5使用 littleendian方式, SHA使用 bigendian方式。兩種方式相比看不出哪個(gè)更具優(yōu)勢(shì),之所以使用兩種不同的存儲(chǔ)方式是因?yàn)樵O(shè)計(jì)者最初實(shí)現(xiàn)各自的算法時(shí),使用的機(jī)器的存儲(chǔ)方式不同。 SHA與 MD5的比較 105 以前曾介紹過(guò)一個(gè) MAC的例子 ——數(shù)據(jù)認(rèn)證算法,該算法反映了傳統(tǒng)上構(gòu)造 MAC最為普遍使用的方法,即基于分組密碼的構(gòu)造方法。但近年來(lái)研究構(gòu)造 MAC的興趣已轉(zhuǎn)移到基于密碼散列函數(shù)的構(gòu)造方法,這是因?yàn)椋? 密碼散列函數(shù) (如 MD SHA)的軟件實(shí)現(xiàn)快于分組密碼 (如 DES)的軟件實(shí)現(xiàn);密碼散列函數(shù)的庫(kù)代碼來(lái)源廣泛; 密碼散列函數(shù)沒(méi)有出口限制,而分組密碼即使用于 MAC也有出口限制。 5. HMAC算法 106 散列函數(shù)并不是為用于 MAC而設(shè)計(jì)的,由于散列函數(shù)不使用密鑰,因此不能直接用于 MAC。 目前已提出了很多將散列函數(shù)用于構(gòu)造 MAC的方法,其中 HMAC就是其中之一,已作為 RFC2104被公布,并在 IPSec和其他網(wǎng)絡(luò)協(xié)議 (如 SSL)中得以應(yīng)用。 107 RFC2104列舉了 HMAC的以下設(shè)計(jì)目標(biāo): ① 可不經(jīng)修改而使用現(xiàn)有的散列函數(shù),特別是那些易于軟件實(shí)現(xiàn)的、源代碼可方便獲取且免費(fèi)使用的散列函數(shù)。 ② 其中鑲嵌的散列函數(shù)可易于替換為更快或更安全的散列函數(shù)。 HMAC的設(shè)計(jì)目標(biāo) 108 ③ 保持鑲嵌的散列函數(shù)的最初性能,不因用于 HMAC而使其性能降低。 ④ 以簡(jiǎn)單方式使用和處理密鑰。 ⑤ 在對(duì)鑲嵌的散列函數(shù)合理假設(shè)的基礎(chǔ)上,易于分析 HMAC用于認(rèn)證時(shí)的密碼強(qiáng)度。 HMAC的設(shè)計(jì)目標(biāo) 109 其中前兩個(gè)目標(biāo)是 HMAC被公眾普遍接受的主要原因,這兩個(gè)目標(biāo)是將散列函數(shù)當(dāng)作一個(gè)黑盒使用,這種方式有兩個(gè)優(yōu)點(diǎn) : 第一,散列函數(shù)的實(shí)現(xiàn)可作為實(shí)現(xiàn)HMAC的一個(gè)模塊,這樣一來(lái), HMAC代碼中很大一塊就可事先準(zhǔn)備好,無(wú)需修改就可使用; 第二,如果 HMAC要求使用更快或更安全的散列函數(shù),則只需用新模塊代替舊模塊,例如用實(shí)現(xiàn) SHA的模塊代替 MD5的模塊。 HMAC的設(shè)計(jì)目標(biāo) 110 最后一條設(shè)計(jì)目標(biāo)則是 HMAC優(yōu)于其他基于散列函數(shù)的 MAC的一個(gè)主要方面,HMAC在其鑲嵌的散列函數(shù)具有合理密碼強(qiáng)度的假設(shè)下,可證明是安全的。 HMAC的設(shè)計(jì)目標(biāo) 111 圖 11是 HMAC算法的運(yùn)行框圖,其中 H為嵌入的散列函數(shù) (如 MD SHA), M為 HMAC的輸入消息(包括散列函數(shù)所要求的填充位 ), Yi(0≤i≤L1)是 M的第 i個(gè)分組, L是 M的分組數(shù), b是一個(gè)分組中的比特?cái)?shù), n為由嵌入的散列函數(shù)所產(chǎn)生的雜湊值的長(zhǎng)度, K為密鑰,如果密鑰長(zhǎng)度大于 b,則將密鑰輸入到散列函數(shù)中產(chǎn)生一個(gè) n比特長(zhǎng)的密鑰, K+是左邊經(jīng)填充 0后的 K, K+的長(zhǎng)度為 b比特, ipad為 b/8個(gè)00110110, opad為 b/8個(gè) 01011010。 HMAC算法描述 112 HMAC的算法框圖 113 算法的輸出可如下表示 : [ ( ) || [ ( ) || ] ]kH M A C H K o p a d H K ipa d M??? ? ?HMAC算法描述 114 算法的運(yùn)行過(guò)程可描述如下: ① K的左邊填充 0以產(chǎn)生一個(gè) b比特長(zhǎng)的 K+ (例如 K的長(zhǎng)為 160比特, b=512,則需填充44個(gè)零字節(jié) 0x00)。 ② K+與 ipad 逐比特異或以產(chǎn)生 b比特的分組Si。 ③ 將 M鏈接到 Si后。 HMAC算法描述 115 ? ④ 將 H作用于步驟③產(chǎn)生的數(shù)據(jù)流。 ? ⑤ K+與 opad逐比特異或 ,以產(chǎn)生 b比特長(zhǎng)的分組 S0。 ? ⑥ 將步驟④得到的雜湊值鏈接在 S0后。 ? ⑦ 將 H作用于步驟⑥產(chǎn)生的數(shù)據(jù)流并輸出最終結(jié)果。 HMAC算法描述 116 注意, K+與 ipad逐比特異或以及 K+與opad逐比特異或的結(jié)果是將 K中的一半比特取反,但兩次取反的比特的位置不同。而 Si和 S0通過(guò)散列函數(shù)中壓縮函數(shù)的處理,則相當(dāng)于以偽隨機(jī)方式從 K產(chǎn)生兩個(gè)密鑰。 HMAC算法描述 117 在實(shí)現(xiàn) HMAC時(shí),可預(yù)先求出下面兩個(gè)量 (見(jiàn)圖 12,虛線以左為預(yù)計(jì)算): 其中 f(cv, block)是散列函數(shù)中的壓縮函數(shù),其輸入是 n比特的鏈接變量和 b比特的分組,輸出是 n比特的鏈接變量。這兩個(gè)量的預(yù)先計(jì)算只在每次更改密鑰時(shí)才需進(jìn)行。事實(shí)上這兩個(gè)預(yù)先計(jì)算的量用于作為散列函數(shù)的初值 IV。 ( , ( ) )( , ( ) )f IV K ip a df IV K o p a d????HMAC算法描述 118 HMAC的有效實(shí)現(xiàn) 119 基于密碼散列函數(shù)構(gòu)造的 MAC的安全性取決于鑲嵌的散列函數(shù)的安全性,而 HMAC最吸引人的地方是它的設(shè)計(jì)者已經(jīng)證明了算法的強(qiáng)度和嵌入的散列函數(shù)的強(qiáng)度之間的確切關(guān)系,證明了對(duì) HMAC的攻擊等價(jià)于對(duì)內(nèi)嵌散列函數(shù)的下述兩種攻擊之一: ① 攻擊者能夠計(jì)算壓縮函數(shù)的一個(gè)輸出,即使 IV是隨機(jī)的和秘密的。 ② 攻擊者能夠找出散列函數(shù)的碰撞,即使 IV是隨機(jī)的和秘密的。 HMAC的安全性 120 在第一種攻擊中,可將壓縮函數(shù)視為與散列函數(shù)等價(jià),而散列函數(shù)的 n比特長(zhǎng) IV可視為 HMAC的密鑰。對(duì)這一散列函數(shù)的攻擊可通過(guò)對(duì)密鑰的窮搜索來(lái)進(jìn)行,也可通過(guò)第Ⅱ 類生日攻擊來(lái)實(shí)施,通過(guò)對(duì)密鑰的窮搜索攻擊的復(fù)雜度為 O( 2n),通過(guò)第 Ⅱ 類生日攻擊又可歸結(jié)為上述第二種攻擊。 HMAC的安全性 121 第二種攻擊指攻擊者尋找具有相同雜湊值的兩個(gè)消息,因此就是第 Ⅱ 類生日攻擊。對(duì)雜湊值長(zhǎng)度為 n的散列函數(shù)來(lái)說(shuō),攻擊的復(fù)雜度為 O(2n/2)。因此第二種攻擊對(duì) MD5的攻擊復(fù)雜度為 O(264),就現(xiàn)在的技術(shù)來(lái)說(shuō),這種攻擊是可行的。但這是否意味著 MD5不適合用于 HMAC? HMAC的安全性 122 ? 回答是否定的,原因如下:攻擊者在攻擊 MD5時(shí),可選擇任何消息集合后脫線尋找碰撞。由于攻擊者知道雜湊算法和默認(rèn)的 IV,因此能為自己產(chǎn)生的每個(gè)消息求出雜湊值。然而,在攻擊 HMAC時(shí),由于攻擊者不知道密鑰 K,從而不能脫線產(chǎn)生消息和認(rèn)證碼對(duì)。 HMAC的安全性 123 所以攻擊者必須得到 HMAC在同一密鑰下產(chǎn)生的一系列消息,并對(duì)得到的消息序列進(jìn)行攻擊。對(duì)長(zhǎng) 128比特的雜湊值來(lái)說(shuō),需要得到用同一密鑰產(chǎn)生的 264個(gè)分組( 273比特)。在 1Gbit/s的鏈路上,需 250000年,因此 MD5完全適合于 HMAC,而且就速度而言,MD5要快于 SHA作為內(nèi)嵌散列函數(shù)的 HMAC。 HMAC的安全性 124 1. 數(shù)據(jù)認(rèn)證算法是由 CBC模式的 DES定義的,其中初始向量取為 0,試說(shuō)明使用 CFB模式也可獲得相同結(jié)果。 習(xí)題 125 2. 有很多散列函數(shù)是由 CBC模式的分組加密技術(shù)構(gòu)造的,其中的密鑰取為消息分組。例如將消息M分成分組 M1,M2,… ,MN, H0=初值,迭代關(guān)系為Hi=EMi(Hi1) Hi1(i=1,2,… ,N),雜湊值取為 HN,其中 E是分組加密算法。 (1) 設(shè) E為 DES,我們知道如果對(duì)明文分組和加密密鑰都逐比特取補(bǔ),那么得到的密文也是原密文的逐比特取補(bǔ),即如果 Y=DESK(X),那么 Y′=DESK′(X′)。利用這一結(jié)論證明在上述散列函數(shù)中可對(duì)消息進(jìn)行修改但卻保持雜湊值不變。 (2) 若迭代關(guān)系改為 Hi=EHi1(Mi) Mi,證明仍可對(duì)其進(jìn)行上述攻擊。 ??126 3. 考慮用公鑰加密算法構(gòu)造散列函數(shù),設(shè)算法是 RSA,將消息分組后用公開(kāi)鑰加密第一個(gè)分組,加密結(jié)果與第二個(gè)分組異或后,再對(duì)其加密,一直進(jìn)行下去。設(shè)一消息被分成兩個(gè)分組 B1和 B2,其雜湊值為 H(B1,B2)=RSA(RSA(B1) B2)。證明對(duì)任一分組 C1可選 C2,使得 H(C1,C2)=H(B1,B2)。證明用這種攻擊法,可攻擊上述用公鑰加密算法構(gòu)造的散列函數(shù)。 ?習(xí)題 127 4. 在圖 10中,假定有 80個(gè) 32比特長(zhǎng)的字用于存儲(chǔ)每一 Wt,因此在處理消息分組前,可預(yù)先計(jì)算出這 80個(gè)值。為節(jié)省存儲(chǔ)空間,考慮用 16個(gè)字的循環(huán)移位寄存器,其初值存儲(chǔ)前 16個(gè)值(即 W0,W1,… ,W15),設(shè)計(jì)一個(gè)算法計(jì)算以后的每一 Wt。 5. 對(duì) SHA,計(jì)算 W16,W17,W18,W19。 習(xí)題 128 6. 設(shè) a1a2a3a4是 32比特長(zhǎng)的字中的 4個(gè)字節(jié),每一 ai可看作由二進(jìn)制表示的 0到 255之間的整數(shù),在bigendian結(jié)構(gòu)中,該字表示整數(shù)a1224+a2216+a328+a4,在 littleendian結(jié)構(gòu)中,該字表示整數(shù) a4224+a3216+a228+a1。 (1) MD5使用 littleendian結(jié)構(gòu),因消息的摘要值不應(yīng)依賴于算法所用的結(jié)構(gòu),因此在 MD5中為了對(duì)以bigendian結(jié)構(gòu)存儲(chǔ)的兩個(gè)字 X=x1x2x3x4和Y=y1y2y3y4進(jìn)行模 2加法運(yùn)算,必須對(duì)這兩個(gè)字進(jìn)行調(diào)整,試說(shuō)明如何調(diào)整? (2) SHA使用 bigendian結(jié)構(gòu),試說(shuō)明如何對(duì)以littleendian結(jié)構(gòu)存儲(chǔ)的兩個(gè)字 X和 Y進(jìn)行模 2加法運(yùn)算。 129 THE END!
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1