Brute-Force-Attack

是否可以暴力破解使用 PBKDF2 生成的 200 位雜湊,其中前 160 位是已知的?

  • August 20, 2022

由於某些密碼管理器(例如KeyPassXC)允許使用者使用來自 YubiKey 的 HMAC 響應與使用者輸入的密碼連接來創建主密碼,我想知道一些事情。

假如說:

*主密碼使用 PBKDF2-HMACSHA-256 生成

*150,000 次迭代

*HMAC 響應有 160 位熵

*使用者提供的響應有 40 位熵

如果攻擊者獲得了 YubiKey 並且現在知道主密碼的前 160 位,他們是否可以使用暴力破解剩餘的 40 位?如果是的話,是否需要隨機連接這兩個秘密才能解決這個問題?

另一個答案提到 $ n! $ 這很奇怪。答案與階乘無關。

您可以蠻力 40 位 $ 2^{40} $ 嘗試。和 $ 2^{40} $ 在今天是可行的,不需要成為政府機構。

例如,https://crack.sh/(可能有點過時)聲明使用 FPGA,他們可以暴力破解 DES 密鑰,這需要 $ 2^{56} $ 在最壞的情況下嘗試 9.2 天。除以 $ 2^{16}\approx 65,000 $ 你得到 $ 9.2 \times 24 \times 60 / 65,000 \approx 0.2 $ 分鐘。

他們說他們的系統相當於 1800 個 GPU,所以如果你有 10 個 GPU,你可以暴力破解這個雜湊值 $ 180 \times 0.2 = 36 $ 分鐘。

我假設您在詢問是否消除前 160 位並留下 40 位會創建可行的蠻力攻擊。我們還假設我們只做暴力破解,沒有利用算法中的任何漏洞。大 O 是階乘時間,其中 $ \mathcal{O}(n!) $ , 和 $ \mathcal{n} $ 是需要強制通過的位數。

複雜度從 2^200(假設熵的 160 位和 40 位相結合)變為 2^40。這小於大約 2^56 的 DES 密鑰大小。假設我沒有誤解這個問題,這對於大型公司或政府機構(如 EFF 或 FBI)來說是可行的,因為這兩個機構已經用 DES 證明了這一點。

如果我有任何錯誤,請隨時糾正我或提出問題。

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