Brute-Force-Attack
現代 CPU/GPU 上的 SHA-1 計算需要多少時間?
我正在考慮在現代 CPU/GPU 上進行 SHA-1 計算需要多長時間。以防萬一我們對暴力破解感興趣並考慮生日悖論,那麼我們需要考慮 160 (?) 位的 SHA-1 輸出範圍。
暴力嘗試的次數,直到我們的攻擊成功 50%,需要 $ \left\lceil 1.18\cdot \sqrt{2^{160}} \right\rceil \sim 1.43 \cdot 10^{24} $ 嘗試。比如說英特爾的 i3/5/7,在完成計算和比較之前需要多長時間?
該度量應以每兆字節的時間給出。
SHA-1 在 AMD Ryzen 1700(2994MHz)上以 2.24 cpb 的速度執行一些短消息(即 576 字節),這是一個非常相關的數字,因為您不想散列大消息,但要散列許多消息。
因此,對於完整的消息,您需要少於 1300 個週期。所以現在假設我們有一個優化的架構/更短的消息,並且每次嘗試將其降低到 1000 個週期。
您現在可以自己計算速度。在這種情況下,Ryzen 實現了
$$ 8\cdot 2994\cdot 10^6/10^3\approx 24\cdot 10^6 $$每秒嘗試次數,即 2400 萬次。