首页/安全/加密与证书速查/DES 数据加密标准(已淘汰)
加密算法基础95 条

DES 数据加密标准(已淘汰)

1977 年的美国联邦分组密码标准:64 位分组、56 位有效密钥、16 轮 Feistel;密钥空间已被穷举验证攻破,仅存在于遗留系统中。

加密与证书速查安全更新于 2026-10-13

DES 是什么

DES(Data Encryption Standard)是 1977 年的美国联邦分组密码标准(FIPS 46-3,已撤销):分组 64 位、有效密钥仅 56 位(8 字节中以每字节 1 位作奇偶校验)、16 轮 Feistel 结构。56 位密钥空间在现代算力下可被穷举,1998 年已有公开的专用硬件演示破解,如今它只存在于遗留系统中。

基本信息

标准FIPS 46-3(已撤销)
分组 / 密钥64 位分组 / 56 位有效密钥
结构16 轮 Feistel 网络
现状新系统不再选用,NIST 已宣布淘汰
替代方案AES-128/256、SM4;必要时 3DES 仅作过渡
OpenSSL 3.x 注意DES/3DES 位于 legacy provider,需显式加载
常见遗留位置老文件格式、老设备固件、老协议报文

典型使用场景

  • 遗留系统兼容:老设备或老格式只支持 DES,需要能读写以完成数据迁移
  • 数据迁移评估:盘点哪些历史文件与协议仍使用 DES,确定迁移优先级
  • 渗透复盘:扫描工具报告 DES 使用时判断影响范围与爆炸半径
  • 教学与协议分析:16 轮 Feistel 结构是理解分组密码设计的经典案例
  • 合规整改:等保与行业规范通常明确要求停用 DES 与弱密钥长度

识别遗留用法(OpenSSL 3.x 需 legacy provider)

识别遗留用法(OpenSSL 3.x 需 legacy provider)
# OpenSSL 3.x 默认不加载 legacy provider,直接使用会报未知算法
openssl enc -des-cbc -provider legacy -provider default -in old.dat -out old.enc
openssl enc -d -des-cbc -provider legacy -provider default -in old.enc -out old.dat
# 查看当前 OpenSSL 是否可用 DES(3.x 需带 provider 参数)
openssl list -cipher-algorithms -provider legacy -provider default | grep -i des
# 检查配置与代码中是否仍引用 DES
rg -i 'des-|des_|3des' /etc/ /opt/app 2>/dev/null | head

与替代算法对照

算法有效密钥现状迁移建议
DES56 位已淘汰,可被穷举立即迁移,历史数据重新加密
3DES(2TDEA)约 112 位逐步停用,64 位分组有碰撞风险优先迁移到 AES-GCM
3DES(3TDEA)168 位NIST 已停止认可加密用途新系统不再选用
AES-128/256128/256 位主流推荐配合 GCM 等 AEAD 模式使用
SM4128 位国密推荐国密体系中替代 AES 的对应选择
DES 的密钥强度常被误判:8 字节密钥里有 8 位是奇偶校验位,有效密钥只有 56 位;按 64 位评估安全性是常见错觉。任何新设计都不应选用 DES,历史数据也应排期重新加密为 AES 或 SM4。
在 OpenSSL 3.x 上遇到 unknown cipher 报错时,先确认是否属于 legacy provider 范围(DES、RC4、MD4 等)。这些算法被刻意移出默认 provider,需要显式加载;但要注意:能加载不等于应该继续使用,兼容与整改要分开推进。

易错点

  • 按 64 位密钥长度评估 DES 强度:有效密钥只有 56 位,实际强度远低于字面理解
  • OpenSSL 3.x 下直接调用 DES:默认不加载 legacy provider,报未知算法;应显式指定 provider 并同时规划迁移
  • 在 3DES 上原地停留而不迁移:64 位分组存在 Sweet32 类碰撞风险,长期大量数据加密不安全
  • 只更换新数据的算法:历史密文仍由 DES 保护,风险敞口不变,需要做存量重加密
  • 把 DES 用于口令或密钥派生:56 位密钥空间与实现细节都不足以支撑任何安全假设

数据来源与参考

  • FIPS 46-3(DES,已撤销)
  • NIST SP 800-131A Rev.2(算法过渡)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌