【正文】
(M)被加密保護(hù) M M Ek[H(M)] H() D() 比較 哈希 密鑰 K E() 密鑰 K H() M Ek[H(M)] 哈希函數(shù)消息鑒別 (c) ? 僅對(duì)哈希值進(jìn)行加密的鑒別方案 ? 用于不需對(duì)消息加密的場(chǎng)合 ? 基于公開密鑰機(jī)制 ? 提供鑒別和數(shù)字簽名:發(fā)送方用自己的私鑰加密 H(M) M M EkRa[H(M)] H() D() 比較 密鑰 KUa E() 密鑰 KRa H() M EkRa[H(M)] 發(fā)送方 A 接收方 B 哈希函數(shù)消息鑒別 (d) ? 提供保密:對(duì)稱密鑰算法、密鑰 k進(jìn)行外層加密 ? 提供鑒別和數(shù)字簽名: A用私鑰對(duì)消息明文的哈希值進(jìn)行加密 M M EkRa[H(M)] H() D() 比較 密鑰 KUa E() 密鑰 KRa H() M EkRa[H(M)] 發(fā)送方 A 接收方 B E D 密鑰 K 密鑰 K 哈希函數(shù)消息鑒別 (e) ? 采用秘密數(shù)值的哈希鑒別 ? 通信雙方共享一個(gè)秘密數(shù)值 s ? 計(jì)算哈希值時(shí), s附加到消息 M上一起計(jì)算得到 H(M|s) ? 傳輸過程中,數(shù)據(jù)不加密,但不傳送 s ? 提供鑒別:只有發(fā)送方和接收方共享秘密 S ? 適用于加密算法不可用的場(chǎng)合 M M H(M|s) H() 比較 哈希 H() M H(M|s) M s s M s s 方法 e的優(yōu)點(diǎn) ? 不含加密處理 ? – 加密軟件很慢 ? – 加密硬件的開銷很大 ? – 加密硬件是對(duì)大長(zhǎng)度數(shù)據(jù)進(jìn)行優(yōu)化的 ? – 加密算法可能受專利保護(hù) ? – 加密算法可能受出口的限制 . 哈希函數(shù)消息鑒別 (f) ? 提供鑒別:只有發(fā)送方和接收方才共享 S ? 提供保密:只有發(fā)送方和接收方才共享 k M M H(M|s) H() 比較 哈希 H() M H(M|s) M s s M s s E K 密文 D K 發(fā)送方 接收方 哈希函數(shù)的安全性需求 ? 哈希函數(shù)的輸入可以是任意長(zhǎng)度消息 ? 哈希函數(shù)的輸出是定長(zhǎng)度的數(shù)值 ? 哈希函數(shù)的計(jì)算要簡(jiǎn)單 ? 單向性 ? 給定哈希值 h,尋找消息 M使得 H(M) = h,計(jì)算上不可行 ? 弱抗沖突性 ? 給定消息 M,尋找消息 M’,使得 H(M’) = H(M),計(jì)算上不可行 ? 強(qiáng)抗沖突性 ? 尋找兩個(gè)消息 M和 N,使得 H(N) = H(M) ,計(jì)算上不可行 ? 幾種安全的哈希函數(shù): ? MD5, SHA1, HMA