3. PQC密码学基础与工程选型

后量子密码(Post-Quantum Cryptography,PQC)并不是某一种算法的名字,而是若干类能抵抗经典计算机与量子计算机攻击的公钥密码算法族的总称。理解 PQC 的工程选型,关键不是背算法名字,而是先看清“哪类数学难题支撑哪类算法、它解决什么密码功能、代价落在哪里”。本节围绕格密码、哈希签名、编码密码三条主线展开,并结合 NIST 标准化进展,给出可落地的选型判断依据。

一、三大算法族:数学难题决定工程特性

格密码(Lattice-based)是目前 PQC 的主力。其安全性建立在格上困难问题之上,典型包括 LWE(Learning With Errors,带误差学习)、SIS(Short Integer Solution,短整数解)及其环/模变体 Ring-LWE、Module-LWE。它的最大优势是“功能全”:既能做密钥封装(KEM),也能做数字签名,还能支撑同态加密等高级功能。ML-KEM(基于 Module-LWE)和 ML-DSA(基于 Module-LWE/SIS)都属于这一类。工程上,格密码的密钥和密文尺寸中等偏大,但运算以多项式乘法和采样为主,适合软硬件实现,且加解密/签名速度通常优于传统 RSA。

哈希签名(Hash-based Signature)的安全性只依赖哈希函数的抗碰撞/抗第二原像性质,被认为是最保守、最经得起时间考验的方向。代表是 SLH-DSA(原 SPHINCS+),基于无状态哈希树结构。它的优点是安全假设极弱、签名可验证性强;代价是签名体积大(可达数千到数万字节)、签名速度慢,且部分方案有状态管理问题。因此它更适合固件签名、根证书、代码签名等“签名频率低、验证频率高、体积不敏感”的场景。

编码密码(Code-based)基于纠错码译码困难问题,经典代表是 McEliece 及其变体。它的历史最长、安全分析最充分,公钥极大(可达数百 KB 到 MB 级),但加解密速度快。NIST 在第四轮中推进了 Classic McEliece 等方案,主要用于对公钥体积不敏感、对长期安全性要求极高的密钥封装场景。

PQC 三大算法族:难题基础 → 功能 → 工程代价 格密码 Lattice-based 数学难题 LWE / SIS / Module-LWE 代表算法 ML-KEM (FIPS 203) ML-DSA (FIPS 204) FN-DSA / Falcon 功能覆盖 KEM 密钥封装 数字签名 工程代价 密钥/密文中等偏大 运算快,适合软硬件 签名速度优于 RSA 适用:通用 TLS / 接入认证 密钥交换 + 签名主力 哈希签名 Hash-based 数学难题 哈希抗碰撞 / 抗第二原像 代表算法 SLH-DSA (FIPS 205) LMS / XMSS (有状态) 功能覆盖 数字签名 无 KEM 工程代价 签名体积大(KB~数十KB) 签名慢,验证相对快 安全假设最保守 适用:固件/代码签名、根证书 低频签名、高频验证 长期安全锚点 编码密码 Code-based 数学难题 纠错码译码困难问题 代表算法 Classic McEliece BIKE / HQC 功能覆盖 KEM 密钥封装 签名较少 工程代价 公钥极大(数百KB~MB) 加解密速度快 安全分析历史最长 适用:长期密钥封装 公钥体积不敏感场景 高安全等级锚点 选型主线:功能需求(KEM/签名)→ 体积与性能约束 → 安全假设保守度 → 标准化状态

二、NIST 标准化进展:从竞赛到 FIPS

NIST 自 2016 年启动 PQC 标准化进程,2022 年公布首批入选算法,2024 年正式发布三项核心标准:FIPS 203(ML-KEM)、FIPS 204(ML-DSA)、FIPS 205(SLH-DSA)。此外,FN-DSA(Falcon)作为补充签名标准仍在推进,NIST 第四轮还遴选了 BIKE、Classic McEliece、HQC 等 KEM 备选方案。这意味着工程选型已有明确的“标准锚点”:通用场景优先选 FIPS 已发布的 ML-KEM + ML-DSA;需要最保守安全假设时叠加 SLH-DSA;对公钥体积不敏感的长期密钥封装可评估 Classic McEliece。

需要特别注意的是,NIST 标准给出的是算法规范与参数集,不直接规定协议集成方式。在零信任接入架构中,PQC 必须嵌入 TLS 1.3、IPsec、SSH 或自研认证协议,涉及密钥格式、证书编码、混合模式等工程细节,这部分由 IETF 等组织推进。

三、性能与安全权衡:用参数说话

工程选型不能只看“安全不安全”,还要看“代价能不能接受”。下表给出典型参数量级的对比(数值为公开资料中的常见量级,用于选型判断,具体以标准参数集为准):

算法类型公钥量级密文/签名量级相对速度安全假设
ML-KEM-768格 KEM约 1.2 KB约 1.1 KB快Module-LWE
ML-DSA-65格签名约 2 KB约 3.3 KB较快Module-LWE/SIS
SLH-DSA-128s哈希签名约 32 B约 7.8 KB签名慢仅哈希
Classic McEliece编码 KEM约 261 KB~1 MB约 128 B加解密快译码困难

从表中可以读出三条工程结论:第一,格密码是“均衡型”选手,体积和速度都处于可接受区间,适合作为默认主力;第二,哈希签名是“安全保守型”选手,体积代价大,但安全假设最弱,适合做根信任和固件签名;第三,编码密码是“体积换安全”选手,公钥极大但密文极小,适合对公钥分发不敏感、对长期安全要求极高的场景。

四、零信任接入中的选型决策

在零信任“永不信任、持续验证”的框架下,PQC 选型要同时满足身份认证、通道加密、策略下发三条链路。建议按以下顺序决策:

  1. 先定功能:需要密钥交换就选 KEM(ML-KEM 优先),需要身份签名就选签名(ML-DSA 优先)。
  2. 再看约束:终端资源受限、带宽敏感时,优先 ML-KEM/ML-DSA;固件、根证书等低频签名场景可叠加 SLH-DSA。
  3. 评估混合模式:过渡期普遍采用“经典 + PQC”混合,如 X25519 + ML-KEM-768,避免单一算法被攻破导致全盘失效。
  4. 核对标准状态:优先选择已进入 FIPS 或 IETF 草案的方案,降低互操作风险。
工程提示:PQC 迁移不是“换算法”而是“换生态”。证书链、密钥存储、硬件加速、协议扩展点都需要同步评估。建议先在非生产链路做混合模式验证,记录握手时延、证书体积、CPU 占用三项指标,再决定推广节奏。
常见误区:不要因为“格密码快”就忽略其密钥尺寸对 TLS 握手的影响;也不要因为“哈希签名安全”就在高频签名场景盲目使用,签名体积和耗时可能成为瓶颈。选型必须结合具体协议与部署环境实测判断。

综上,PQC 工程选型的核心逻辑是:功能匹配 → 约束过滤 → 安全假设权衡 → 标准化状态确认。格密码承担通用主力,哈希签名守住长期信任锚点,编码密码提供高安全备选。理解这三类算法族的数学基础与工程代价,才能在零信任接入架构中做出可落地、可演进、可验证的密码选型。