← [ BACK_TO_NOTES ]

3DES / TDEA

3DES/TDEA 通过对 DES 进行 EDE 三重运算延长密钥材料,但仍受 64-bit block size 与 meet-in-the-middle 等限制;NIST 已于 2024-01-01 撤回 SP 800-67 Rev.2,不再允许 TDEA 用于新的加密保护。

#evergreen #concept #crypto #algorithm

[!info] related notes

3DES / TDEA

一句话定义

3DES(Triple DES / TDEA)把 DES 这个 64-bit block cipher 连续应用三次,典型形式是 EDE:

C = E_K3(D_K2(E_K1(P)))

它是 DES 向更现代分组密码过渡时期的兼容方案,而不是今天应继续用于新系统的密码算法。

为什么是 EDE

历史上采用 Encrypt → Decrypt → Encrypt,一个重要原因是兼容性。

当 K1 = K2 = K3 时,EDE 会退化为单 DES:

E_K(D_K(E_K(P))) = E_K(P)

这让旧 DES 生态更容易迁移。

密钥长度不要只看 168 bit

3TDEA 使用三个 DES key。每个 DES key 通常表示为 64 bit,但其中包含 parity bits,实际有效 key material 是 56 bit。

所以三把独立 key 的名义有效 key material 是 56 × 3 = 168 bit。

但 168 bit key material 不等于 168 bit security strength。

由于 meet-in-the-middle 等攻击,3TDEA 的安全强度大约在 112 bit 级,而不是 168 bit。

2TDEA 与 3TDEA

历史上的 2TDEA 使用 K1 = K3,只有两把独立 DES key;3TDEA 则使用三把独立 key。

NIST 在 2017 版 SP 800-67 Rev.2 中已经不再允许 2TDEA。

今天学习 2TDEA 的主要意义是理解历史系统,而不是实现新系统。

64-bit Block Size 是关键历史包袱

3DES 虽然增加了 key material,但没有改变 DES 的 block size:64 bit。

这意味着大量数据处理时会更早受到 birthday-bound 类 block-collision 风险约束。

因此 3DES 的问题不只是速度慢,还包括:

  • block size 太小;
  • 历史设计包袱重;
  • 允许处理的数据量有限;
  • 现代硬件与协议已有更好的替代方案。

2024 之后的标准状态

NIST 已于 2024-01-01 撤回 SP 800-67 Rev.2。

TDEA 不再允许用于新的:

  • encryption protection;
  • key wrapping;
  • MAC protection。

仍允许的主要是 legacy processing,例如:

  • decrypt 历史密文;
  • unwrap 历史 key;
  • 验证历史 MAC。

这属于为了读取旧数据而保留兼容能力,而不是继续生成新的 TDEA 保护数据。

新系统应该怎么做

现代通用对称加密应优先采用当前协议和平台支持的现代算法,例如 AES,并使用经过标准化的 authenticated-encryption 方案。

不要继续为新系统设计 3DES 流程,更不要组合 3DES + ECB 之类的 legacy scheme。

常见误区

三次 DES = 168-bit security

不成立。Key material 和 effective security strength 不能直接等同。

3DES 只是慢一点,所以还能继续用

对新系统不成立。当前问题是标准状态与安全边界,不只是性能。

算法被撤回后历史数据就不能解密

不是。Legacy decrypt / unwrap / verify 正是仍保留的兼容用途。

学习检查

  1. 3DES 为什么通常采用 EDE?
  2. 为什么 168-bit key material 不等于 168-bit security strength?
  3. 2TDEA 与 3TDEA 的 key relation 有什么差异?
  4. 为什么 64-bit block size 是 3DES 的重要局限?
  5. NIST 2024 撤回以后,哪些用途已经不允许,哪些 legacy processing 仍可以存在?
  6. 为什么现代系统不应继续生成新的 3DES 保护数据?
创建于 2026/1/5 更新于 2026/9/30
Digital Biome
Access

键盘导航

j / k / ↑ / ↓
选择对象
Enter / o
打开选择
/ 或 Ctrl+K
全站搜索
i / f / 1–4
筛选当前列表
g → h / l / p / t / a
首页 / 笔记 / 项目 / 工具 / About
r → 1–9
打开所选对象的关联
u
返回上一页
Esc
关闭浮层 / 取消命令;输入框内清空文本