Brute-Force-Attack
給定從212821282^{128}關鍵空間,恢復原值有多難?
更具體地說,假設擁有狀態參與者資源的人可以合理地計算出所有 sha-512 雜湊值的彩虹表是合理的嗎? $ 2^{128} $ 關鍵空間?
假設 sha-512 沒有任何已知漏洞,我是否正確假設在這種情況下最有效的攻擊是計算彩虹表?
正如 SEJPM 指出的那樣,答案是“不,工作努力是 $ 2^{128} $ SHA-512 計算將是不可行的,即使是由三個字母的機構”。
然而,另一個問題是“建構彩虹表會是最有效的攻擊嗎?” 答案是“視情況而定”。
如果攻擊者只對一個 SHA-512 散列感興趣,並且沒有預期會需要攻擊另一個散列(或者,至少,一個具有相同鹽的散列;例如,與 128 個未知位一起包含的已知位那些),然後建構一個彩虹表是浪費精力。與簡單的蠻力(只是嘗試所有可能的 128 位值,並對它們進行散列)相比,它需要一個常數因子更多的工作,並且有失敗的機率(如果沒有一個鏈碰巧達到目標值,彩虹表查找將失敗)。
另一方面,如果攻擊者期望擁有一系列 SHA-512 雜湊,所有 128 位密鑰(以及雜湊的所有其他部分都具有相同的已知值),那麼建構彩虹表就很有意義; 是的,建構它需要很長時間(在這種情況下是不可行的),但是一旦你完成它,在其中查找內容根本不需要那麼長時間。