Aes

您可以使用 256 位密鑰加密 256 位密碼,使其無法被暴力破解嗎?

  • February 18, 2019

假設我們有一個任意但可被字典攻擊的密碼,小於 256 位。(假設密碼是“1234Password”)。

我們使用 AES 使用安全隨機的 256 位密鑰加密此密碼。

所以我們有encrypted_password = aes(password, key).

密鑰僅用於儲存此密碼,不用於其他任何地方。

假設某人擁有 encrypted_pa​​ssword 和無限的處理能力,他們是否能夠暴力破解密碼?當然,他們可以遍歷所有可能的密鑰,其中一個會輸出 1234Password,但是是否會有大量其他人類可讀的密碼,因此攻擊者不會有有用的輸出?或者此設置是否會受到限制,因此對查找密碼沒有影響。

為了清楚起見,讓我重新措辭。

  1. 我們生活在一個處理能力無限且暴力破解所有可能性的宇宙中。
  2. 我們有一個密碼 p,小於 256 位,不是隨機的。(非常有限的熵)
  3. 它是用 256 位的隨機密鑰 k 加密的。此密鑰對於此案例是唯一的,不會加密其他任何內容。
  4. 加密密碼 ep = aes(p, k)。
  5. 如果攻擊者獲得了 ep,他們能否確定 p 是什麼?或者不同的密鑰會產生太多的結果,這些結果也是非常有限的熵,因此也可能是密碼。

您所描述的是one-time-pad。如果密碼是使用 256 位密鑰加密的,並且攻擊者獲得了生成的密文,那麼他將生成所有 $ 2^{256} $ 可能的明文(包括正確的明文),但無法區分哪個是正確的。

然而,實際上沒有人使用 OTP,因為密鑰必須是真正隨機的並且與消息本身一樣長。AES 不是完全安全但足夠安全。如果您的攻擊者能夠暴力破解所有 $ 2^{256} $ 可能性然後他將能夠自信地聲稱您的明文是什麼。

幸運的是,對於防御者來說,強制使用 256 位密鑰不切實際的。


–edit–

為了說明為什麼攻擊者可以自信地聲稱原始明文是所有可能的明文,最容易通過一個例子來說明。

如果您有給定加擾的替換密碼。

abcdefghijklmnopqrstuvwxyz  
xyzabcdefghijklmnopqrstuvw  

然後你加密一條消息說’立即逃跑。我們被發現'

flee at once. we are discovered  
cibb xq lkzb. tb xob afpzlsboba  

xob可能是areatesuecarsubcat等……但是如果我們使用頻率分析,我們可以看到字母b出現的次數最多,所以這可能是明文中的和e排除了car ,,xob的明文更可能是atearesue但我們不確定是哪一個。如果您繼續進行頻率分析,您將排除越來越多的純文字可能性,直到只剩下幾個或只剩下 1 個。

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