Hmac

使用同一個 HMAC 密鑰可以安全地生成多少個程式碼?

  • March 1, 2020

給定足夠多的相同密鑰程式碼,攻擊者能否猜出密鑰?如果是這樣,使用同一個密鑰多少次是安全的?

我認為 NIST 等標準化機構沒有任何官方限制。但是,似乎確實有一些論文,例如針對基於雜湊的 MAC 的新通用攻擊

他們表明,在生日綁定之後,​​HMAC 的安全性可能比以前想像的要低。通常,如果您的雜湊輸出大小為 SHA-256 的 256 位,那麼您可能不得不開始擔心之後 $ 2^{128} $ 消息。這當然不是您應該擔心的限制。

即使對於 SHA-1,您也可能會沒事。但是,您可能希望停止使用 (MD5 的界限令人擔憂 $ 2^{64} $ ) 和 SHA-1 現在是出於其他原因,而不僅僅是輸出大小;對這些雜湊函式的攻擊太多了,攻擊只會變得更好。

只需使用現代散列函式 - SHA-2 或 SHA-3 - 作為 HMAC 的基礎,就可以了。對於 SHA-3,您可能還想看看 KMAC,儘管對特定 MAC 的支持很少。

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