Block-Cipher

ICBC 從單個區塊 IV 生成更長的 IV

  • February 13, 2020

我在這裡讀了一個關於 ICBC 的問題,它提到你需要一個 $ s \cdot n $ -少量 $ IV $ 如果你會使用 $ s $ “條紋”,其中 $ n $ 是塊大小。

假設我們不喜歡傳輸這麼多的數據,那麼使用下一代的數據是否安全? $ IV’ $ 對於 ICBC,所以我們可以使用 $ n $ -少量 $ IV $ 再次?

$$ IV’ = \operatorname{CBC}_k(0^n, IV | 0^{(s - 1) \cdot n}) $$

我認為它是安全的(除了可以安全加密的數據量會因加密的數據量而減少 $ IV’ $ ,但我想這可以忽略不計)。

當然,我們假設關於不可預測性的正常 CBC 條件 $ IV $ 在方案中。

我正在閱讀問題的建議作為使用 $ \text{IV’}_0=\text{ENC}_k(\text{IV}) $ 作為條帶的初始化向量 $ 0 $ 並且對於 $ 0<i<s $ 使用 $ \text{IV’}_i=\text{ENC}k(\text{IV’}{i-1}) $ 作為條紋的 IV $ i $ .

這不是 (CPA) 安全的,因為它允許區分明文以零個塊開頭:在這種情況下,第二個密文條塊 $ 0 $ 將與stripe的第一個密文塊相同 $ 1 $ .

補充:如果我們將 IV 建構為 $ \text{IV’}_0=\text{IV} $ , $ \text{IV’}_i=\text{ENC}k(\text{IV’}{i-1})\oplus\text{IV} $ . 或者這個稍微不同的選項,使用問題的符號: $$ \text{IV’} = \operatorname{CBC}_k(\text{IV},\text{IV}^s) $$


¹這不是安全猜想。

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