IIWAB

DES的置换

IIWAB 3月前 ⋅ 97 阅读

1. 先列出 DES 里真正独立的“置换类”操作

(1)明文侧(数据通路)

  1. 初始置换 IP —— 64→64 位置换
  2. 16 轮 Feistel 中的 P 盒 —— 每轮 1 次,共 16 次(32→32 位置换)
  3. 末置换 FP = IP⁻¹ —— 64→64 位置换

→ 明文侧:1 + 16 + 1 = 18 次置换

(2)密钥侧(子密钥生成)

  • PC‑1、PC‑2、循环移位,这些一般不算在“18/19 次置换”里,只算密钥调度。

所以:
标准说法:DES 有 18 次置换(IP + 16×P + FP)。


2. 为什么有的教材写 19 次?

原因只有一个:统计口径不一样,常见两种:

情况 A:把“最后一轮不交换”也算成一次置换/换位

很多图画 Feistel 轮时:

  • 第 1~15 轮:L、R 交换
  • 第 16 轮:不交换,直接拼接 L16R16

有的教材把这 16 轮里的15 次交换 + 1 次“不交换”也记作一次特殊置换,再加上 IP、FP、16 个 P 盒:

  • IP:1
  • 16×P:16
  • FP:1
  • 最后一轮“换位/不换位”:1 → 合计 19

这是教学上为了讲清楚 Feistel 结构硬凑的数字,不是标准定义。

情况 B:把密钥里 PC‑1 或 PC‑2 也算进去

  • IP
  • 16×P
  • FP
  • PC‑1(或 PC‑2) → 也会凑出 19。

正规密码学标准和工程实现都不算密钥侧的 PC 作为那 18 次之一


3. 一句话总结

  • 标准 DES:18 次置换 = IP + 16 轮 P 盒 + FP
  • 教材写 19 次:多半是把最后一轮的换位/不换位也算成一次置换,属于教学统计口径,不是标准事实


全部评论: 0

    我有话说: