Hmac

具有秘密雜湊常量的 HMAC

  • January 26, 2017

HMAC 取決於所使用的消息、密鑰和雜湊函式,例如 SHA-256、SHA-512 等。

考慮 MAC 的計算是否使用了不同的初始散列值集或輪常量的初始數組。代替“前 8 個素數 2..19 的平方根的小數部分的前 32 位”,使用前 8 個素數 8675309 或類似的隨機非平凡位組。

看起來這些值並不特殊,除了它們應該沒有什麼相關性。與討論的不同集合不同,通常指定的值都經過了很好的測試。

一篇類似的文章解決了一些影響,但我想更進一步。

假設這些不同的初始雜湊值(IV) 和初始輪常數數組是保密的,否則 MAC 將照常計算。

在這種情況下,暴露 HMAC的秘密加密密鑰會對身份驗證產生什麼負面影響?

鑰匙還需要嗎?

HMAC在某種意義上是基於稱為 NMAC 的 mac,其中密鑰實際上用作雜湊 iv。非正式地,選擇隨機 iv 或通過將壓縮函式應用於隨機事物來計算 iv 或多或少是等效的,因此它們應該同樣安全。

換句話說,使用帶有“公共”密鑰和隨機 iv-s 的 HMAC 與使用 NMAC 大致相同,這是一種安全結構。(甚至可以對兩個雜湊應用程序使用相同的 iv…)

更改壓縮函式的某些內部結構,例如壓縮函式狀態的初始值,也應該以大致相同的方式工作。當然,我對雜湊函式分析的了解還不夠,無法肯定地說。

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