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的顺序使用。