作为参考,DES补充材料提供了数据加密标准(DES)块密码中提到的各种查找表的细节。1
DES补充材料中的数据都是以大端序排列的,也即首位为MSB。
初始置换
|| || IP
该表显示了对64位块的初始置换,其意义如下:输出的首位为输入的第58位,第二位为50位,依此类推,输出的最后位为输入的第7位。2
以上信息为了方便表示被写成表格形式,但它实际上是一个矢量,而非矩阵。
最终置换
|| || FP
IP-1(亦被称为FP)是IP的逆过程,上表的含义与IP的相似。2
扩张函数
|| || E
扩张函数被作为最初和最终的置换。注意输入中的某些位在输出中被用到了不止一次,例如输入的第5位出现在输出的第6和8位。因此,32位的半块输入被扩张到了48位。
P置换
|| || P
P置换将32位的半块数据重新排列。
选择置换1
|| || PC-1
上表的“左”和“右”两部分表现了输入密钥组成密钥调度状态中左右两部分的过程。主要输入的64位数据中只用到了56位,剩余的8位可以用于奇偶校验。
选择置换2
|| || PC-2
该置换从56位的密钥调度状态中取出48位的子密钥。
置换盒
|| || S盒
上表列出了DES中使用的8个S盒。每个S盒将6位输入变为4位输出。给定输入后,输出行由外侧两位确定,列由内侧的4位确定,例如“011011”的输入的外侧位为“01”,内侧位为“1101”,而每张表的第一行为“00”,第一列为“0000”因此在S5中的对应输出为“1001”(十进制的9),即第2行,第14列(参见S盒)。
密钥调度过程中的移位
|| || 移位
在子密钥生成完成前,密钥调度状态的每个半块都要向左循环移动特定的位,上表显示了移位的数量。
本词条内容贡献者为:
王慧维 - 副研究员 - 西南大学