Encryption

使用具有固定 IV 和隨機第一個明文塊的 CBC

  • May 10, 2017

如果我不是以正常方式使用隨機 IV 的 CBC 模式,而是使用以下方法,該怎麼辦:

  1. 使用固定的 IV(如 0 塊)。
  2. 在加密之前,生成一個隨機塊並將其添加到明文中。
  3. 解密後,忽略第一個塊。

這在安全性方面與使用隨機 IV 完全相同嗎?

另外,如果我在步驟 2 中使用消息計數器而不是隨機塊,會有什麼不同嗎?

該方法的安全性與普通 CBC 的安全性相同。

您的方案與第一個明文塊 $ IV^\prime $ 與正常 CBC 明顯相同 $ IV=AES(IV^\prime) $ . 由於塊密碼是對塊的排列,因此對於普通 CBC,均勻隨機的第一個明文塊將導致均勻隨機的 IV。

使用您的方案生成的密文與普通 CBC 具有相同的性質。即你可以用你的算法解密一個普通的CBC密文,你可以用普通的CBC解密你的算法產生的密文。

您的方案的唯一缺點是每條消息需要額外呼叫一次 AES。密文大小沒有差異,並且除了單個呼叫之外沒有 CPU 成本。

一個有趣的問題是,獨特但不可預測的 IV 會發生什麼。我懷疑你的計劃在這種情況下是安全的,不像普通的 CBC。但我沒有證據證明這一點。

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