1. PQC工程导论

后量子密码(Post-Quantum Cryptography,PQC)工程要解决的不是“换一个更长的密钥”这么简单的问题,而是当攻击者拥有大规模容错量子计算机时,今天互联网上几乎所有公钥基础设施(PKI)赖以生存的数学假设都可能失效。工程团队必须回答三个问题:威胁何时真实、哪些算法先失效、迁移如何在不中断业务的前提下完成。本章先建立威胁模型,再分析 Shor 与 Grover 对公钥密码的不同冲击,最后给出 NIST 标准化进程与可落地的迁移路线图。

1. 量子威胁模型:先分清“谁在攻击、攻击什么”

PQC 工程中的威胁模型不是抽象的物理概念,而是对攻击者能力、攻击时间窗和攻击目标的明确假设。工程上通常把量子威胁分为三类:

  • “先存后解”(Harvest Now, Decrypt Later):攻击者今天抓取并存储加密流量,等量子计算机成熟后再解密。它直接威胁长期保密数据,如医疗档案、身份信息、政府机密。
  • 签名伪造与身份冒充:一旦量子计算机能运行 Shor 算法,RSA、ECDSA、EdDSA 等签名可被伪造,攻击者可冒充服务器、签发假证书、篡改固件签名。
  • 密钥交换被实时破解:TLS 握手、VPN、SSH 中的 ECDH/RSA 密钥交换被攻破后,会话密钥可被实时恢复,前向保密失效。

威胁模型的关键参数是“时间窗”:数据保密期 + 系统生命周期 vs. 量子计算机可用时间。若某系统需要保密 15 年,而量子计算机可能在 10 年后出现,则今天就必须开始迁移。工程上常用“Mosca 不等式”判断:X + Y > Z 时风险成立,其中 X 为数据保密年限,Y 为迁移所需时间,Z 为量子计算机预计可用时间。

2. Shor 与 Grover:两种算法、两种冲击

Shor 算法解决的是整数分解与离散对数问题,它把 RSA、DH、ECDH、ECDSA、DSA 等算法的有效安全强度从“指数级”降为“多项式级”。这意味着 2048 位 RSA 在量子计算机面前不再提供 112 位安全强度,而是接近可被直接求解。受 Shor 影响的算法必须整体替换,不能靠加长密钥补救。

Grover 算法解决的是无序搜索问题,它把对称密钥搜索的复杂度从 2^n 降到 2^(n/2)。因此 AES-128 的量子安全强度约等于 64 位,AES-256 约等于 128 位。工程结论是:对称密码不需要替换,但需要提升密钥长度;哈希函数同样只需加长输出(如 SHA-256 仍可用,SHA-384/512 更稳妥)。

工程判断口诀:Shor 打“公钥”,必须换算法;Grover 打“对称”,只需加长度。PQC 迁移的主战场是密钥交换与数字签名,而不是 AES 和 SHA。

3. NIST PQC 标准化进程:从候选到标准

NIST 自 2016 年启动 PQC 标准化,经过多轮筛选,已形成以格密码为主、哈希签名为辅的标准格局。工程上需要关注的标准包括:

标准算法用途工程特点
FIPS 203ML-KEM(CRYSTALS-Kyber)密钥封装/密钥交换密钥与密文较小,性能好,适合 TLS/VPN
FIPS 204ML-DSA(CRYSTALS-Dilithium)数字签名签名较大,验证快,适合证书与固件签名
FIPS 205SLH-DSA(SPHINCS+)数字签名基于哈希,保守安全,签名大、速度慢
FIPS 206FN-DSA(FALCON)数字签名签名紧凑,但实现复杂,需注意浮点与侧信道

工程选型时不能只看标准编号,还要看协议兼容性、证书链长度、握手包大小、硬件加速支持、侧信道防护成熟度。例如 ML-KEM 适合替换 ECDH,ML-DSA 适合替换 ECDSA,但两者都会显著增大握手包和证书体积,可能触发 TCP 分片、MTU 限制或中间件兼容问题。

4. PQC 迁移的工程挑战与总体路线图

PQC 迁移不是“把算法库换掉”就结束,它涉及密码敏捷性、协议改造、证书体系、硬件信任根、性能与合规。典型挑战包括:

  • 密码敏捷性不足:很多系统把算法写死在固件、协议或配置中,无法平滑切换。
  • 协议与报文膨胀:PQC 公钥、密文、签名普遍更大,TLS ClientHello、证书链、IKE 报文可能超限。
  • 混合模式过渡:为降低风险,通常采用“经典 + PQC”混合密钥交换,如 X25519 + ML-KEM-768。
  • 性能与资源:嵌入式设备、HSM、智能卡需要评估内存、算力、功耗和密钥存储。
  • 合规与互操作:不同厂商、不同标准版本之间需要互操作测试与回退策略。

下面给出一个可执行的总体路线图,按“盘点—试点—混合—切换—退役”推进:

阶段 1  密码资产盘点
        输出:算法清单、协议清单、证书清单、数据保密期
阶段 2  风险分级与优先级
        输出:高价值系统清单、迁移时间窗、Mosca 不等式判断
阶段 3  实验室试点
        输出:ML-KEM/ML-DSA 性能基线、握手包大小、兼容性报告
阶段 4  混合模式上线
        输出:X25519+ML-KEM-768 混合密钥交换、双证书链
阶段 5  纯 PQC 切换
        输出:关闭经典算法、更新信任根、完成互操作测试
阶段 6  经典算法退役
        输出:RSA/ECDSA 下线、密钥销毁、审计归档

在试点阶段,建议至少采集以下参数:握手延迟、CPU 占用、内存峰值、证书链字节数、TLS 记录分片次数、HSM 密钥生成时间。以 TLS 1.3 为例,若将 X25519 替换为 X25519+ML-KEM-768,ClientHello 和 ServerHello 的密钥共享会明显增大,工程上需要验证是否触发 ssl_buffer_size 或 MTU 分片。若握手包超过 1500 字节,可能需要在协议层启用分片或调整 max_fragment_length。

实践建议:先做“密码敏捷性”改造,再谈算法替换。把算法标识、密钥长度、证书模板、协议版本做成可配置项,才能在 NIST 标准更新或出现新攻击时快速响应。

5. 本章知识结构图

下图把量子威胁、算法冲击、标准与迁移路线整合为一张关系图,便于建立全局视角。

PQC 工程导论:威胁 → 冲击 → 标准 → 迁移 量子威胁模型 • 先存后解(HNDL) • 签名伪造 / 身份冒充 • 密钥交换实时破解 • Mosca 不等式:X+Y > Z 算法冲击 Shor → RSA/ECDH/ECDSA 失效 Grover → AES-128 降为 64 位 结论:公钥换算法,对称加长度 哈希:SHA-256 可用,推荐 SHA-384 NIST PQC 标准 FIPS 203:ML-KEM(密钥封装) FIPS 204:ML-DSA(签名) FIPS 205:SLH-DSA(哈希签名) FIPS 206:FN-DSA(FALCON) PQC 迁移总体路线图 1 资产盘点 算法/协议/证书 2 风险分级 保密期/时间窗 3 实验室试点 性能/兼容基线 4 混合上线 X25519+ML-KEM 5 纯 PQC 切换 关闭经典算法 6 经典退役 RSA/ECDSA 下线 试点阶段关键观测参数 握手延迟 · CPU 占用 · 内存峰值 · 证书链字节数 TLS 记录分片次数 · HSM 密钥生成时间 · 互操作通过率 判断依据:握手包是否超 MTU、是否触发分片、回退是否可控

把这张图作为工程检查表使用:左侧确认威胁是否成立,中间确认哪些算法必须替换,右侧确认标准选型,底部按阶段推进并记录参数。只有把“威胁—算法—标准—迁移”串成一条可验证的链路,PQC 工程才不会停留在概念层面。