Hmac
當您對密鑰有所了解時,為任意消息偽造有效標籤
我正在使用帶有 128 位密鑰的 HMAC-SHA256。假設我的密鑰生成器向對手洩露了一些資訊。因此,對手可以用機率預測密鑰 $ \alpha $ . 我可以說對手可以偽造一個有效的(消息,標籤)對嗎? $ \alpha $ ?
$$ Suppose $$對手可以用機率預測密鑰 $ \alpha $ . 我可以說對手可以偽造一個有效的(消息,標籤)對嗎? $ \alpha $ ?
不完全是 $ \alpha $ . 用鍊式法則寫出來:
$$ \begin{align*} \Pr[\text{forgery}] &= \Pr[\text{forgery} \mathbin& \text{guessed key}]
- \Pr[\text{forgery} \mathbin& \text{didn’t guess key}] \ &= \Pr[\text{forgery} \mid \text{guessed key}] \Pr[\text{guessed key}] \ &\qquad + \Pr[\text{forgery} \mid \text{didn’t guess key}] \Pr[\text{didn’t guess key}]. \end{align*} $$
在你的前提下, $ \Pr[\text{guessed key}] = \alpha $ , 所以 $ \Pr[\text{didn’t guess key}] = 1 - \alpha $ .
練習:弄清楚什麼 $ \Pr[\text{forgery} \mid \text{guessed key}] $ 和 $ \Pr[\text{forgery} \mid \text{didn’t guess key}] $ 是。提示:將 HMAC-SHA256 建模為均勻隨機函式。任意兩個規定輸入的機率是多少 $ m \ne m’ $ 在均勻隨機函式下碰撞?(然後在末尾添加一個術語,以表明對手對 HMAC-SHA256 的顯著優勢。)