mac[訊息認證碼(帶密鑰的hash函式)]

訊息認證碼(帶密鑰的Hash函式):密碼學中,通信實體雙方使用的一種驗證機制,保證訊息數據完整性的一種工具。構造方法由M.Bellare提出,安全性依賴於Hash函式,故也稱帶密鑰的Hash函式。訊息認證碼是基於密鑰和訊息摘要所獲得的一個值,可用於數據源發認證和完整性校驗。

MAC

mac[訊息認證碼(帶密鑰的hash函式)] mac[訊息認證碼(帶密鑰的hash函式)]

訊息認證碼(帶密鑰的Hash函式):密碼學中,通信實體雙方使用的一種驗證機制,保證訊息數據完整性的一種工具。構造方法由M.Bellare提出,安全性依賴於Hash函式,故也稱帶密鑰的Hash函式。訊息認證碼是基於密鑰和訊息摘要所獲得的一個值,可用於數據源發認證和完整性校驗。

在傳送數據之前,傳送方首先使用通信雙方協商好的散列函式計算其摘要值。在雙方共享的會話密鑰作用下,由摘要值獲得訊息驗證碼。之後,它和數據一起被傳送。接收方收到報文後,首先利用會話密鑰還原摘要值,同時利用散列函式在本地計算所收到數據的摘要值,並將這兩個數據進行比對。若兩者相等,則報文通過認證。

MAC計算方式

訊息驗證碼有兩種計算方式 :

一種是利用已有的加密算法,如DES等直接對摘要值進行加密處理;另一種是使用專門的MAC算法。HMAC,它基於MD5或者SHA-1,在計算散列值時將密鑰和數據同時作為輸入,並採用了二次散列疊代的方式,實際計算方法如下:

HMAC(K,M)=H(K⊕opad∣H(K⊕ipad∣M))

其中K是密鑰,長度應為64位元組,若小於該長度,則自動在密鑰後面用“0”填充補足。M是訊息;H是散列函式;opad和Ipad分別是由若干個0x5c和0x36組成的字元串;⊕表示異或運算,∣表示連線操作。

相關詞條

熱門詞條