Brute-Force-Attack

SHA256 HMAC 暴力破解選擇明文攻擊

  • February 15, 2019

這是對是否有可能重建加密雜湊的密鑰的後續行動

我在單字輸入上使用 SHA-256 HMAC 函式: sha256hmac(privatekey,word) = output。私鑰長度為 128 位,不會改變。“詞”字面意思是一個簡短的詞。

假設攻擊者知道多個單詞的“單詞”和“輸出”(例如,dog = “dsfwrw3r3r323211”, cat = “3erwerwetwewer”):

  • 與沒有這些對的情況相比,攻擊者使用上述單詞/輸出對通過暴力破解辨識私鑰是否容易得多?
  • 這種蠻力漏洞(具有單詞/輸出對知識)是否是實際的安全問題?

我假設“sha256hmac”使用SHA-256作為底層雜湊函式指定HMAC 。

HMAC 用於其預期用途:第一個參數privatekey是一個密鑰,我假設是隨機且秘密的,長度公平(128 位);第二個參數word是(可能是公開的)消息;輸出是(可能是公開的)密碼。觀察任意數量的(單詞輸出)對,即使是對手選擇的單詞,也無法恢復私鑰或以其他方式計算新結果

很難判斷擁有 ( word , output ) 對是否會使任務變得更加容易:它從根本沒有對的不可能,到使用任何可預見的技術對一些對不可行(除非我們認為量子電腦實際上適用於密碼學是可預見的,這需要一定的樂觀態度)。

有了一個128 位的 私鑰,我認為我們可以很好地對抗 20 年來的蠻力,並且有相當的信心。如果有數十億個私鑰,並且攻擊者可以為每個私鑰獲得相同單詞的**輸出,那麼使用 128 位密鑰大小我們將不會那麼安全(攻擊者有一個遠端可行的任務來找到一個私鑰),並且我們需要更多位:192 很好,256 很多。

最實際的危險是通過組織方式洩露私鑰側通道攻擊


HMAC 的現代安全論據是 Mihir Bellare 的NMAC 和 HMAC 新證明:沒有碰撞抵抗的安全性(完整版),最初在Crypto 2006 的會議記錄中

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