HSM KitHSM 工具箱
中文

DES 与 3DES:支付领域的遗留加密标准

加密# DES# 3DES# 三重DES# 支付安全
最后更新: 2026年4月3日5 分钟阅读By HSM Kit Team
现在需要计算吗?
使用我们免费的在线 DES/3DES 加密工具 工具。

DES 和 3DES(三重 DES)在银行和支付系统中作为主流加密标准使用了数十年。虽然已被 AES 大量替代,但它们在遗留支付基础设施中仍然广泛存在。本文解释它们的工作原理以及您仍会遇到它们的场景。

什么是 DES?

DES(数据加密标准)于 1977 年被 NIST 采用。它是一种分组密码,使用 56 位密钥对 64 位(8 字节)数据块进行加密。

基本参数:

  • 分组大小:64 位(8 字节)
  • 密钥大小:56 位(存储为 64 位,含奇偶校验位)
  • 结构:Feistel 网络,16 轮
  • 状态:已被破解——56 位密钥对现代硬件来说太小了

为什么 DES 已被破解

56 位密钥意味着 2⁵⁶ ≈ 72 千万亿种可能的密钥。1998 年,EFF 的"Deep Crack"机器花费 22 小时、25 万美元破解了 DES。如今,类似硬件只需几千美元,几小时内即可破解 DES。

新系统绝不使用单 DES。

什么是 3DES(三重 DES)?

3DES 将 DES 应用三次以提高安全性:

加密: C = DES_Encrypt(K3, DES_Decrypt(K2, DES_Encrypt(K1, P)))
解密: P = DES_Decrypt(K1, DES_Encrypt(K2, DES_Decrypt(K3, C)))

这种 EDE(加密-解密-加密)结构是为了向后兼容——如果 K1=K2=K3,它退化为单 DES。

3DES 密钥选项

选项密钥有效密钥位数说明
3 密钥 3DESK1≠K2≠K3112 位使用 3DES 时推荐
2 密钥 3DESK1≠K2,K3=K180 位较弱,避免使用
1 密钥 3DESK1=K2=K356 位与 DES 相同,无意义

3DES 密钥通常为 16 字节(2 密钥)或 24 字节(3 密钥)。

DES 密钥奇偶校验

DES 密钥有一个特殊属性:每个字节包含 7 位密钥数据和 1 位奇偶校验位。奇偶校验位的设置使每个字节有奇数个 1 位

密钥字节: 0101 010[P]
          ↑ 7 位密钥数据  ↑ 奇偶校验位

XOR 运算(如密钥分片)后,奇偶校验可能丢失,必须恢复。密钥分片生成器 在合并密钥组件时自动调整奇偶校验。

3DES 在支付系统中的应用

3DES 在支付基础设施中根深蒂固:

PIN 加密

  • ATM PIN 键盘使用 3DES 加密 PIN(ISO 9564 格式 0/1/3)
  • PIN 加密密钥(PEK)是 3DES 密钥
  • 参见 PIN 块指南PIN 块工具

DUKPT(ISO 9797)

MAC 算法

  • ISO 9797-1 算法使用 DES/3DES
  • 零售 MAC(ANSI X9.19)使用 3DES
  • 参见 MAC 指南

HSM 密钥存储

  • Thales、Futurex 和 Atalla HSM 将密钥存储为 3DES LMK 加密形式
  • TR-31 版本 A、B、C 使用 3DES 密钥封装
  • 参见 HSM 概述

CVV/CVC 计算

3DES 与 AES 对比

属性3DESAES
分组大小64 位128 位
密钥大小112/168 位128/192/256 位
速度比 DES 慢约 3 倍快得多
安全性尚可(约至 2030 年)
状态遗留,正在淘汰当前标准
支付使用广泛遗留增长中

NIST 于 2023 年弃用 3DES,2030 年后将禁止使用。新支付系统应使用 AES。

从 3DES 迁移到 AES

支付行业正在积极迁移:

  • TR-31 Version D:基于 AES 的密钥块(替代版本 A/B/C)
  • DUKPT AES:基于 AES 的每笔交易密钥(替代 3DES DUKPT)
  • PIN 块格式 4:AES 加密的 PIN 块(替代格式 0/1/3)
  • AES-CMAC:替代 ISO 9797-1 MAC 算法

3DES 密钥的 KCV

3DES 密钥的密钥校验值:

  1. 使用 3DES 密钥在 ECB 模式下加密 8 字节 0x00
  2. 取前 3 字节(6 个十六进制字符)

示例:密钥 0123456789ABCDEFFEDCBA9876543210 → KCV 08D7B4

使用 密钥生成器 生成带 KCV 的 3DES 密钥,或使用 密钥分片生成器 将其分成组件。

在线工具

相关工具
DES/3DES 加密工具