Aes

計數器模式與AESķ(米)AESķ⁡(米)operatorname{AES}_k(m)對比AES米(k)AES米⁡(ķ)operatorname{AES}_m(k)

  • July 11, 2018

理論上,對於理想密碼 $ E_k: {0,1}^{128} \to {0,1}^{128} $ ,可以互換使用密鑰和輸入是完全可以的,但顯然 AES 並不完美。對於 AES128,密鑰大小和塊大小是相同的。使用密鑰代替輸入塊會產生什麼安全隱患,反之亦然?我知道這將是非常低效的,因為需要為每個塊重新計算密鑰時間表,但它會使密碼分析更容易嗎?

通過將密碼置於修改後的計數器模式,可以進行加密和解密。在哪裡 $ n $ 是隨機數, $ i $ 是塊的計數器/位置, $ C $ 是密文,並且 $ P $ 是明文:

$$ \begin{align*} C_i &= E_{n \mathbin| i}(k) \oplus P_i\ P_i &= E_{n \mathbin| i}(k) \oplus C_i \end{align*} $$ 實際計數器模式為:

$$ \begin{align*} C_i &= E_k(n \mathbin| i) \oplus P_i\ P_i &= E_k(n \mathbin| i) \oplus C_i \end{align*} $$ 這純粹是一個假設性的問題,我無意做如此愚蠢的事情。

我知道這將是非常低效的,因為需要為每個塊重新計算密鑰時間表,但它會使密碼分析更容易嗎?

這將使密碼分析變得微不足道。

如果攻擊者知道

$$ P_i \oplus C_i = E_{n \mathbin| i}(k) $$ 他知道 $ n, i, C_i $ 並且有一個猜測 $ P_i $ ,他可以恢復 $ k $ ,並用它來解密其他所有內容。

這是有效的,因為使用 AES, $ E_k $ 有逆 $ E^{-1}_k $ 假設你知道,這是可以有效計算的 $ k $ . 沒有對應於消息塊的相應“反向”,因此從安全形度來看,AES 的“消息塊”和“密鑰”輸入是不可互換的。

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