Tls

Qualys SSL Labs 中 EDE 密碼的報告密鑰大小存在差異

  • January 9, 2015

Qualys SSL Labs報告以下兩個密碼套件為 112 位:

  • SSL_CK_DES_192_EDE3_CBC_WITH_MD5
  • TLS_RSA_WITH_3DES_EDE_CBC_SHA

但是,我能找到的所有其他參考資料都說它們是 168 位的,這與我對 3DES EDE 的理解一致:三個獨立的 56 位密鑰。

我相信 Qualys 在這件事上是正確的,並且我認為他們有某種理由將這些套件分類為 112 位而不是 168 位,但我對 EDE 的 SSL 和 TLS 實現知之甚少明白為什麼。

我也不知道為什麼 CK_DES 套件的名稱中有 192。

他們是正確的嗎?差異有什麼問題?

首先,請注意 $ 192=3\cdot64 $ ,所以 3DES 的真實密鑰長度為 $ 192 $ 位。然而,由於 $ 8 $ 每個子密鑰中的位都是奇偶校驗位,這減少到 $ 3\cdot56=168 $ 一些非冗餘的密鑰材料。

現在,通常將3DES 的有效密鑰長度歸類為 $ 2\cdot56=112 $ 位是 3DES 容易受到中間相遇攻擊:當攻擊者可以訪問一對 $ (p,c) $ 明文和對應的密文,他只能粗略地得到密鑰 $ 2^{112} $ 操作如下:

  1. 對於所有 DES 密鑰 $ k_3 $ , 計算 $ t:=D_{k_3}(c) $ 並儲存關係 $ t \mapsto k_3 $ 在查找表中 $ L $ .
  2. 對於所有 DES 密鑰對 $ (k_1,k_2) $ , 計算 $ t:=D_{k_2}(E_{k_1}(p)) $ 並檢查是否 $ t $ 在表中 $ L $ . 如果是,則產生一個子鍵 $ k_3 $ , 然後 $ (k_1,k_2,k_3) $ 是一個 3DES 密鑰,用於加密 $ p $ 至 $ c $ .

請注意,執行時由迭代的第二步控制 $ 2^{2\cdot56}=2^{112} $ 潛在的密鑰,因此所需的操作數量大致為 $ 2^{112} $ . 這正是強度估計背後的原因 $ 112 $ 位。

查找表 $ L $ 需要足夠的記憶體來儲存 $ 2^{56} $ 對,這是相當多的,但並非絕對不現實。

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