3DES 如何以簡單的方式工作?
據我了解
DES
,它使用(ECB)加密64-bit
明文塊。56-bit key
因此,如果
3DES
應用DES
三次,那麼為什麼要使用解密 $ (D) $ 在第 2 階段代替加密 $ (E) $ ? 以及如何解密密文 $ ( [K_2,E[K_1,P]] ) $ 由不同的密鑰加密 $ (K_1) $ ?階段1: $ E[K_1,P] $
階段2: $ D[K_2,E[K_1,P]] $
第三階段: $ E[K_3,D[K_2,E[K_1,P]]]. $
3DES: $ C=E[K_3,D[K_2,E[K_1,P]]]. $
那麼任何人都可以解釋 3DES 是如何工作的嗎?
供您參考,這與問題並不完全相同,因為,
- 我想知道 3DES 是如何工作的?不僅是第二階段的工作。
- 上述問題的答案不滿足我的問題,因為該答案說加密和解密是相同的方法。
3DES 加密鏈 具有 3 個不同 DES 密鑰的 3 個 DES 操作 $ K_1 $ , $ K_2 $ , $ K_3 $ (每個 8 字節,每個字節忽略 1 位)一起形成 3DES 的密鑰(24 字節,168 位密鑰),以轉換明文 $ P $ (64 位)轉換成密文 $ C $ (64 位),由等式定義
$$ A $$: $$ C\gets\operatorname{E_3}(K_1|K_2|K_3,P)=\operatorname{E}(K_3,\operatorname{D}(K_2,\operatorname{E}(K_1,P))) $$ 在哪裡 $ \operatorname{E} $ 和 $ \operatorname{D} $ 是DES加密和解密,和 $ \operatorname{E_3} $ 是新定義的 3DES 加密。我們將嚴格展示在其中應用解密,使用密鑰 $ K_2 $ 與鍵無關 $ K_1 $ 在前面的步驟中,是明確定義的(這不適用於典型的非對稱密碼)。 一個解密操作 $ \operatorname{D_3} $ 由等式定義
$$ B $$: $$ P\gets\operatorname{D_3}(K_1|K_2|K_3,C)=\operatorname{D}(K_1,\operatorname{E}(K_2,\operatorname{D}(K_3,C))) $$ 三層加密一層一層剝開,順序相反。我們將嚴格證明它可以恢復到原始明文。 我們的證明適用於任何分組密碼,無需查看 DES 的內部結構。
預賽:
- DES解密撤消加密;也就是說,對於任何鍵 $ K $ 和任何 64 位塊 $ X $ , 解密 $ \operatorname{E}(K,X) $ 帶鑰匙 $ K $ 定義明確並且 $ \operatorname{D}(K,\operatorname{E}(K,X))=X $ . 這是任何分組密碼的基本屬性。
- DES 加密取消了解密,這對於任何輸入都是明確定義的;也就是說,對於任何鍵 $ K $ 和任何 64 位塊 $ Y $ , $ \operatorname{E}(K,\operatorname{D}(K,Y))=Y $ .
證明
$$ 2. $$:
對於任何鍵 $ K $ , 用那個密鑰加密 $ K $ 任何 64 位塊的 $ X $ 給出一個 64 位塊。這是可逆的,因此不同 $ X $ 和 $ X’ $ 給出不同的結果 $ \operatorname{E}(K,X) $ 和 $ \operatorname{E}(K,X’) $ . 對立證明:
- 如果結果相同,我們會有 $ \operatorname{E}(K,X)=\operatorname{E}(K,X’) $
- 使用密鑰應用解密 $ K $ 到那個共同的數量是明確定義的,我們會得到 $ \operatorname{D}(K,\operatorname{E}(K,X))=\operatorname{D}(\operatorname{E}(K,X’)) $
- 申請$$ 1. $$兩次,我們得到 $ X=X’ $ ,通過對立完成證明。
因此,對於任何密鑰 $ K $ , 64 位塊的有限集通過加密完全達到 $ K $ , 和任何 64 位塊 $ Y $ 被一些人到達 $ X $ , 和 $ \operatorname{E}(K,X)=Y $ . 證明可以通過計數論證,或者考慮到上一步已經表明轉換 $ X\to Y=\operatorname{E}(K,X) $ 是從有限集到同一有限集的單射函式,因此是雙射。
應用屬性$$ 1. $$, 它來了解密 $ Y $ 帶鑰匙 $ K $ 是明確定義的,並且 $ \operatorname{D}(K,Y)=X $ .
通過用密鑰加密雙方 $ K $ , 我們得到 $ X $ 上面展示的也驗證了 $ \operatorname{E}(K,\operatorname{D}(K,Y))=\operatorname{E}(K,X) $ .
右側匹配 $ Y $ . 因此 $ \operatorname{E}(K,\operatorname{D}(K,Y))=Y $ , 完成證明$$ 2. $$
證明 3DES 解密 $ \operatorname{D_3} $ 撤消 3DES 加密 $ \operatorname{E_3} $ :
- 更換 $ C $ 在公式中$$ B $$如定義$$ A $$,我們得到 $$ \operatorname{D_3}(K_1|K_2|K_3,\operatorname{E_3}(K_1|K_2|K_3,P))\ =\operatorname{D}(K_1,\operatorname{E}(K_2,\operatorname{D}(K_3,\operatorname{E}(K_3,\operatorname{D}(K_2,\operatorname{E}(K_1,P)))))) $$
- 申請$$ 1. $$和 $ K=K_3 $ 和 $ X=\operatorname{D}(K_2,\operatorname{E}(K_1,P)) $ ,我們得到 $$ \operatorname{D_3}(K_1|K_2|K_3,\operatorname{E_3}(K_1|K_2|K_3,P))\ =\operatorname{D}(K_1,\operatorname{E}(K_2,\operatorname{D}(K_2,\operatorname{E}(K_1,P)))) $$
- 申請$$ 2. $$和 $ K=K_2 $ 和 $ Y=\operatorname{E}(K_1,P) $ ,我們得到 $$ \operatorname{D_3}(K_1|K_2|K_3,\operatorname{E_3}(K_1|K_2|K_3,P))=\operatorname{D}(K_1,\operatorname{E}(K_1,P)) $$
- 申請$$ 1. $$和 $ K=K_1 $ 和 $ X=P $ ,我們得到想要的 $$ \operatorname{D_3}(K_1|K_2|K_3,\operatorname{E_3}(K_1|K_2|K_3,P))=P $$
因此,3DES 解密對 3DES 加密就像 DES 解密對 DES 加密一樣;3DES 和 DES 之間的主要外部區別是更大的密鑰。
因為明文的轉換比 DES 更徹底,而且密鑰更大,所以在不知道密鑰的情況下反轉加密操作在 3DES 中比在 DES 中更困難。
至於為什麼中間有解密,請看這個答案。