在資訊安全中,DES 金鑰生成的步驟是什麼?
資料加密標準 (DES) 是一種分組密碼演算法,它將明文以 64 位的塊進行分組,並使用 48 位的金鑰將其轉換為密文。它是一種對稱金鑰演算法,這意味著加密和解密資訊使用相同的金鑰。
DES 接收一個 64 位的明文並生成一個 64 位的密文;在解密端,DES 接收一個 64 位的密文並生成一個 64 位的明文塊。相同的 56 位密碼金鑰可用於加密和解密。
DES 的關鍵特性在於演算法是固定的並且是公開資料。但是,實際使用的金鑰是傳送方和接收方之間共享的秘密。
DES 的改進包括將金鑰長度延長到 128 位,以及多重 DES,它通常包括使用多個金鑰進行三次加密和解密。
DES 是國際商用機器 (IBM) 公司在 1960 年代後期啟動的一個研究專案的成果,該專案產生了一種稱為 LUCIFER 的密碼。在 1970 年代初期,決定對 LUCIFER 進行降級,並引入了多項創新。
該演算法實現了 16 輪加密,並且每一輪都會生成一個唯一的金鑰。在開始進行這些步驟之前,瞭解明文中位從 1 到 64 進行標記,其中 1 是最高有效位,64 是最低有效位至關重要。金鑰生成過程如下:
輪金鑰生成器從 56 位密碼金鑰中生成 16 個 48 位金鑰。密碼金鑰以 64 位金鑰的形式提供,其中 8 個額外位是奇偶校驗位,在實際金鑰生成過程開始之前會被丟棄。
奇偶校驗位丟棄過程會從 64 位金鑰中丟棄奇偶校驗位(第 8 位、第 16 位、第 24 位、第 32 位…第 64 位),並根據如下奇偶校驗位丟棄表中預定義的規則對剩餘位進行置換。
這些剩餘的 56 位通常用於金鑰生成。
置換後,金鑰被分成兩個 28 位的部分。每個部分根據輪數左移一位或兩位。
在第 1 輪、第 2 輪、第 9 輪和第 16 輪中,移位一位,而在其他輪中移位兩位。這兩個部分被合併以構建一個 56 位的部分。
因此,壓縮 D 盒將其轉換為 48 位。這 48 位被用作一輪的金鑰。
| 57 | 49 | 41 | 33 | 25 | 17 | 09 | 01 |
| 58 | 50 | 42 | 34 | 26 | 18 | 10 | 02 |
| 59 | 51 | 43 | 35 | 27 | 19 | 11 | 03 |
| 60 | 52 | 44 | 36 | 63 | 55 | 47 | 39 |
| 31 | 23 | 15 | 07 | 62 | 54 | 46 | 38 |
| 30 | 22 | 14 | 06 | 61 | 53 | 45 | 37 |
| 29 | 21 | 13 | 05 | 28 | 20 | 12 | 04 |

資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP