密碼學 - 三重DES(資料加密標準)



1990年後,針對DES的窮舉金鑰搜尋速度開始讓DES使用者感到不安。然而,使用者並不想替換DES,因為更換已被廣泛採用並嵌入大型安全架構中的加密演算法需要花費大量時間和金錢。

務實的做法不是完全放棄DES,而是改變DES的使用方式。這導致了三重DES(有時稱為3DES)的改進方案。

需要注意的是,三重DES有兩個版本:2金鑰三重DES(2TDES)和3金鑰三重DES(3TDES)。

什麼是三重DES?

三重資料加密演算法,通常稱為三重DES、TDEA和3DES,是一種使用三個獨立的DES版本加密單個文字片段的加密方法。在第一個版本中,每個使用的金鑰都是唯一的;在第二個版本中,兩個金鑰相同,一個金鑰不同;在第三個版本中,每個金鑰都相同。這些是使用的不同的金鑰選擇方法。

三重DES首次引入於1998年。為了獲得更長的有效金鑰長度,它對每個資料塊執行DES密碼演算法三次。

TDES Encryption Scheme

三重DES的加密過程

  • 三重DES操作的三個階段是加密-解密-加密(EDE)。它的功能是使用金鑰包,該金鑰包由三個56位金鑰(K1、K2和K3)組成。
  • 最初使用K1進行加密;然後使用K2進行解密;最後使用K3進行最終加密。還有一個雙金鑰三重DES版本,其中K1用於第一步和最後一步,但相同的演算法執行三次。2015年,這個雙金鑰版本被淘汰。
  • 由於雙重加密的限制,演算法執行三次。中間相遇攻擊是一種從一端加密,從另一端解密,並搜尋衝突或導致兩個方向結果相同的金鑰的攻擊型別。如果記憶體足夠,雙重DES或任何其他執行兩次的密碼將只有基準密碼的兩倍強度。
  • 簡單來說,如果雙重密碼的金鑰長度較短,其強度與相同的密碼執行一次的強度相同。
  • 不僅如此,如果密碼組合在一起,使用兩個金鑰進行兩次加密等同於使用備用金鑰進行一次加密。但是確定另一個金鑰並不簡單,使用暴力攻擊中的每個金鑰都會導致發現第三個金鑰。
  • 因此,如果密碼是一個群,則多次加密是浪費時間。
  • 運算子和集合之間存在稱為群的關係。如果它們與加法的行為與整數幾乎相同,則它們構成一個群。
  • 如果您繼續加密一個塊並且它在潛在塊的集合上完成一個完整的迴圈,那麼也會形成一個群。
  • DES不屬於群。但DES具有流行的結構特徵,這導致一些人堅持認為它絕對不是一個群,換句話說,它可能是一個群。
  • 例如,已知DES迴圈,您可以透過連續使用相同的金鑰進行加密而陷入無限迴圈。

加密模式

三重DES允許在三個輪次中的每一個輪次中以任一方向(加密或解密)使用DES演算法。因此,三重DES有八種不同的可能模式。

模式 加密序列
DDD 解密-解密-解密
DDE 解密-解密-加密
DED 解密-加密-解密
DEE 解密-加密-加密
EDD 加密-解密-解密
EDE 加密-解密-加密
EED 加密-加密-解密
EEE 加密-加密-加密

如果存在更好的選擇,您不太可能想出於與您不想使用EED、DEE、DDE或EDD相同的結構原因而使用EEE或DDD模式。由於DES的弱非群性,最有效的組合是EDE或DED。EDE也更有意義。如果您決定使用DED,則必須闡明三重DES如何以解密開始。

三重DES的模組

三重DES有一些模組,如下所示:

  • 管理員登入 - 在這個專案中,管理員可以使用使用者名稱和密碼進行驗證,以訪問帳戶面板模組。
  • 使用者登入 - 在此模組中,使用者可以使用使用者名稱和密碼進行身份驗證,以訪問其帳戶面板模組。
  • 使用者註冊模組 - 在此模組中,使用者可以輸入使用者名稱、密碼、地址、手機號碼和郵箱地址進行註冊,以訪問帳戶面板模組。
  • 管理員發訊息模組 - 在此模組中,管理員可以選擇使用者名稱,然後輸入訊息以及主題,以及可用於加密訊息和主題的輸入加密金鑰,然後將其傳送給所選使用者,訊息和主題都儲存在使用者收件箱中。
  • 管理員檢查可疑郵件 - 在此模組中,管理員可以檢查通常不儲存在使用者收件箱中而是標記為可疑狀態的可疑郵件,並將其作為包含使用者元素的可疑郵件傳送給管理員。
  • 管理員資料字典 - 在此模組中,管理員可以將可疑詞新增到當前資料字典中,以便更直接、更有效地檢測使用者傳送的可疑郵件。
  • 管理員檢視資料字典 - 在此模組中,管理員可以看到資料字典中存在哪些可疑詞,還可以刪除資料字典中當前的可疑詞。
  • 管理員檢視使用者列表 - 在此模組中,管理員可以看到已註冊的使用者及其完整資訊,如果發現任何已註冊使用者在網站上進行可疑活動,則可以刪除這些使用者。
  • 使用者發訊息模組 - 在此模組中,使用者可以選擇其他使用者,然後輸入訊息和主題,然後將其傳送給所選使用者,訊息和主題都儲存在接收使用者的收件箱中,並在網站後端。處理可疑郵件檢測模組,該模組將傳送的郵件標記為可疑或正常。
  • 使用者收件箱模組 − 在此模組中,使用者可以檢視已註冊使用者傳送的收件箱訊息。如果使用者是已註冊使用者,則此訊息將在無需任何解密模組的情況下被檢視,並且使用者也有權刪除該郵件。

三重 DES 的安全性

三重 DES 方法使用金鑰加密資料以確保其安全。三重 DES 可以透過兩種不同的方式使用。第一種方法必須高度安全,因為它使用了三個不同的金鑰。然而,由於攻擊者可以利用的一種方式,它並不像我們想象的那麼安全。這就像一扇門上有三個鎖,但攻擊者仍然可以很容易地開啟。

第二種方法較弱,因為其中一個金鑰與第一個金鑰相同。可以將其想象成一扇門有兩個鎖,其中一個很容易開啟。因此,它不再推薦使用,因為它不夠安全。

此外,當多個數據片段由同一個金鑰保護時,三重 DES 存在問題。這類似於密碼過短,很容易被破譯。這個問題存在於 TLS 和 OpenVPN 系統中。

由於這些問題,三重 DES 已不再建議使用,並且在 OpenSSL 等較新版本的安全程式中也不再存在。

優點

以下是三重 DES 的一些優點:

  • 與原始 DES 的三層加密相比,安全性得到了增強。
  • 3DES 透過保持與當前 DES 實現的連線性,允許平滑遷移。
  • 透過將所有三個金鑰設定為相同的值,3DES 可以針對向後相容性用作單 DES。
  • 3DES 廣泛應用於各種硬體、協議和應用程式。

缺點

以下是使用三重 DES 時必須考慮的一些缺點:

  • 與 AES 等較新的加密方法相比,3DES 的速度較慢,降低了處理效率。
  • 即使 3DES 比 DES 更強大,但其有效金鑰長度仍然有限,尤其是在使用三個 56 位金鑰時。
  • 在資源有限的情況下,三重加密過程會降低效能,因為它需要更多的計算能力。
  • 3DES 的安全裕度低於 AES 等較新的加密方法,但比 DES 更安全。

三重 DES 的實現

以下應用程式可以使用三重 DES 加密資料:

Botan、Bouncy Castle、cryptlib、Crypto++、Libgcrypt、Nettle、OpenSSL、wolfSSL、可信平臺模組 (TPM)。

但請記住,在最新的版本中,其中一些程式可能沒有將三重 DES 作為預設選項。務必確認您正在使用的特定版本中是否可用。

廣告
© . All rights reserved.