赞
踩
分组密码将明文M划分为一系列的明文块Mi,每一块Mi包含若干位或字符,每一块用同一个密钥K加密。DES算法就是把明文切成以64位为单位的一个个明文块,每个明文块都用同一个秘钥K加密(然后K在生成子秘钥一一对应DES中的16轮循环)
令F 为轮函数;令K1,K2,……,Kn 分别为第1,2,……,n 轮的子密钥。那么基本构造过程如下:
(1)将明文信息均分为两块:(L0,R0);
(2)在每一轮中,进行如下运算(i 为当前轮数):
Li+1 = Ri;
Ri+1 = Li ⊕F (Ri,Ki)。(其中⊕为异或操作)
所得的结果即为:(Ri+1,Li+1)。
一共16次大循环,每一轮都用对应生成的子密钥加密,所有的置换表中记录的都为数据的旧位置,数据的新位置则按置换表顺序排列。
将64位明文(M),根据IP置换表将明文中的字母重新排列,再分为左(L0)右(R0)各32位。初始IP置换只在最开始进行。
初始密钥共64位,但加入运算的只有56位(可用密钥) ,还有8位为奇偶校验位( 第8、16、24、32、40、48、56、64位为校验位)。
先根据PC-1置换(56位),将初始密钥K0(56位)化为左右两部分C0、D0,再根据LS表分别循环左移得到C1、D1。最后用C1、D1经过PC-2置换(48位)压缩为48位子密钥K1。C1和D1合并后为下一轮对应的初始密钥。
子密钥生成和F函数一共循环16轮,得到左(L16)右(R16),再经过逆IP置换表置换并合并得到密文C。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。