- 密碼學教程
- 密碼學 - 首頁
- 密碼學 - 起源
- 密碼學 - 歷史
- 密碼學 - 原理
- 密碼學 - 應用
- 密碼學 - 優點與缺點
- 密碼學 - 現代密碼學
- 密碼學 - 傳統密碼
- 密碼學 - 加密的需求
- 密碼學 - 雙重強度加密
- 密碼系統
- 密碼系統
- 密碼系統 - 組成部分
- 密碼系統攻擊
- 密碼系統 - 彩虹表攻擊
- 密碼系統 - 字典攻擊
- 密碼系統 - 暴力攻擊
- 密碼系統 - 密碼分析技術
- 密碼學型別
- 密碼系統 - 型別
- 公鑰加密
- 現代對稱金鑰加密
- 密碼學雜湊函式
- 金鑰管理
- 密碼系統 - 金鑰生成
- 密碼系統 - 金鑰儲存
- 密碼系統 - 金鑰分發
- 密碼系統 - 金鑰撤銷
- 分組密碼
- 密碼系統 - 流密碼
- 密碼學 - 分組密碼
- 密碼學 - Feistel 分組密碼
- 分組密碼的工作模式
- 分組密碼的工作模式
- 電子密碼本 (ECB) 模式
- 密碼分組連結 (CBC) 模式
- 密碼反饋 (CFB) 模式
- 輸出反饋 (OFB) 模式
- 計數器 (CTR) 模式
- 經典密碼
- 密碼學 - 反向密碼
- 密碼學 - 凱撒密碼
- 密碼學 - ROT13 演算法
- 密碼學 - 置換密碼
- 密碼學 - 加密置換密碼
- 密碼學 - 解密置換密碼
- 密碼學 - 乘法密碼
- 密碼學 - 仿射密碼
- 密碼學 - 簡單替換密碼
- 密碼學 - 簡單替換密碼的加密
- 密碼學 - 簡單替換密碼的解密
- 密碼學 - 維吉尼亞密碼
- 密碼學 - 維吉尼亞密碼的實現
- 現代密碼
- Base64 編碼和解碼
- 密碼學 - XOR 加密
- 替換技術
- 密碼學 - 單表代換密碼
- 密碼學 - 單表代換密碼的破解
- 密碼學 - 多表代換密碼
- 密碼學 - Playfair 密碼
- 密碼學 - Hill 密碼
- 多表代換密碼
- 密碼學 - 一次性密碼本
- 一次性密碼本的實現
- 密碼學 - 置換技術
- 密碼學 - 柵欄密碼
- 密碼學 - 列置換密碼
- 密碼學 -隱寫術
- 對稱演算法
- 密碼學 - 資料加密
- 密碼學 - 加密演算法
- 密碼學 - 資料加密標準
- 密碼學 - 三重DES
- 密碼學 - 雙重DES
- 高階加密標準
- 密碼學 - AES 結構
- 密碼學 - AES 變換函式
- 密碼學 - 位元組替換變換
- 密碼學 - 行移位變換
- 密碼學 - 列混淆變換
- 密碼學 - 輪金鑰加變換
- 密碼學 - AES 金鑰擴充套件演算法
- 密碼學 - Blowfish 演算法
- 密碼學 - SHA 演算法
- 密碼學 - RC4 演算法
- 密碼學 - Camellia 加密演算法
- 密碼學 - ChaCha20 加密演算法
- 密碼學 - CAST5 加密演算法
- 密碼學 - SEED 加密演算法
- 密碼學 - SM4 加密演算法
- IDEA - 國際資料加密演算法
- 公鑰(非對稱)加密演算法
- 密碼學 - RSA 演算法
- 密碼學 - RSA 加密
- 密碼學 - RSA 解密
- 密碼學 - 建立 RSA 金鑰
- 密碼學 - 破解 RSA 密碼
- 密碼學 - ECDSA 演算法
- 密碼學 - DSA 演算法
- 密碼學 - Diffie-Hellman 演算法
- 密碼學中的資料完整性
- 密碼學中的資料完整性
- 訊息認證
- 密碼學數字簽名
- 公鑰基礎設施
- 雜湊演算法
- MD5(訊息摘要演算法 5)
- SHA-1(安全雜湊演算法 1)
- SHA-256(安全雜湊演算法 256 位)
- SHA-512(安全雜湊演算法 512 位)
- SHA-3(安全雜湊演算法 3)
- 雜湊密碼
- Bcrypt 雜湊模組
- 現代密碼學
- 量子密碼學
- 後量子密碼學
- 密碼學協議
- 密碼學 - SSL/TLS 協議
- 密碼學 - SSH 協議
- 密碼學 - IPsec 協議
- 密碼學 - PGP 協議
- 影像和檔案加密
- 密碼學 - 影像
- 密碼學 - 檔案
- 隱寫術 - 影像
- 檔案加密和解密
- 密碼學 - 檔案加密
- 密碼學 - 檔案解密
- 物聯網中的密碼學
- 物聯網安全挑戰、威脅和攻擊
- 物聯網安全的密碼學技術
- 物聯網裝置的通訊協議
- 常用的密碼學技術
- 自定義構建密碼演算法(混合密碼學)
- 雲密碼學
- 量子密碼學
- 密碼學中的影像隱寫術
- DNA 密碼學
- 密碼學中的一次性密碼 (OTP) 演算法
- 區別
- 密碼學 - MD5 與 SHA1
- 密碼學 - RSA 與 DSA
- 密碼學 - RSA 與 Diffie-Hellman
- 密碼學與密碼學
- 密碼學 - 密碼學與密碼分析
- 密碼學 - 經典與量子
- 密碼學與隱寫術
- 密碼學與加密
- 密碼學與網路安全
- 密碼學 - 流密碼與分組密碼
- 密碼學 - AES 與 DES 密碼
- 密碼學 - 對稱與非對稱
- 密碼學有用資源
- 密碼學 - 快速指南
- 密碼學 - 討論
密碼學 - 三重DES(資料加密標準)
1990年後,針對DES的窮舉金鑰搜尋速度開始讓DES使用者感到不安。然而,使用者並不想替換DES,因為更換已被廣泛採用並嵌入大型安全架構中的加密演算法需要花費大量時間和金錢。
務實的做法不是完全放棄DES,而是改變DES的使用方式。這導致了三重DES(有時稱為3DES)的改進方案。
需要注意的是,三重DES有兩個版本:2金鑰三重DES(2TDES)和3金鑰三重DES(3TDES)。
什麼是三重DES?
三重資料加密演算法,通常稱為三重DES、TDEA和3DES,是一種使用三個獨立的DES版本加密單個文字片段的加密方法。在第一個版本中,每個使用的金鑰都是唯一的;在第二個版本中,兩個金鑰相同,一個金鑰不同;在第三個版本中,每個金鑰都相同。這些是使用的不同的金鑰選擇方法。
三重DES首次引入於1998年。為了獲得更長的有效金鑰長度,它對每個資料塊執行DES密碼演算法三次。
三重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 作為預設選項。務必確認您正在使用的特定版本中是否可用。