Cbc

CBC模式下分組密碼的修改

  • June 9, 2018

我知道 CBC 對數據修改不安全。如果我有“0”的加密,有人可以通過舉例說明如何更改最後一個塊來向我解釋嗎?

提前致謝

如果您翻轉密文塊中的位 $ E_K(M_i) $ 然後你翻轉相同的位 $ M_{i+1} $ . 如果您知道或猜測最後一個明文塊的值,則將倒數第二個密文塊與猜測的明文值進行異或。這使它為零,因為 $ v \oplus v = 0 $ 對所有的人來說,否則操縱起來並不容易。

編輯:我將加密的“0”誤讀為將明文設置為零

如果 $ M_i $ 已知為零,然後異或 $ M_{i-1} $ 和 $ v $ 使塊 i 解密為 $ v $ 反而。

為了嘗試更具體和更具技術性,我相信您指的是 CBC 密文不是這樣的事實:一種選擇密文攻擊的方式。這意味著給定加密和解密預言機,試圖破壞該方案的對手可以解密密文

這是因為給出了密文 $ c $ 對手可以選擇一個隨機加密塊 $ c^* $ 並要求解密 $ cc^* $ 獲得 $ mm^* $ . 因此,他們知道 $ m $ 是原始明文。

我們可以這樣做,因為 CBC 不會通過擴展密文來阻止我們修改密文。

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