Encryption

這對暴力攻擊有多安全?

  • October 15, 2016

我正在研究像這樣加密文件:首先,我對密碼進行 SHA-1 雜湊處理。假設密碼是“hello123”之類的普通密碼,然後進行雜湊處理。然後我使用這個加密一個文件:

openssl aes-256-cbc -a -salt -in file -out file.enc

(使用雜湊作為密碼)。

所以它基本上只是一個帶有鹽的 AES-256-CBC 加密。

用蠻力破解它有多容易?(假設攻擊者知道我們有帶鹽的 aes-256-cbc 並且原始密碼是散列的。)例如,這些天在“普通”硬體上需要多長時間?

我不知道您如何調整 SHA-1 的摘要以滿足 AES-256 的密鑰要求(將 160 位摘要拉伸為 256 位密鑰),但如果您有辦法做到這一點而不認真妥協關鍵熵,那麼你有一個理論上的關鍵空間 $ 2^{256} $ . 但是,該視窗受到加密密碼片語的限制。在解密的理想情況下,破解您的密碼的人擁有您的程序並且知道您的密碼限制,他們不必測試所有 $ 2^{256} $ ,只有你的可能性。

假設您將密碼片語限制為 $ 10 $ 鍵,字母數字。那是 $ 62 $ 可以使用的字元。適合您的實用密鑰空間是 $ 62^{10} $ .

可以說,即使在上述最壞的情況下,目前也無法解密。這主要是由於另一個因素:驗證成功。說你只有 $ 200 $ 可能性。試圖解密文件的人需要一種方法來檢查每個文件是否 $ 200 $ 嘗試的鍵產生了準確的結果。鑑於他們可能不知道文件的性質,這會使過程嚴重複雜化。

你有一陣子好了。

這實際上只是在“普通”硬體上執行兩種算法所需時間的總和。如果您可以在機器上每秒測試 100,000 次 SHA-1 迭代和每秒 50,000 次 AES256 解密,那麼 0.00001 + .00002 = .00003 或每秒 33,333 次測試。

但是有很多你沒有回答。你願意搜尋多少鍵空間?如果密碼是 1 個字母字元,您的答案幾乎是即時的。如果密碼是 100 字節長,那麼在你找回密碼之前,宇宙的灰燼就已經冷卻了。

您的範例具有 8 個字元的密碼。如果我知道我必須測試所有 8 個字元的字母數字密碼,那就是 62^8 次測試,或者只有 218 萬億次嘗試。如果一台台式機每秒可以測試 1000 萬個密碼,那麼它將在大約 2100 萬秒(252 天)內搜尋完該空間。

但攻擊的是誰?他們的動機是什麼?如果是國家安全組織,他們對普通密碼破解者的看法與你的不同。想要從股票經紀人或銀行竊取數百萬美元的犯罪組織肯定會投資 100,000 美元來更快地破解它。他們可能會將這樣的任務交給一個麻煩的人,他們可能會分配 1,000 台網際網路殭屍機器來完成這項任務,在一兩天內破解它。

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