Hmac

在沒有消息的情況下關聯 HMAC 密鑰和 MAC

  • October 4, 2018

如果我有一個 HMAC_SHA1 MAC 和一個潛在的密鑰,我是否可以在不知道任何消息正文明文的情況下檢查此密鑰是否可以生成此簽名?

如果我有一個 HMAC_SHA1 簽名和一個潛在的密鑰,我是否可以在不知道任何消息正文明文的情況下檢查此密鑰是否可以生成此簽名?

不,沒有已知的有效方法。

現在,如果您查看 HMAC 在內部是如何工作的,那麼(很有可能)會有一些值不能由特定鍵產生;也就是說,任何消息都無法實現的值 $ M $ . 發生這種情況是因為內部 SHA-1 雜湊總結了消息 $ M $ 轉換為 160 位值(在與鍵相關的操作中);然後它執行另一個鍵相關操作 t(外部雜湊)將其轉換為另一個 160 位值。這種變換不太可能是可逆的,因此可能有 160 位輸出是不可能發生的。

然而,即使這些不可能的值幾乎肯定存在,我們也無法找到這些值可能是什麼,或者是否有任何特定的輸出是其中之一。

另外,一個小的術語說明:

如果我有 HMAC_SHA1簽名……

在加密中,我們傾向於使用術語“簽名”來指代公鑰簽名操作(HMAC 不是)。相反,我們可以將其稱為 HMAC_SHA1 MAC(消息驗證碼)

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