Known-Plaintext-Attack

可以為大量嬰兒床生成 AES-256 密鑰嗎?

  • February 1, 2016

我有一個關於勒索軟體類型病毒的問題。我知道其中許多病毒使用 AES-256 算法使用隨機生成的密鑰加密使用者的文件。我在 IT 支持部門工作,前一周我有一個客戶以這種方式失去了大量重要文件,但令我震驚的一件事是我們能夠通過 DropBox 恢復大量文件——大約 500 個文件(~ 2gb 的數據),並且由於病毒只更改了副檔名,因此很清楚哪個未加密文件對應於哪個加密文件。

我想知道的是;使用像這樣的大型數據集,其中既有加密數據又有未加密數據,是否可以在合理的時間內計算 AES-256 算法的加密密鑰?我不知道這些算法是如何工作的,但大概你會有這麼多的數據可供比較,它至少應該使任務變得相當容易,如果不是嗎?

我不打算擺脫勒索軟體的世界,但它只是讓我感興趣!

乾杯,

奧利

**只是這個網站**上最基本的研究會告訴你,答案是否定的。

從所有已知的 AES 密碼分析中,答案就是沒有有用的純文字攻擊。(這基本上就是你的“嬰兒床”。

在您的客戶端場景中,不可能破壞 AES-256。即使實施很糟糕,也無法完全恢復密鑰,除非密鑰儲存方式很弱。在電腦本身上找到 AES 密鑰(使用更易受攻擊的技術進行加密)是您下地獄的唯一機會。

這是尼克回答中最有用的文章,所以在這裡複製:

由於沒有人真正回答這個問題:

如果您始終為每條消息使用不同的隨機初始化向量 (IV),則 AES 僅能抵抗已知文本攻擊。

為了簡化一點,AES 將密鑰與 IV 結合起來產生密碼,並且密碼在基於前一個塊的消息長度中以塊為單位旋轉。只要 IV 對消息是唯一的(它不必是秘密的),那麼不僅無法恢復密鑰,而且在消息中的某處匹配明文-密文的知識也不會提供有關消息中其他任何地方的任何資訊資訊。

另一方面,如果在消息之間重用密鑰和 IV,那麼相同的明文將導致相同的密文,因此您可以使用足夠大的已知匹配明文/密文對的語料庫來解密消息,即使沒有恢復密鑰.

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