3DES 的可行性和安全性
問題如下:
- 3DES 是否仍然可以使用**(在安全性和性能方面)**?
- 在ECB模式下使用 3DES 是否安全?
- 每次通過 3DES 提供相同的輸入(純文字)進行加密時,都會產生相同的輸出(密文)。原因是什麼?例如:每次我輸入純文字**‘wealth’** 時,生成的輸出都是**‘VxDfWEQA’**。或者這甚至可能嗎?
- 如果有人想勸阻一家公司不要使用帶有密碼模式ECB和填充PKCS7的 3DES,那會是什麼原因,為什麼?
- 如果公司/實體仍然堅持使用 3DES。什麼配置最適合為其設置,例如密碼模式和填充。
希望考慮所有可能的場景(如果適用)的第三個問題的答案,例如考慮3DES 的所有 3 個密鑰都是相同的。
3DES 是否仍然可以使用(在安全性和性能方面)?
除非您有專門的硬體,否則3DES*非常慢,因此它最多在具有專用 DES 電路但沒有 AES 電路的舊硬體上贏得速度。*如果沒有可用的專用硬體,AES 或大多數其他現代輕量級密碼將明顯更快。
3DES 也有一個非常小的塊大小,這意味著它可以在幾 GB 的加密數據後開始洩漏數據,另見Sweet32。此外,112 位密鑰現在被認為是相當短的,即使在技術上仍然足夠,但它可能太短,例如針對多目標攻擊的合理安全性。
在 ECB 模式下使用 3DES 是否安全?
在 ECB 模式下使用任何分組密碼都是安全的,因為您將始終看到哪些明文塊多次出現。此外,確定性加密(例如使用 ECB 時)無法實現針對選擇明文攻擊的安全性(一個相當薄弱的安全概念)。
每次通過 3DES 提供相同的輸入(純文字)進行加密時,都會產生相同的輸出(密文)。原因是什麼?例如:每次我輸入純文字“財富”時,生成的輸出都是“VxDfWEQA”。或者這甚至可能嗎?
(3)DES 是一個確定性函式,所以如果你給它兩次相同的輸入(即相同的消息密鑰對),你將得到兩次相同的輸出。隨機性通常僅在使用分組密碼時才被引入。另請注意,獲得 ASCII 文本密文的機率為 $ (52/256)^8\approx 0.000002898 $ .
如果有人想勸阻一家公司不要使用帶有密碼模式 ECB 和填充 PKCS7 的 3DES,那會是什麼原因,為什麼?
見 (1) 和 (3)。
如果公司/實體仍然堅持使用 3DES。什麼配置最適合為其設置,例如密碼模式和填充。
EAX或CCM模式,或者如果兩者都不是具有計數(依賴於上下文)IV 的選項 CTR 模式,然後在密文上應用安全消息驗證碼(MAC)(這是 CCM 和 EAX 所做的)。這些模式不需要填充。