在S-盒代替运算中,每一个S-盒得到4位,8盒共得到32bit输出数据。这32位输出作为P盒置换的输入块,最终输出为32bit的输出数据。P盒置换将每一位输入位映射到输出位。任何一位都不能被映射两次,也不能被略去。
5、逆置换:将初始置换进行16次的迭代,即进行16层的加密变换,这个运算过程我们暂时称为函数f。得到L16和R16,将此作为输入块,进行逆置换得到最终的密文输出块。逆置换是初始置换的逆运算。从初始置换规则中可以看到,原始数据的第1位置换到了第40位,第2位置换到了第8位。则逆置换就是将第40位置换到第1位,第8位置换到第2位。以此类推,逆置换规则如下:
1 40,08,48,16,56,24,64,32,39,07,47,15,55,23,63,31,2 38,06,46,14,54,22,62,30,37,05,45,13,53,21,61,29,
3 36,04,44,12,52,20,60,28,35,03,43,11,51,19,59,27,
4 34,02,42,10,50,18,58 26,33,01,41,09,49,17,57,25,
注:DES算法的加密密钥是根据用户输入的秘钥生成的,该算法把64位密码中的第8位、第16位、第24位、第32位、第40位、第48位、第56位、第64位作为奇偶校验位,在计算密钥时要忽略这8位.所以实际中使用的秘钥有效位是56位。
秘钥共64位,每次置换都不考虑每字节的第8个比特位,这一位是在密钥产生过程中生成的奇偶校验位,所以64位秘钥的第8、16、24、32、40、48、56、64位在计算秘钥时均忽略。
6、解密过程:DES的解密过程和DES的加密过程基本类似,唯一的不同是将16轮的子密钥序列的顺序反过来,即在加密过程中所用的加密密钥k1,…,k16在解密过程中需要转换成k16,…,k1。
7、DES算法整理:分组加密算法:以64bit为分组。输入64bit明文,输出64bit密文。
对称算法:加密和解密使用同一秘钥。
有效秘钥长度:56bit秘钥,通常表示为64位数,但每个第8位用作奇偶校验,可以忽略。
代替和置换:DES算法是两种加密技术的组合:混乱和扩散。
易于实现:DES算法只是使用了标准的算术和逻辑运算,其作用的数最多也只有64 位,因此用70年代末期的硬件技术很容易实现算法的重复特性使得它可以非常理想地用在一个专用芯片中。
龙跃十二的热门文章: