DES算法复杂难懂,但是易于实现。它只对小的位组进行简单的逻辑运算,用硬件和软件实现起来都比较有效。
描述:
分组加密算法, 64位一组; 对称算法; 密钥长度56位;基于加密的两个技术(混乱和扩散的组合);基于密钥作用于明文,称为轮(round), 在分组上16次实施相同的组合技术
概要:
- 对64位的明文分组进行操作
- 通过初始置换,将明文分成左半部分和右半部分,各32位长
- 进行16轮完全相同的运算,这些运算称为函数f,在运算过程中数据与密钥结合。
- 经过十六轮后,左、右半部分合在一起经过一个末置换(初始置换的逆置换)
一轮DES:
在每一轮中,密钥位移位,然后再从密钥的56位中选出48位,通过一个扩展置换将数据的右半部位扩展成48位,并通过一个异或运算与48位密钥结合,通过8个S盒将这个48位替代成新的32位数据,再将其置换一次。这4步运算构成了函数f。然后通过一个异或运算,函数f的输出与左半部分结合,其结果即称为新的有右半部分,原来的右半部分