暴力破解 AES-128 密鑰需要多長時間?
使用目前最先進的技術破解 AES-128 密鑰需要多長時間?硬體可以是任何東西,無論是高性能 CPU、GPU 還是 FPGA?
我過去寫了一個類似的答案,其中假設是已知密鑰的一半。從那時起,比特幣雜湊率幾乎翻了三倍(它用於估計,如下所示)。因此,對一半已知密鑰的估計將是 $ ~3.6 $ 秒。
但是要蠻力一個 $ 128 $ 位關鍵,我們得到這個估計:
假設我們可以測試與比特幣網路目前雜湊率一樣多的密鑰。使用了特殊用途的硬體,它用於 SHA-256,這使得它不能直接使用,但它應該是接近的。這意味著我們可以大約測試 $ 5 \cdot 10^{18} \approx 2^{62.117} $ 每秒加密。關於硬體類型:多年來,比特幣主要使用 ASIC 開採,它比您列出的所有選項都更快、更高效。那是特殊用途的硬體,它不能被程式來做任何其他事情——但它是我們可以為速度做的最好的事情。
這意味著,對於我們需要的完整密鑰 $ \approx 2^{128} / 2^{62.117} = 2^{65.883} $ 秒。這大約是:
- $ 68 \cdot 10^{18} $ 秒
- $ 18.9 \cdot 10^{15} $ 小時
- $ 2.158 \cdot 10^{12} $ 年。寫成整數: $ 2,158,000,000,000 $
由於這個數字仍然有點難以掌握,這是宇宙的年齡: $ 13.799 \cdot 10^9 = 13,799,000,000 $
所以粗略的估計是 $ 156.4 $ 測試所有密鑰的宇宙年齡的倍數。您可以將該數字除以 $ 2 $ 獲得找到正確密鑰的平均時間。
眾所周知,高效 AES 實現以 277Mb/s 的速度執行,使用 13.21mW 的功率。即每秒每瓦特 163,820,000 個塊加密。想像一下,隨著時間的推移,我們可以做得更好 128 倍,比如說在接下來的 100 年(如果有很多錢應該很容易)。
現在想像一下,我們通過用太陽能電池板覆蓋地球(植物生長不需要陸地)來提取 7500TW 的太陽能,而這些電池板下面是我們的 AES 處理器。
憑藉我們“今天”的效率,我們可以處理 $ 2^{80} $ 每秒keys,我們未來的效率就能做到 $ 2^{88} $ 很容易,但這仍然存在 $ 2^{40} $ 完全處理 128 位密鑰所需的秒數,或超過 34000 年。
我們將達到光刻技術的極限,但我假設我們可以在這段時間內將計算性能再提高 128 倍,並且可能將太陽能效率提高一倍,所以假設是 136 年。如果我們真的決定用太陽能電池板覆蓋所有土地來完成這項工作,我們可能會獲得 4 倍以上的電力,並在 40 年內完成……但這將比工藝技術和擴建所需的時間長得多面板,以及讓這一切正常工作的基礎設施,所以我仍然會說至少幾個世紀,可能不到 2000 年。