Collision-Resistance

HMAC SHA256 - 固定與動態密鑰 - 安全和衝突影響

  • August 22, 2020

假設我們應該對由遞增數字(例如 1 到 10 億)組成的不同消息應用 hmac sha256。為每條消息應用不同的固定密鑰在安全性方面是否有意義?

消息 1 鍵 X1

消息 2 鍵 X2

消息 n 鍵 Xn

為每條消息應用密鑰會影響衝突率嗎?如果是,它會增加還是減少碰撞的可能性?

目的是從作為源域的順序值開始生成唯一的確定性令牌。

不,在 HMAC 呼叫之間更改密鑰沒有用。

這不會改變預期的碰撞機率,該機率仍然約為 $ n(n-1)/2^{257} $ 為了 $ n $ HMAC-SHA-256 模型下的值作為 PRF。為了 $ n=2^{40} $ (超過一百萬,英國十億),少於 $ 2^{-177} $ , 177 次連續反面出現公平硬幣的機率,在實踐中可以忽略不計。

通過使用分組密碼對計數器進行加密,可以將該機率降至零。

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