Aes

AES-ECB 已知密文/明文攻擊

  • September 18, 2017

我是加密新手,正在做一個小練習來了解 ECB 模式加密的弱點。這是場景。

我有純文字

I am not tall

以及使用 AES-ECB 的未知密鑰生成的相關密文。

有什麼辦法,除了蠻力,我可以改變生成字元串的密文

I am yes tall

使用我可用的資訊?

了解 AES-ECB 密文I am not tall並不能幫助您找到I am yes tall. (嗯,確實如此,但它只排除了一種可能性 $ 2^{128} $ — 它不可能是相同的密文。) 歐洲央行有幾個弱點,但不是這個。事實上,如果你只想加密單個 16 字節的消息,ECB 就可以了。除了不了解的人之外,幾乎從不使用 ECB 的原因是,使用強制大小加密單個消息並不常見。

如果消息長於 1 個塊(AES 為 16 個字節,與密鑰大小無關),則 ECB 將開始顯示其弱點。例如,加密的I am not tall...I am not tall...是 32 個字節,其中前 16 個字節與後 16 個字節相同,因為該塊I am not tall...被加密了兩次。安全模式會改變明文的加密方式。例如,CTR使用區塊編號,而其他模式(例如CBCOFB)使用某種形式的從一個區塊到下一個區塊的“回饋”。

同樣,如果您使用相同的密鑰加密多條消息,ECB 將顯示兩條消息共有的塊。例如 和 的加密都Hello everyone, I am not tallHello everyone, I am yes tall相同的密文塊開頭,即Hello everyone, . 安全模式使用初始化向量使每個生成的密文依賴於獨特的東西:使用相同的密鑰但使用不同的 IV 加密相同的消息會產生不同的結果。(CTR 的計數器不完全是 IV,但起到類似的作用。)

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