Block-Cipher

修改後的 CBC 加密 + MAC 方案的 IND-CCA 不安全性

  • March 19, 2021

在過去的幾天裡,我一直對以下證明感到困惑。

由於 CBC 模式下的分組密碼可用於建構 IND-CPA 安全加密方案和 EUF-CMA 安全塊,因此在“roll-your-own”密碼系統中常犯的錯誤是嘗試使用最後一個密文塊在明文上計算 MAC,例如加密消息 m,我們計算密文 $ c = \verb|CBCEncrypt|^E _K(m) $ , 讓 $ c^∗ $ 成為最後一個塊,計算標籤 $ \tau = E_K(c^*) $ . 並使用 $ ⟨c, τ⟩ $ 作為“認證加密”方案。證明該方案不能提供選擇密文安全性。

我假設一個加密預言機 $ \verb|CBCEncrypt|^{E}_K(m) $ 統一選擇一個IV,加密後公開。還, $ E_K $ 是塊函式。

想到的一個安全問題是,該方案中的消息標籤僅依賴於最後一個密文塊,而不依賴於消息的其餘部分。然而,由於每個 IV 都是隨機且不可預測的,我看不出對手如何利用它。

我的另一個想法是對手是否可以計算出有效的標籤 $ \tau_{\tau} $ ,然後他們可以解密 $ ⟨\tau, \tau_{\tau}⟩ $ 並檢查得到的解密結果(IV=0)是否等於對應密文的最後一個塊 $ \tau $ 產生自。但同樣,我看不到對手如何計算 $ \tau_{\tau} $ .

任何幫助,將不勝感激。

想到的一個安全問題是,該方案中的消息標籤僅依賴於最後一個密文塊,而不依賴於消息的其餘部分。

那麼,如果對手採取了有效的 $ ⟨c, \tau⟩ $ 配對和修改 $ c $ 通過重複最後一個塊,即將其轉換成對 $ ⟨c || c^*, \tau⟩ $ 並將其轉發給解密器?

修改後的密文會通過完整性檢查嗎?

額外的問題(使攻擊變得更糟):如果確實如此,那么生成的明文會是什麼樣子?

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