DES 有多少轮?


DES 使用 16 轮。这 16 轮中的每一轮都包含以下高级步骤:

  • 密钥转换 - 初始 64 位密钥通过丢弃每个第 8 位来转换为 56 位密钥。因此,每一轮都有一个 56 位密钥可用。从这个 56 位密钥中,每一轮都会使用称为密钥转换的过程生成不同的 48 位子密钥。

    将 56 位密钥分成两个 28 位的半部分。根据轮数,这两半部分会循环左移一位或两位。

    例如,如果轮数是 1、2、9 或 16,则只左移一位。对于其他轮数,则循环左移两位。每一轮移动的密钥位数显示在表中。

轮数12345678910111213141516
移动的密钥位数1122222212222221

         每轮移动的密钥位数

  • 扩展置换 - 初始置换后,它有两个 32 位明文区域,称为左明文和右明文。在扩展置换期间,RPT 从 32 位扩散到 48 位。它可以将位大小从 32 位增强到 48 位,位也经过置换,即所谓的扩展置换。

  • S盒替换 - S盒替换是一个过程,它接收来自 XOR 运算的 48 位输入(包含压缩密钥和扩展 RPT),并使用替换技术生成 32 位输出。

  • P盒置换 - S盒的输出包含 32 位。这 32 位使用 P盒进行置换。这个简单的置换结构包含简单的置换,包括用 P盒表中定义的另一个位替换每个位,而无需任何扩展或压缩。这称为 P盒置换。

    P盒显示在表中。例如,第一个块中的 16 表示原始输入中第 16 位的位置变为输出中第 1 位的位置,而块号 16 中的 10 表示原始输入中第 10 位的位置变为输出中第 16 位的位置。

16720212912281711523265183110
28241432273919133062211425
  • 异或和交换 - 所有这些操作都只在 64 位原始明文的 32 位右半部分上执行。左半部分到目前为止不受影响。在此阶段,初始 64 位明文块的左半部分与 P盒置换生成的输出进行异或运算。

更新于:2022年3月14日

浏览量 1K+

开启你的职业生涯

完成课程获得认证

开始学习
广告