Cbc

Cryptool - DES(ECB 和 CBC) - 雙重加密

  • February 26, 2015

因此,我在 Cryptool 中上傳了一個文本文件,並使用密鑰 DES-ECB 對其進行了加密FF FF FF FF FF FF FF FF。我使用相同的密鑰使用 DES-CBC 再次加密了密文。然後,我再次使用 DES-CBC 對獲得的文本進行了加密。

前 8 個字元與 ECB 的加密文本匹配。它的其餘部分是不同的。我想知道為什麼這 8 個字元相似,為什麼其餘字元不相似?如果有人可以向我解釋這一點,那將非常有幫助。

CrypTool 執行中的螢幕截圖,顯示了所描述的密文。

有幾件事正在發生:

  • 首先,DES 密鑰FF FF FF FF FF FF FF FF恰好是“DES 弱密鑰”;我們的意思是,如果您通過密碼兩次發送一個塊,它將以原始值結束;那是:

$$ X = DES_{weak}( DES_{weak} ( X )) $$

  • 您顯然是在 CBC 模式下使用零 IV 進行加密。

那麼,讓我們看看在加密過程中第一個塊會發生什麼。他稱該明文塊的初始值 $ A $ (44 6F 75 62 6C 65 20 65在你的例子中)

  • 首先,您以 ECB 模式加密文本。對於第一個塊,這只是通過 DES 發送它,從而產生我們稱為的密文塊 $ B $ (A3 77 A8 0A AD 2B EA 6E在你的例子中:

$$ B = DES_{weak}(A) $$

  • 然後,您在 CBC 模式下對其進行加密(IV 為零)。對於第一個塊,這個異或的塊與IV,並通過DES 發送。因為我們使用的是弱密鑰,所以這會導致原始 $ A $ 塊,如:

$$ DES_{weak}(IV \oplus B) = DES_{weak}(B) = DES_{weak}(DES_{weak}(A)) = A $$

  • 最後,您在 ECB 模式下再次加密文本。對於第一個塊,這只是重做我們在第一遍中所做的(因為第一個塊與它的值完全相同):

$$ B = DES_{weak}(A) $$ 現在,第二個塊不會發生這種情況;這是因為第二遍中的 CBC 模式。CBC 模式在第一個塊的值中異或,因為它不為零,所以第二個等式不成立。

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