表10 S7盒的定义
4 11 2 14 15 0 8 13 3 12 9 7 5 10 6 1
13 0 11 7 4 9 1 10 14 3 5 12 2 15 8 6
1 4 11 13 12 3 7 14 10 15 6 8 0 5 9 2
6 11 13 8 1 4 10 7 9 5 0 15 14 2 3 12
表11 S8盒的定义
13 2 8 4 6 15 11 1 10 9 3 14 5 0 12 7
1 15 13 8 10 3 7 4 12 5 6 11 0 14 9 2
7 11 4 1 9 12 14 2 0 6 10 13 15 3 5 8
2 1 14 7 4 10 8 13 15 12 9 0 3 5 6 11
S表使用的方法是这样的:S盒的6位输入的第一位和最后一位构成一个二位数,这个数从0到3对应S盒的四行,而中间的四个比特数据组成的十进制数从0到15分别用来选择表中对应的列[10]。由上述行和列交叉所决定的单元格中的十进制转换成一个4位的二进制数。例如在第二个盒,若输入100001,则分别对应第四行和第一列,最后输出的结果就是1101。
1.2.4 逆初始置换IP-1
DES算法经过16轮迭代后,最后一步就是将数据进行逆初始置换,这个置换IP-1如表3所示,把第十751轮迭代的输出经过逆初始置换IP-1处理得到密文C[11]。 VHDL基于DES数据加密标准的加解密系统设计(6):http://www.751com.cn/zidonghua/lunwen_8869.html