Encryption

DES:使用相同密鑰的雙重加密是否等同於使用不同密鑰但大小相同的單個 DES

  • September 29, 2020

如果我們使用雙 DES 但使用相同的密鑰K1 加密純文字,

我們能否得到與使用單個 DES 但使用不同的密鑰(例如 K2)加密純文字相同的結果。

我要問的是我們能否以相同大小的 K1 和 K2 實現這一點:

DES(K1,DES(K1,m)) = DES(K2,m)

第一個有效的關鍵位是什麼?

我知道單字母移位密碼就是這種情況,但我對 DES 感到困惑。

通過密鑰大小,我的意思是像 64 位密鑰,它們是 2^55 計算。

我們能否得到與使用單個 DES 加密純文字但使用不同密鑰(例如 K2)相同的結果。

它尚未被正式證明,但假設不存在等效的“雙鍵”是非常合理的,也就是說,對於 a K1K2對於DES(K1, DES(K1, M)) = DES(K2, M)所有值M(甚至是M.

已經證明(並且有些相似)的是存在K1K2沒有始終成立K3的價值;DES( K1, DES( K2, M )) = DES( K3, M )這被稱為“DES 不是群”定理(儘管它通常以不同的方式表達)。但是,此結果並不立即暗示您要詢問的內容。

對於每個密鑰,分組密碼從所有可能的排列中選擇一個排列 $ {0,1}^\ell \to {0,1}^\ell $ 在哪裡 $ \ell $ 是分組密碼。對於 DES, $ \ell = 64 $ .

排列數為 $ 2^{64}! $ DES的可能有效密鑰數為 $ 2^{56} $ . 由斯特林近似

$$ 2^{64}! \approx \sqrt{2\pi 2^{64}} \bigl(2^{64}/e\bigr)^{2^{64}}. $$將此與 $ 2^{56} $ 並看到它很小。

簡短的回答是DES 沒有在功能組合下形成一個組

  • 對於單 $ m $ 可以有不同的鍵 $ K_1 $ 和 $ K_2 $ 在 DES 中,此時的行為類似於雙重加密的單個密鑰。 $ DES(K_1,(DES(K_1,m)) = DES(K_2,m) $ 從來沒有見過,因為這不是學院的重點。正如雨披所指出的,我們可以通過

    • 隨機選擇 $ m $
    • 選擇 $ 2^{32} $ 隨機的 $ K_1 $ 並為 $ DES(K_1,(DES(K_1,m)) $ .
    • 選擇 $ 2^{32} $ 隨機的 $ K_2 $ 並查看表格。

    我們預計會發生 50% 的衝突。

  • 當考慮每個 $ m $ 在消息空間 $ {0,1}^{64} $ 您需要找到一個密鑰的雙重加密等於另一個密鑰的密鑰。從以前很難找到,即使是一般情況也沒有已知的 $ DES(K_1,(DES(K_2,m)) = DES(K_3,m)) $

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