DES加密算法

首先输入64位密钥,经过一系列操作生成子密钥。然后输入二进制明文,进行IP置换,分成三十二位L和R。L和R进行十六轮迭代操作。
每轮的结构都是L[i]=R[i-1],R[i]=L[i-1]^F(R[i-1],K[i]),然后经过16轮相同的操作之后,将L和R互换,再经过IP逆置换得到密文。

解密算法和加密算法一致。

IP置换算法

DES算法,IP置换的功能是把输入的64位数据块按位重新组合,并把输出分为L0、R0两部分,每部分各长32位,其置换规则见下表:

58,50,42,34,26,18,10,2,60,52,44,36,28,20,12,4,
62,54,46,38,30,22,14,6,64,56,48,40,32,24,16,8,
57,49,41,33,25,17,9,1,59,51,43,35,27,19,11,3,
61,53,45,37,29,21,13,5,63,55,47,39,31,23,15,7,

即将输入的第58位换到第一位,第50位换到第2位,...,依此类推,最后一位是原来的第7位。L0、R0则是换位输出后的两部分,L0是输出的左32位,R0 是右32位,例
如:设置换前的输入值为D1D2D3......D64,则经过初始置换后的结果为:L0=D58D50...D8;R0=D57D49...D7。

参考链接:
https://blog.csdn.net/jcbx_/article/details/90704195
https://blog.csdn.net/bcbobo21cn/article/details/48626149
2020-8-01 第二周

原文地址:https://www.cnblogs.com/4Uuu/p/13416189.html