DES补充材料

作为参考，本文提供了数据加密标准（DES）块密码中提到的各种查找表的细节。

本文档中的数据都是以大端序排列的，也即首位为MSB。

初始置换(IP, Initial permutation)

该表显示了对64位块的初始置换，其意义如下：输出的首位为输入的第58位，第二位为50位，依此类推，输出的最后位为输入的第7位。

以上信息为了方便表示被写成表格形式，但它实际上是一个矢量，而非矩阵。

最终置换 (IP-1)

IP-1（亦被称为FP）是IP的逆过程，上表的含义与IP的相似。

扩张函数 (E函数)

扩张函数被作为最初和最终的置换。注意输入中的某些位在输出中被用到了不止一次，例如输入的第5位出现在输出的第6和8位。因此，32位的半块输入被扩张到了48位。

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盒）。

密钥调度过程中的移位

在子密钥生成完成前，密钥调度状态的每个半块都要向左循环移动特定的位，上表显示了移位的数量。

参考文献 

 

数据加密标准
S盒