第1章 课程概述:AES与SM4的发展背景、应用领域与学习目标

做密码学选型,最怕什么?

最怕项目上线后才发现算法选错了。轻则性能瓶颈,重则合规风险,搞不好还得回炉重造。我见过太多这样的案例了。

所以开篇第一章,咱们先不急着讲字节和密钥。先把 AES 和 SM4 的身世、来头、还有它们各自的地盘理清楚。底子打好了,后面选型的时候才不慌。

1.1 AES:从民间征集到全球标准

AES 的故事,得从 1997 年说起。那时候 DES 已经快撑不住了,56 位的密钥在现代计算面前跟纸糊的似的。美国国家标准与技术研究院(NIST)搞了个公开竞赛,全球的密码学家都来投标。

最后胜出的是 Rijndael 算法,由两位比利时密码学家设计。2001 年,它正式成为 FIPS 197 标准。

为什么是它?

  • 安全性高:到现在 20 多年了,除了旁路攻击和侧信道攻击,算法本身没被找出什么结构性漏洞。
  • 性能好:软硬件实现效率都很出色。尤其在硬件上,AES-NI 指令集出来以后,速度简直起飞。
  • 生态成熟:OpenSSL、Linux 内核、各种密码库全都默认支持。

我 2013 年做过一个金融加密机项目,主控芯片必须得用 AES-256。因为当时国密标准还没大规模普及,海外客户只认这个。说实话,AES 的生态确实省心,随手一搜就是现成的实现和测试向量。

要点备忘

AES 有三个变种:AES-128、AES-192、AES-256。后缀数字就是密钥长度。

咱们课程重点关注 AES-256,原因也很简单——它是目前商用的最高安全级别。

1.2 SM4:中国自己的密码标准

SM4 的故事完全不同。它最早是在 2006 年作为无线局域网标准发布的,代号 SMS4。我记得当时业内还不太看好,觉得它只用在 WAPI 里,应用面太窄了。

后来情况变了。

关键节点:

  • 2012 年:SM4 正式成为国家密码行业标准(GM/T 0002-2012)。
  • 2016 年:成为国家标准(GB/T 32907-2016)。
  • 近年来:等保 2.0、密评强制要求,SM4 在政务、金融、关键基础设施领域的部署量井喷式增长。

SM4 分组长度 128 位,密钥长度 128 位。结构上跟 AES 不同,是 32 轮的 Feistel 网络。我参与过国密改造项目,深知从 AES 切到 SM4 有多麻烦——不光是算法替换,还有证书、密钥管理体系、硬件支持的适配。嗯,这个后面专门会讲。

注意

SM4 的 128 位密钥长度不等于安全级别就比 AES-256 低。安全强度主要取决于算法设计。目前 SM4 在商用场景下被证明是安全的。

但如果真要从量子安全的角度去杠,那所有对称算法都得重新考虑——这事咱们放到最后一章聊。

1.3 应用领域对比:谁在什么地方用

说白了,这两个算法各有各的势力范围。我整理了一张表,你一看就明白。

领域 AES 的应用 SM4 的应用
国际合规 FIPS 140-2/3、PCI DSS、GDPR 默认推荐 在中国境外基本无法律认可
国内合规 非强制领域可用,但密评重点考核国密 政务、金融、社保、医疗等商用密码强制场景
硬件生态 完善。AES-NI、ARMv8 AES 指令、FPGA 硬核 近几年才跟进。部分国产芯片有 SM4 硬核,但覆盖率不如 AES
海外部署 首选。兼容性最好 尽量不要用,海外网络设备大多不支持
性能基准 极高。有硬件加速时可达数 GB/s 纯软实现比 AES 略慢;硬件加速在赶上来

你想想看,如果你的产品要出口到欧美,用 SM4 纯属给自己找事。反过来,国内政府项目要是还敢只用 AES……嗯,等保三级可能直接不让你过。

1.4 学习目标:这门课能帮你解决什么问题

讲背景不是为了卖弄知识。咱们这门课每个章节都有明确的目的。

学完第一章,你应该能:

  1. 理解两大算法的定位差异——一个是国际事实标准,一个是国内法定标准。
  2. 判断自己的项目到底该不该用国密——我从合规、生态、性能三个维度给了框架。
  3. 为后续的算法细节打地基——后面讲密钥扩展、轮函数、差分分析的时候,你得知道这些参数是怎么来的。

我个人习惯是,每学一个新算法,先把它放进一个坐标系里看。看它的历史背景、看它的对手、看它的生存环境。这样学起来才有“体感”,而不是背公式。

我的建议

如果你时间有限,至少把下面这张图的结构记在心里。它浓缩了整个第一章节的核心脉络。

第一章 知识结构框架 算法选型决策 AES 发展背景 国际标准 FIPS 197 生态成熟 · AES-256 海外合规首选 SM4 发展背景 国标 GB/T 32907 Feistel 结构 · 128位 国密合规 · 密评 核心思路:从背景 → 标准 → 技术特征 → 应用场景

这张图把第一章的核心脉络串起来了。从顶层的选型决策出发,左右分别展开 AES 和 SM4,每个分支都按“背景 → 标准 → 技术特征 → 应用场景”的节奏排下来。你看图就能回忆起本章的骨架。