DES 有多少輪?
DES 使用 16 輪。這 16 輪中的每一輪都包含以下高階步驟:
金鑰轉換 - 初始 64 位金鑰透過丟棄每個第 8 位來轉換為 56 位金鑰。因此,每一輪都有一個 56 位金鑰可用。從這個 56 位金鑰中,每一輪都會使用稱為金鑰轉換的過程生成不同的 48 位子金鑰。
將 56 位金鑰分成兩個 28 位的半部分。根據輪數,這兩半部分會迴圈左移一位或兩位。
例如,如果輪數是 1、2、9 或 16,則只左移一位。對於其他輪數,則迴圈左移兩位。每一輪移動的金鑰位數顯示在表中。
| 輪數 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 移動的金鑰位數 | 1 | 1 | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 2 | 2 | 2 | 2 | 2 | 2 | 1 |
每輪移動的金鑰位數
擴充套件置換 - 初始置換後,它有兩個 32 位明文區域,稱為左明文和右明文。在擴充套件置換期間,RPT 從 32 位擴散到 48 位。它可以將位大小從 32 位增強到 48 位,位也經過置換,即所謂的擴充套件置換。
S盒替換 - S盒替換是一個過程,它接收來自 XOR 運算的 48 位輸入(包含壓縮金鑰和擴充套件 RPT),並使用替換技術生成 32 位輸出。
P盒置換 - S盒的輸出包含 32 位。這 32 位使用 P盒進行置換。這個簡單的置換結構包含簡單的置換,包括用 P盒表中定義的另一個位替換每個位,而無需任何擴充套件或壓縮。這稱為 P盒置換。
P盒顯示在表中。例如,第一個塊中的 16 表示原始輸入中第 16 位的位置變為輸出中第 1 位的位置,而塊號 16 中的 10 表示原始輸入中第 10 位的位置變為輸出中第 16 位的位置。
| 16 | 7 | 20 | 21 | 29 | 12 | 28 | 17 | 1 | 15 | 23 | 26 | 5 | 18 | 31 | 10 |
| 2 | 8 | 24 | 14 | 32 | 27 | 3 | 9 | 19 | 13 | 30 | 6 | 22 | 11 | 4 | 25 |
異或和交換 - 所有這些操作都只在 64 位原始明文的 32 位右半部分上執行。左半部分到目前為止不受影響。在此階段,初始 64 位明文塊的左半部分與 P盒置換生成的輸出進行異或運算。
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP