0Pricing
Cryptology Academy · 课时

DES 带来的教训:我们学到了什么

研究 DES 时代的密码学和政策教训,以及它们如何影响我们如今设计标准的方式

DES 带来的教训:我们学到了什么 是 CoddyKit 上的免费 Cryptology Academy 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Cryptology Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Cryptology Academy 课程共包含 4 节课。

密钥长度与摩尔定律

DES 的 56 位密钥是根据 1977 年的计算能力设计的。设计者预计它至少能够安全使用 10 至 15 年。到 1997 年(20 年后),它已经可以在数月内被破解;到 1999 年,破解只需数小时。

其中的启示是:密码学密钥长度必须考虑未来的计算能力提升。NIST 目前建议系统具备至少 112 位的安全裕度,以确保到 2030 年仍然安全;对于长期安全性,则建议使用 128 位或更高的安全裕度。

公开的算法设计与柯克霍夫原则

奥古斯特·柯克霍夫于 1883 年指出,即使除密钥之外的系统所有信息都已公开,密码算法仍应保持安全。DES 是首个明确以这一原则为设计依据的政府标准化密码算法。

公开 DES 的完整规范,使密码学界能够在 20 年间持续分析其弱点。在公开审查下,这一密码算法表现得比那些依赖算法保密性的替代方案更加坚韧。

S 盒设计标准

DES 首次发布时,S 盒的设计标准由 NSA 保密。这引发了关于后门的阴谋论。20 世纪 90 年代,这些标准被公开,结果显示 S 盒经过专门设计,可以抵抗差分密码分析。

这一透明度方面的经验促成了现代密码算法竞赛的做法:要求公开完整的设计依据。AES 候选算法公开了完整的设计标准和安全性论证,从而能够接受彻底的公开分析。

NSA 的作用与标准化信任

NSA 参与将 DES 的密钥长度从 128 位缩短至 56 位并修改 S 盒,导致人们长期不信任政府参与密码学标准的制定。

2013 年 Dual_EC_DRBG 后门丑闻进一步加剧了这种不信任。当时发现 NSA 曾蓄意削弱 NIST 的随机数生成器标准。DES 的经历形成了一种模式:人们应当对政府干预密码算法保持合理的怀疑。

算法敏捷性

DES 带来的一个教训是算法敏捷性的重要性:系统应设计为能够轻松替换已经过时的密码算法。将 DES 硬编码在系统中的做法,导致迁移时需要付出高昂的整体替换成本。

现代密码协议(例如 TLS)会在每次连接开始时协商算法选项,使通信双方能够确定彼此支持的最强算法。这意味着可以部署新算法,而不会破坏向后兼容性。

竞赛是更好的替代方案

NIST 从 DES 的经历中认识到,封闭的政府流程会造成不信任,并可能产生较弱的算法。AES 竞赛(1997—2001 年)完全开放:全球任何组织都可以提交候选算法。

来自 US、欧洲和其他地区的团队共提交了 15 个算法。5 个入围算法接受了 3 年的公开分析。由比利时密码学家开发的 Rijndael 凭借技术优势胜出。开放流程使人们对 AES 产生了广泛信心。

AES 竞赛带来的直接经验

AES 竞赛直接应用了 DES 带来的经验:提供较大的密钥选项(128 位、192 位和 256 位)、使用 128 位分组长度来应对人们对生日攻击的担忧、公开完整的设计标准,以及开展多年公开密码分析。

AES 经受住了 20 多年的公开密码分析,至今没有出现实用攻击。针对 AES 的已知最佳攻击仅比穷举攻击略有效,这证明开放竞赛流程确实产生了强健的密码算法。

硬件中的 DES:警示性的遗产

自动取款机、支付终端、卫星解码器和工业控制系统中存在数百万个 DES 硬件实现。更换硬件的成本远高于更新软件,所需时间也更长。

其中的教训是:硬件密码学实现必须从一开始就规划算法替换。现代硬件安全模块和智能卡芯片都设计为支持多种算法,并且可以通过固件更新来加入新的标准。

标准化流程的改进

DES 之后,NIST 的标准化流程变得更加透明和包容。公众意见征集期得到延长,算法设计在标准化之前就会完整公开,并且积极鼓励国际参与。

NIST 的后量子密码学标准化工作(2016—2024 年)应用了所有这些经验:开放的国际竞赛、多轮公开密码分析、透明的选择标准,以及同时对多种算法进行标准化以保持多样性。

增加密钥位数成本低,密钥管理却很难

现代密码学已经解决了密钥长度问题:AES-256 提供了极大的安全裕度,在可预见的未来,穷举攻击都不可能成功。剩下的挑战是密钥管理。

密钥生成(真正随机)、密钥存储(防止未经授权的访问)、密钥分发(与正确的各方安全共享)、密钥轮换(在不中断服务的情况下更换密钥)以及密钥撤销(撤销已遭泄露的密钥),都是尚未解决的问题,也是现实世界中大多数密码学故障的原因。

后量子迁移:历史重演

后量子密码学迁移(PQC)是 DES 迁移到 AES 的现代版本。量子计算机会威胁 RSA 和 ECC,就像计算硬件的指数级增长曾经威胁 DES 一样。

NIST 于 2024 年完成了首批 PQC 标准:使用 CRYSTALS-Kyber(现称 ML-KEM)进行密钥封装,使用 CRYSTALS-Dilithium(现称 ML-DSA)进行签名。DES 带来的经验,包括开放竞赛和算法敏捷性,都被直接应用于 PQC 标准化流程。

密码学经验测验

请测试您对 DES 时代经验的理解。

要点:DES 带来的经验

DES 告诉我们,密钥长度必须考虑摩尔定律;公开审查会使密码算法更强;S 盒设计标准应当公开;政府参与标准制定则必须保持透明。

算法敏捷性、开放竞赛(AES、PQC)以及为算法替换而设计的硬件,都是对 DES 遗产的直接回应。现代密码学中最困难的问题不是密钥长度,而是密钥管理。

常见问题解答

「DES 带来的教训:我们学到了什么」课时是免费的吗?

是的 — 「DES 带来的教训:我们学到了什么」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Cryptology Academy 课程的其余内容,请升级到 CoddyKit PRO。 Cryptology Academy 课程共包含 4 节课。

「DES 带来的教训:我们学到了什么」这节课中我会学到什么?

研究 DES 时代的密码学和政策教训,以及它们如何影响我们如今设计标准的方式 你通过在浏览器中直接运行的动手代码来练习 Cryptology Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Cryptology Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Cryptology Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。

「DES 带来的教训:我们学到了什么」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Cryptology Academy 课中编写并运行代码吗?

能。每节 Cryptology Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. DES 的设计与 Lucifer 密码
  2. DES 是如何被破解的
  3. Triple DES:延长 DES 的生命周期
  4. DES 带来的教训:我们学到了什么
← 返回 Cryptology Academy