DES算法
DES是第一个公开的分组密码算法
DES算法实现加密的步骤
1.变换明文。对于给定的64bit的明文x,首先通过一个置换IP表来重新排列x,从而构造出64bit的x0,x0=IP(x)=L0R0,
其中,L0表示x0的前32bit,R0表示后32bit
2.按照迭代规则迭代。迭代规则为:

经过第一步的变换已经得到L0和R0的值,f表示一种置换,由S盒置换构成;Ki是一些由密钥编排函数产生的比特块。
3.对L16R16利用IP-1作逆置换,得到明文y,加密过程如下:

IP置换表和IP-1置换表
输入的64位数据按IP置换表进行重新组合,并把输出分为L0和R0连部分,每部分各占32位。
IP置换表如下

IP-1置换表

函数f
函数f有两个输入:32位的Ri-1和48位的Ki(i=1,2,3...16)。f函数的处理流程如下:

E变换的算法是从Ri-1的32位中取出某些位,构成48位。即E将32位扩展变换为48位。
变换规则依据E位选择表,如下:

子密钥Ki是由密钥产生的48位比特串,具体算法下面介绍.将E的选位结果与Ki作异或操作,得到48位输出。分成8组
每组6位,作为8个S盒的输入
每个S盒输出4位,共32位,S盒的工作原理将在下面介绍。
假设密钥为K,长度为64位,其中第8,16,24,32,40,48,64用作奇偶校验位,实际上密钥的长度为56位.(i=1,2,3...16)用16轮来构造,构造流程如下

https://wenku.baidu.com/view/c0fd9a357b563c1ec5da50e2524de518964bd3d4

浙公网安备 33010602011771号