DES 的變體有哪些?
資料加密標準有兩個主要變體,如下所示:
雙重 DES - 雙重 DES 是一種加密方法,需要對相同明文進行兩次 DES 加密。在這兩種情況下,它都使用多個金鑰來加密明文。解密時需要兩個金鑰。
64 位明文進入第一個 DES 例項,然後利用第一個金鑰轉換為 64 位中間文字,然後進入第二個 DES 例項,利用第二個金鑰提供 64 位密文。
雙重 DES 很容易實現,因為它與普通的 DES 所做的相同。雙重 DES 需要兩個金鑰,在本演算法中稱為 K1 和 K2。它可以使用 K1 對原始明文執行 DES 加密以獲得加密文字。然後,它再次對加密文字執行 DES 加密,但這次使用本演算法中的另一個金鑰 K2。
最終輸出是使用兩個不同的金鑰對加密文字和原始明文進行兩次加密的結果,如圖所示:

而雙重加密的密文塊首先使用金鑰 K2 解密以建立由明文或原始文字生成的單重加密的密文。然後,此密文塊使用金鑰 K1 解密以獲取原始明文塊。
通常,基本版本 DES 的密碼分析需要搜尋 2^56,因此假設雙重 DES 需要 2^128 個金鑰,但這對訊息來說是不正確的。因此,中間相遇攻擊是雙重 DES 的一個缺點。通常,這種攻擊包括從一端加密,從另一端解密,並在中間連線結果,因此得名。
三重 DES - 三重 DES 有兩個版本,如下所示:
使用兩個金鑰的三重 DES - 在使用兩個金鑰的三重 DES 中,只有兩個金鑰 K1 用於第一和第三過程,K2 用於第二過程。
基本上,首先使用金鑰 K1 對明文進行加密,然後使用 K2 對步驟一的輸出進行解密,最後使用金鑰 K1 對第二步的輸出進行加密。在密碼學中,它也稱為加密-解密-加密 (ECE) 模式。
使用三個金鑰的三重 DES - 在三重 DES 中,明文塊 P 首先使用金鑰 K1 加密,然後使用第二個金鑰 K2 加密,最後使用第三個金鑰 K3 加密,其中 K1、K2 和 K3 在此演算法中彼此不同。解密以相反的順序完成。因此,此演算法通常用於 PGP 和 S/MIME 中。
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP