Cbc

使用解密實現 CBC 加密

  • April 27, 2016

我已經實現了這個算法,它從消息的末尾向後工作,使用塊密碼的解密操作而不是加密操作,從任何明文創建一個有效的 CBC 密文。

加拿大廣播公司

我敢打賭,這在文獻中有所描述。可能是個壞主意。

我的問題:

  1. 這個方法/算法/構造叫什麼?
  2. 它是否像 CBC 以正常方式實施的那樣安全?
  3. CBC IV 的正正常則是否適用於最後一個密文塊?

對於那些想知道我為什麼要從最後加密我的消息的人來說,這是一個利用填充 oracle 攻擊的練習(針對我自己在我自己的伺服器上執行的虛擬程式碼)。

這個方法/算法/構造叫什麼?

不知道; 這是我的一個新的。

它是否像 CBC 以正常方式實施的那樣安全?

應該。建模為抽象的“獲取明文,輸出密文”模型,此方法(具有隨機的最後一個密文位)具有與 CBC 模式(具有隨機 IV)完全相同的密文輸出分佈,因此從這個角度來看,它一樣好. 而且,我沒有看到任何額外的側通道類型攻擊(即監聽加密過程的攻擊)。

CBC IV 的正正常則是否適用於最後一個密文塊?

實際上,適用的限制較少。使用標準的 CBC 模式實現,您需要生成不可預測的 IV(如果您不這樣做,則可能存在選擇的明文攻擊)。有了這個,您只需要隨機最後一個密文位中的唯一性(並且請不要故意複製以前的密文塊)。這可以通過將分組密碼視為隨機 Oracle 來看出;只要之前沒有看到最後一個密文塊,那麼攻擊者將沒有關於該塊的“加密”結果的資訊(除了這是他之前沒有見過的值);只要您在生日限制之下,您就不必意外地重新發布密文塊。因此,雖然使用計數器在標準 CBC 模式下生成 IV 是一個非常糟糕的主意,但在這裡它實際上是安全的。

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