Cbc

是否可以通過最後一個密文塊對 CBC 更改 IV 執行 CPA 攻擊?

  • February 24, 2022

我試圖對這個方案進行簡單的 CPA 攻擊,以更好地理解這個概念。

我們決定使用前一個密文的最後一個塊作為初始化向量,而不是每次都使用一個新的𝐼𝑉。證明這個新方案容易受到選擇明文攻擊。

所以在這種情況下,

  • 挑戰者選擇一個“遊戲”和一把鑰匙。
  • 之後,我們發送 $ (0\ldots 0,1\ldots 1) $
  • 我們收到 $ (IV, c) $ .
  • 現在我們發送 $ (0\ldots 0, 0\ldots 0) $
  • 我們收到 $ (IV’=c , c’) $ .
  • 因此,如果 $ c $ 等於 $ IV’ $ 那麼挑戰者正在玩左邊的遊戲,否則右邊。

我對嗎?我混淆了這些概念嗎?當我們談論一個塊時,是所有密碼還是只有最後一位?

攻擊過程如下,首先攻擊者要求加密 $ (0…0,0…0) $ . 然後他得到 $ c_1=(c_{11},c_{12})=(IV,F_{K}(m_{\gamma_1}\oplus IV))=(IV,c=F_{K}(IV)) $ , 自從 $ m_{\gamma_1}=0…0 $ 不管的價值 $ \gamma $ . 然後他要求加密 $ (m_{L_2}=0…0,m_{R_2}=c_{12}\oplus IV) $ , 並得到  $ c_2=(c_{21},c_{22})=(F_{K}(IV),F_{K}(F_{K}(IV)\oplus m_{\gamma_2})) $ . 如果 $ \gamma=L $ , 他得到 $ (F_{K}(IV),F_{K}(F_{K}(IV)) $ 而如果 $ \gamma=R $ 他得到 $ (F_{K}(IV),F_{K}(F_{K}(IV)\oplus c_{12}\oplus IV)=(F_{K}(IV),F_{K}(IV)) $ 自從 $ c_{12}=F_{K}(IV) $ . 總之,如果 $ c_{21}=c_{22} $ 他說 $ \gamma=R $ 他說 $ \gamma=L $ 否則。

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