Aes

對不切實際的 Rijndael (AES?) 實施的實際攻擊

  • January 15, 2016

我對 AES 密碼分析的理解是基於我在 Wikipedia 上閱讀的內容和我的直覺,我對這個主題只有自學的教育。

所以我想讓你想像一下:我只有兩個 128 位密文塊。

輸入是 256 位,我們沒有使用任何填充,在實現我們的“Rijndael 展示”時,我們也忽略了 IV 和 Salts。最後也是最重要的是,這兩個密文塊僅相差一位(在任意空間中),但是:當出現兩個 128 位塊(以及一個 128 位密鑰,兩者都相同)時,我們可以在兩種情況下:

條件一:我們不知道這兩個區塊的弱點和相似的明文,我剛才提到了,我們怎麼容易發現呢?

條件二:我們知道我剛才提到的所有內容,除了翻轉哪個位以及兩個純文字和密鑰是什麼(讓我們保持簡單並製作密鑰,只有 128 位)。我們能在這裡發現很多嗎?我們該怎麼做?

我在標題中說,這是關於“實際攻擊”,我不知道即使在所有這些條件都滿足的情況下,我們還能做很多事情,但是由於我們使用了 Rijndael,所以我認為這是非常錯誤的我們正在努力推斷出一些資訊……“攻擊者”在這兩個區塊中的哪一個中,兩者都沒有,或者沒有,他們沒有被告知?

您所描述的是對 AES 的純密文攻擊。

不,沒有(已知的)對 AES 的純密文攻擊。

條件一:我們不知道這兩個區塊的弱點和相似的明文,我剛才提到了,我們怎麼容易發現呢?

由於缺少傳輸的 IV,攻擊者可以了解這兩個消息是否相等以及是否使用了 IV。如果不實際暴力破解密鑰,他就無法了解有關純文字關係的任何其他資訊。

條件二:我們知道我剛才提到的所有內容,除了翻轉哪個位以及兩個純文字和密鑰是什麼(讓我們保持簡單並製作密鑰,只有 128 位)。我們能在這裡發現很多嗎?我們該怎麼做?

如果不暴力破解密鑰,您將無法了解您不知道的純文字的任何內容。

因為我們使用了 Rijndael,所以非常錯誤

我們確實有,是的,但是更高級的防禦措施(即使用經過身份驗證的加密和 IV)主要保護您免受更高級的攻擊場景,攻擊者實際上可以在挑戰密鑰下解密和加密任意數據以區分未知的純文字。

但是,當您使用 ECB 模式時,您給出的方案甚至是安全的,您正在這樣做。只要所有純文字(在給定密鑰下)不同,ECB 模式就是安全的,您的消息不同,因此它們是安全的。通過觀察 ECB 加密數據,您唯一可以判斷的是一個塊是否等於另一個塊。

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