Modes-of-Operation

可以就地修改 CBC 加密的文件嗎?

  • July 18, 2013

當更改 CBC 加密文件的明文的(小)部分時,需要重寫多少文件?

我的懷疑是,修改塊之後的所有內容都必須被解密和重新加密,因為密文塊的變化會通過文件的其餘部分進行級聯。

如果您可以使用相同的 IV,那麼是的,您需要在修改後的塊之後重寫所有內容。

但你不應該那樣做;每次內容更改時,您都應該生成一個新的 IV,這將需要重寫整個文件。否則,攻擊者可以了解更多關於文件如何更改的資訊(精確地通過檢查文件的哪些塊已更改)。

正如@Conrado 所說,不應該這樣做,因為它會洩露一些資訊,攻擊者可以使用這些資訊進行一些統計分析。根據理論,這是密碼系統必須具備的擴散特性:明文中的一位翻轉必須盡可能多地改變密文中的位。作為 AES 的分組密碼的線性部分實現了這一點。

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