Hash
MAC函式的安全性是基於HASH函式嗎
眾所周知,通常,MAC 是帶有密鑰的 HASH。我只是想確保我的理解是正確的,以避免將進一步的假設建立在錯誤的概念上。因此,如果我使用使用強密鑰但弱雜湊的 MAC,例如 MD-5。這是否意味著我的 MAC 不提供安全性並且可以偽造?
眾所周知,通常,MAC 是帶有密鑰的 HASH。
沒有; 有很多非常好的 MAC,如果你知道密鑰,它們根本就不是很好的雜湊值。這方面的例子包括 CMAC 和 GMAC;在這兩種情況下,如果您知道密鑰,就很容易生成 MAC 為特定值的圖像。
但是,讓我們假設您正在專門討論 HMAC(這是一種基於散列函式的特定類型的 MAC)。
因此,如果我使用使用強密鑰但弱雜湊的 MAC,例如 MD5。這是否意味著我的 MAC 不提供安全性並且可以偽造?
取決於MAC有多弱。使用 MD5,我們可以很容易地產生衝突(即散列到相同值的圖像對),但這在攻擊 HMAC-MD5 時沒有用(假設攻擊者不知道密鑰;如果他知道,他可以使用該知識創建兩個 HMAC-MD5 到同一標籤的值)。事實上,沒有已知的針對 HMAC-MD5 的攻擊比“暴力搜尋密鑰”更有效。
但是,請不要將此建議作為使用 HMAC-MD5 的藉口。
另一方面,一個足夠弱的散列(例如 MD4)確實會給你一個弱的 HMAC;所以你的問題的答案是“是的,一個弱雜湊可以給你一個弱 HMAC”;雜湊值必須比我們知道的 MD5 弱…