表3-4 数据扩展表
32 1 2 3 4 5 4 5
6 7 8 9 8 9 10 11
12 13 12 13 14 15 16 17
16 17 18 19 20 21 20 21
22 23 24 25 24 25 26 27
28 29 28 29 30 31 32 1
3.4 函数f(Ri,Ki)的计算本文来自优*文~论(文&网,毕业论文 www.youerw.com 加7位QQ324'9114找源文
迭代中最关键的是f函数的实现,整个DES算法的关键技术和核心也在于f函数,它通过扩展置换将明文经IP置换后的右32位Ri放大成48位,与本轮的子密钥Ki进行异或操作,经S盒变换后,进行P盒置换,将得到的32位数据与Li进行异或,即可得到下一轮的R,将本轮原始的Ri作为下一轮的L,其结构图如图3-2所示.
图3-2函数f(Ri,Ki)示意图
表3-5 P盒置换
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
在八个S盒的设计中,每个S盒有4行16列。其功能是把6b数据变成4b数据,它们分别定义如下:
S1=
S2=
S3=
S4=
S5=
S6=
S7=
S8=
我们以选择函数S1为例说明其功能:将S1中的4行分别命名为0、1、2、3行,每行有16列,分别命名为0、1、2···15列。
现在设输入为:D=D1D2D3D4D5D6
令:列= D2D3D4D5,行=D1D6
然后在S1表中查得对应的数,以4位二进制表示,此即为选择函数S1的输出。
3.4 逆置换