Cbc
使用相同的密鑰和不同的 IV 加密(CBC)相同的文件,它是否不太安全?
我想了解更多關於密碼學的知識。
假設您使用相同的密鑰使用CBC 加密來加密多個文件,但每個文件都有一個唯一的(和偽隨機的)IV。這會削弱數據的安全性嗎?如果您有許多使用不同 IV 編碼的相同數據的實例,是否更容易獲得密鑰?假設攻擊者知道所有文件相同或至少部分(前半部分)相同。
感謝您的時間。
你不必擔心。CBC 模式或 AES 沒有已知的弱點,這意味著加密相同的文件(具有不同的初始化向量)可以更容易地檢索密鑰或解密數據。
CBC 的不同初始化向量確保即使是同一個文件也會導致對分組密碼的不同輸入,從而導致不同的輸出,因此攻擊者甚至不知道這兩個密文是同一個文件(除了文件尺寸)。
要破解 AES,現在最好的方法是嘗試不同的密鑰,並用每個密鑰加密或解密一個塊,並將輸出與擷取的密文或已知(或“猜測”)明文(我們將 IV 或前一個塊放入帳戶),直到一個匹配。(對於大於 128 位的密鑰,我們可能需要檢查第二個塊。)如果我們對明文一無所知(這非常罕見,但在加密密鑰時可能會發生),這不起作用 -在這裡我們的“兩次相同的文件”可以提供幫助:
- 解密兩個文件的同一塊
- XOR 每個與前一個塊(或第一個塊的情況下的 IV)
- 比較。
但是,這需要大約兩倍於普通已知明文攻擊的工作,如果密鑰空間沒有以某種方式減少,即如果密鑰是從密碼生成的,那麼它已經沒有任何實際的破解能力。
請注意,CBC 中有一個“弱點”,即用每個密鑰加密的塊總數應限制在大約 $ 2^{n/2} $ , 在哪裡 $ n $ 是以位為單位的塊大小,以使重複輸出的機率(因此下一個塊的重複 XOR 遮罩)可以忽略不計。不過,這實際上並不依賴於加密相同或不同的文件,對於 128 位塊,這個數字相當高( $ 2^{68} $ 字節,大約 200 艾字節,是世界總數字內容的一半(2009 年)。