Hash

在給定雜湊和明文的情況下獲取用於 HMAC 的密鑰?

  • November 3, 2017

我正在做一個小練習來了解糟糕的庫選擇的缺點,並且我已經看到了以下場景。

正在使用python中的HMAC函式(md5)。我知道被散列的消息以及該消息的結果 HMAC。正在使用的密鑰由 random.getrandbits(128) 生成。

我唯一能想到的是將 random.getrandbits(128) 放在某種 while 循環中並為消息生成 HMAC,直到找到與給定 HMAC 匹配的內容。

有什麼方法可以提取知道消息的 hmac 函式使用的密鑰、用於生成密鑰的函式和消息摘要,而不涉及暴力?

有什麼方法可以提取知道消息的 hmac 函式使用的密鑰、用於生成密鑰的函式和消息摘要,而不涉及暴力?

沒有一個是已知的;即使您選擇了一大堆消息以及它們相應的 HMAC-MD5,這仍然是正確的。

MD5的防撞性完全徹底破壞;我們可以很容易地找到具有相同 MD5 雜湊值的消息對,並且我們在選擇這些消息的大部分內容時具有驚人的靈活性。

但是,HMAC 並不依賴於其雜湊函式的抗碰撞性;據我們所知,HMAC-MD5 仍然是安全的。現在,我們不建議人們使用它,但這更多的是我們試圖讓人們遠離任何使用 MD5 的東西,而不是任何特定的已知弱點。

引用自:https://crypto.stackexchange.com/questions/52803