Aes

如何保護 AES 免受選擇明文攻擊?

  • January 20, 2017

我有一台使用相同 AES 密鑰加密文件的伺服器。使用者可以上傳文件並下載其加密版本。使用者可以上傳任意數量的文件。使用者可以在 D 日期之後通過伺服器解密文件。一個使用者可能會看到另一個使用者的加密文件,但如果他能在 D 日期之前解密它,那將是一場災難!

我在其他堆棧溢出文章中讀到,使用相同的初始化向量可以使選擇明文攻擊變得容易。所以我想為每個上傳的文件生成一個不同的初始化向量。將此IV添加到加密文件中是否是一種標準的安全方式?

我的第一個想法是我使用不同的 AES 密鑰對其進行加密,然後將其簡單地連接到加密的字節數組。但我寧願使用更標準的解決方案來解決這個問題。

TL;DR:AES 可以安全地抵禦純文字攻擊。

如果 :

  • 不重複使用您的 IV
  • 你的靜脈注射是隨機的
  • 您使用正確的操作模式(不是 ECB …)

那麼您就可以安全地抵禦此類攻擊(您至少需要滿足這 3 個條件)。

附帶說明一下,IV 可以公開,這不是問題。

值得閱讀:

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