DES在資訊安全中是如何工作的?
DES是一種分組密碼。加密過程由兩個置換(P盒)組成,可以定義為初始置換和最終置換,以及16輪Feistel輪。每一輪都需要一個不同的48位輪金鑰,該金鑰根據預定義的演算法從密碼金鑰生成。
DES基於密碼學的兩個基本屬性:替代(也稱為混淆)和轉置(也稱為擴散)。DES包含16個步驟,每個步驟稱為一輪。
每一輪都執行替代和轉置步驟。DES是一種對稱密碼系統。要加密的分組首先進行初始置換IP,然後進行復雜的依賴於金鑰的計算,最後進行初始置換IP−1的逆置換。
讓我們討論DES中的以下步驟。
初始置換 (IP) - 初始置換僅在加密過程開始時需要一次。在DES中,在將完整的明文劃分為每個64位的塊之後,每個塊都需要IP。此初始置換是轉置過程中的一個步驟。
輪 - DES使用16輪。DES的每一輪都是一個Feistel密碼。該輪從上一輪獲取LI−1和RI−1,併產生LI和RI,它們進入下一輪。可以認為每一輪有兩個密碼元件(混合器和交換器)。
這些元件中的每一個都是可逆的。交換器當然是可逆的。它可以將文字的左半部分與右半部分交換。混合器可以透過XOR運算實現可逆。所有不可逆元件都收集在函式f(RI−1, KI)中。
最終置換 (FP) - 在第16輪結束時,執行最終置換。這是一個簡單的轉置,取決於表格。例如,第40個輸入佔據第1個輸出位的位 置,依此類推。最終置換的輸出是64位加密塊。
40 | 8 | 48 | 16 | 56 | 24 | 64 | 32 | 39 | 7 | 47 | 15 | 55 | 23 | 63 | 31 |
38 | 6 | 46 | 14 | 54 | 22 | 62 | 30 | 37 | 5 | 45 | 13 | 53 | 21 | 61 | 29 |
36 | 4 | 44 | 12 | 52 | 20 | 60 | 28 | 35 | 3 | 43 | 11 | 51 | 19 | 59 | 27 |
34 | 2 | 42 | 10 | 50 | 18 | 58 | 26 | 33 | 1 | 41 | 9 | 49 | 17 | 57 | 25 |
DES解密 - 這是一種極其複雜的加密方案,因此使用DES的解密可以使用一種最終不同的方法。DES中用於加密的類似演算法也適用於解密。
多個表的值以及操作及其順序都經過精心選擇,以確保演算法的可逆性。加密和解密過程之間的唯一區別是金鑰部分的反轉。
如果原始金鑰K被劃分為K1、K2、K3……K16用於16輪加密,那麼對於解密,金鑰必須按K16、K15、K14……K1的順序使用。