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

posted @ 2021-02-28 11:47  磐正  阅读(836)  评论(0)    收藏  举报