后量子密码与国密算法

共 29 题
📑 题目列表 29 题
#
★★★

1. ML-KEM 在 TLS 1.3 X25519MLKEM768 的混合 KEM 工程价值?

ML-KEM(FIPS 203,原 CRYSTALS-Kyber)在 TLS 1.3 的 X25519MLKEM768 混合密钥封装方案中具有怎样的工程价值?

  • 混合 KEM 的构造方式与安全性来源
  • 传统椭圆曲线与后量子格的互补性
  • TLS 1.3 中混合 KEM 的组命名与兼容性设计

ML-KEM 是 NIST 标准化的后量子密钥封装机制,其安全性基于 Module-LWE 困难问题。X25519MLKEM768 是一个组合 KEM,它对 X25519 和 ML-KEM-768 分别执行密钥封装,再将两条共享秘密通过一个组合哈希函数合并为最终共享密钥。这样即使未来量子计算攻破 X25519,ML-KEM 分量仍能保证安全性;反之若 ML-KEM 实现存在缺陷,X25519 也能兜底。工程价值在于它提供了"渐进式迁移":在同一个 TLS 1.3 握手中同时支持经典与后量子算法,无需改变握手协议结构,只需在 named groups 中注册新组标识。

混合 KEM 的核心是"双保险"思想——不信任单一算法,用密码学组合保证至少一方安全。TLS 1.3 的 NamedGroup 扩展机制天然支持注册新的混合组,X25519MLKEM768 就是这种组合的实际落地,客户端与服务端协商后即可在握手密钥交换中同时携带两套密钥封装结果。

#
★★

2. ML-KEM 的公钥与密文大小(~1184B 公钥, ~1088B 密文)的工程取舍?

ML-KEM 的公钥约 1184 字节、密文约 1088 字节,这种较大的密钥与密文尺寸带来哪些工程取舍?

  • 相对 RSA/ECC 的尺寸差异
  • 网络传输与存储开销
  • 与后量子安全性参数的权衡

相比 ECDH 的 32 字节公钥,ML-KEM 的公钥和密文大约贵 30-40 倍,因此在带宽受限场景(如低功耗 IoT、卫星链路)会带来明显开销。但这是后量子安全性的必然代价:格密码的密钥和密文天然较大,换取的是优异的计算性能(无需大数幂运算,主要是多项式乘法与数论变换 NTT)。工程取舍在于用带宽换 CPU:在 TLS 1.3 握手、端到端加密等场景中,一次性的几百字节传输是可接受的,而由此获得的抗量子安全强度是值得的。

格密码的特点是"计算快、尺寸大",与 RSA/ECC 的"尺寸小、计算重"形成对比。工程上应评估目标场景的带宽与延迟预算,在存储受限的嵌入式设备上可能需要考虑压缩或选择更紧凑的参数集。

#
★★

3. ML-KEM 的 Module-LWE 困难问题?

ML-KEM 的安全性基于 Module-LWE 困难问题,其数学结构与工程意义是什么?

  • Module-LWE 的定义与格的维度
  • 与标准 LWE 和 Ring-LWE 的关系
  • 参数选择与安全强度

Module-LWE 是标准 LWE 与 Ring-LWE 的折中。它把秘密向量与随机矩阵放在一个环 R_q 上(即环上的多项式模 z^n+1),并采用"模块"(module)结构,即维度 k 的向量由多个环元素组成。相比 Ring-LWE 的单多项式,Module-LWE 通过调节维度 k(如 2/3/4)可灵活控制安全强度,同时避免 Ring-LWE 对某些环结构可能存在的代数攻击。ML-KEM 的 ML-KEM-512/768/1024 分别对应不同安全级别,其抗量子比特强度由 Module-LWE 的参数决定。

Module-LWE 的工程价值在于其"可扩展性与效率平衡":维度 k 越大越安全但计算越重,k 越小越快但需更多填充。ML-KEM 通过 NTT 数论变换加速多项式乘法,使其在普通 CPU 上也能达到较高吞吐。

#
★★

4. FIPS 204(Module-Lattice-Based Digital Signature,原 CRYSTALS-Dilithium)的 44/65/87 参数矩阵?

FIPS 204(ML-DSA,原 CRYSTALS-Dilithium)的 44/65/87 参数矩阵代表什么,其工程含义是什么?

  • ML-DSA 的三个安全级别(参数集)
  • 参数与密钥/签名尺寸的关系
  • 与安全强度的对应

ML-DSA-44、ML-DSA-65、ML-DSA-87 分别对应 NIST 的 Level 2、Level 3、Level 5 安全强度(类比 AES-128、AES-192、AES-256)。数字越大,模块维度与多项式参数越大,安全性越高,但公钥、签名与计算开销也越大。工程上,ML-DSA-65 是应用最广的默认选择(Level 3,与 AES-192 相当),在安全性与性能之间取得平衡;ML-DSA-44 适合轻量场景,ML-DSA-87 用于高安全合规场景。

参数矩阵是"安全强度-性能"的滑动条。工程选型时需根据目标安全等级标准(如 requires Cat 3 或 Cat 5)选择对应参数集,同时评估签名大小对交易或证书长度的影响。

#
★★

5. ML-DSA 在 TLS 1.3 与 code signing 的工程应用?

ML-DSA 在 TLS 1.3 证书签名与代码签名(code signing)中的工程应用价值是什么?

  • TLS 1.3 中证书与握手签名
  • 代码签名的长期验证需求
  • 与 X.509 证书体系的集成

ML-DSA 作为后量子签名算法,可替代 RSA/ECDSA 用于 TLS 1.3 中的证书签名与握手身份认证,也可用于代码签名。由于其签名较大(约 2.4KB),在握手与证书中会增加传输与存储开销,但仍可接受。相对 SLH-DSA(几十 KB 签名),ML-DSA 在软件代码签名上更实用。工程上需要更新 X.509 证书、签名工具链与 CA 体系以支持新的 OID 与算法标识。

后量子签名迁移是"全链路"问题:不仅要更新算法,还要更新证书链、DNS、代码签名数据库等所有依赖签名格式的组件。ML-DSA 因签名适中、计算快,是迁移的首选签名算法。

#
★★

6. ML-DSA 的 Module-LWE 与 Module-LWR 的工程差异?

ML-DSA 中的 Module-LWE 与 Module-LWR 两种构造在工程上有何差异?

  • LWE 与 LWR 的噪声处理方法
  • 解密与签名中的确定性
  • 对参数与性能的影响

Module-LWE(Learning With Errors)在加密/封装中显式添加小噪声,解密时需通过误差分布恢复消息;Module-LWR(Learning With Rounding)则通过"舍入"(rounding)代替噪声注入,舍入本身即提供安全性,因此无需显式噪声采样。LWR 更高效、更简单(无需采样噪声),但安全分析更复杂,参数需更保守。ML-DSA 的先进构造自由度更高,主要基于 LWE 相关假设,而 LWR 常被用于更紧凑的 KEM/签名设计。

工程上,LWR 省去噪声采样步骤,可提升吞吐并减少失败率,但安全证明需要额外假设。选型时需在性能与安全分析的成熟度之间权衡。

#
★★

7. FIPS 205(Stateless Hash-Based Signature,原 SPHINCS+)的 hash-based 工程取舍?

FIPS 205(SLH-DSA,原 SPHINCS+)作为无状态哈希签名方案,其工程取舍是什么?

  • 无状态 vs 有状态签名
  • 签名大小与密钥管理
  • 基于哈希的安全基础

SLH-DSA 的安全性仅基于哈希函数的抗碰撞性,因此被认为对量子计算具有很高置信度的抗性("保守但安全")。其核心优势是"无状态"——不像 XMSS/LMS 那样需要追踪一次性密钥的使用次数,部署更简单。但代价是签名非常大(约 8KB 到 50KB),且计算开销较高。工程取舍在于:用存储与密钥管理便利性换取较大的签名与较高的计算成本,适合对签名大小不敏感、但重视长期安全与部署简单的场景(如固件签名、根证书)。

hash-based 签名的安全性最"透明",因为哈希函数是学术界研究最充分的密码原语。工程上,无状态特性消除了状态同步的分布式难题,是 SLH-DSA 相对 XMSS/LMS 的关键工程优势。

#
★★

8. SLH-DSA 的 FORS(Forest of Random Subsets)与 WOTS+ 在 SHA-256 的工程效率?

SLH-DSA 中的 FORS(Forest of Random Subsets)与 WOTS+ 结构在 SHA-256 下的工程效率如何?

  • FORS 与 WOTS+ 的作用
  • 一次性签名(OTS)与多树结构
  • SHA-256 下哈希次数与性能

SLH-DSA 采用"多树(hyper-tree)结构与一次性签名结合"的框架。WOTS+(Winternitz OTS)用于对消息分块签名,FORS 用于对消息的哈希值做"森林式"选择签名,两者都基于哈希函数。整个方案由多个 WOTS+ 层组成,每层验证上一层的认证路径。在 SHA-256 下,每生成一个签名需要数万次哈希计算,因此公钥、签名生成与验证都较慢,但可通过并行化与优化 SHA-256 实现提升吞吐。工程上,SLH-DSA 的验证比签名更快,适合作为"签名一次、验证多次"的长期签名。

效率瓶颈在于哈希次数而非内存。工程优化重点是减少哈希计算、合理分层(forest 深度与层数),并利用 SHA-256 的硬件/软件加速。

#
★★

9. 混合签名(hybrid signatures),传统 + PQC 并行部署的方案

混合签名(hybrid signatures)如何通过传统算法与 PQC 算法并行部署来提升迁移安全性?

  • 混合签名的构造方式
  • 安全冗余设计
  • 兼容性迁移

混合签名同时使用传统签名(如 ECDSA)与后量子签名(如 ML-DSA)对同一数据签名,并生成一个复合签名。验证方需同时验证两条签名,只要其中一条有效且算法安全,整体即安全。这种设计规避了"单一算法被攻破"的单一故障点,同时保持向后兼容——在过渡期,传统系统仍可验证,而新系统支持 PQC。工程价值在于它提供了"渐进式迁移"路径,避免一次性切换带来的风险。

混合签名的核心是密码学组合与"或"逻辑:多个独立算法的安全性取最优。工程上需定义复合签名的格式(如两条签名并列或使用组合哈希),并确保不同实现间互操作。

#
★★

10. "现在收割,以后解密"(harvest now, decrypt later)的工程风险

"现在收割,以后解密"(harvest now, decrypt later)攻击的工程风险是什么,如何防御?

  • 攻击者先收集加密数据
  • 长期机密性威胁
  • 防御策略(前向安全、混合密钥)

攻击者现在窃取并存储加密的通信数据,等待未来量子计算机成熟后离线破解。这尤其威胁需要长期保密的敏感数据(如医疗、金融、政府数据),因为破解不需要在线,只需一次采集。工程风险在于:即使今天部署的算法在当下安全,数据在多年后仍可能因量子算力被解密。防御策略包括:采用 PQC 密钥封装(如 ML-KEM)确保前向安全、对长期敏感的静态数据尽早使用后量子加密、以及使用混合密钥协商。

这是"机密性时效性"问题。RSA/ECC 的长期数据泄露风险高,而格密码与哈希签名对量子计算有抗性。工程上应对数据生命周期制定密钥轮换与加密迁移策略。

#
★★

11. 基于同源(isogeny)的 SIKE 在 NIST 第四轮评估中被攻破的密码学教训?

基于同源(isogeny)的 SIKE 在 NIST 标准化第四轮评估中被攻破,这给我们什么密码学教训?

  • SIKE 被攻破的原因
  • 密码分析领域的教训
  • 对标准化的启示

SIKE 是基于椭圆曲线同源(SIDH)的候选密钥封装,曾被看好因其公钥极小。但研究者 Castryck 和 Decru 利用同源图的数学结构(通过计算两个同源的"公共子群")提出了多项式时间攻击,在几天内被攻破。这暴露了"新数论结构的安全性难以预测"的教训:看似新颖的构造可能隐藏未被发现的代数弱点。它也展示了标准化流程的价值——多轮公开评估让攻击者有机会发现缺陷,从而避免部署后被攻破。

教训是"谨慎对待新假设、依赖充分研究的困难问题"。SIKE 的脆弱性来自同源计算的额外信息泄露,说明密码学安全性不仅依赖问题难度,还依赖构造方式是否泄露额外结构。工程上应优先采用经充分审查的成熟假设。

#
★★

12. 基于格的密码学(lattice-based),LWE、Module-LWE、Module-LWR 的困难问题如何?

基于格的密码学中的 LWE、Module-LWE、Module-LWR 三类困难问题分别是什么?

  • 三种困难问题的定义
  • 从 LWE 到 Module 的泛化
  • 噪声与舍入的区别

LWE(Learning With Errors)要求区分"加了噪声的线性方程"与"均匀随机向量",其困难性基于格问题的最坏情形到平均情形规约。Ring-LWE 把 LWE 放到多项式环上以提高效率。Module-LWE 是 Ring-LWE 的模块化推广,用多个环元素组成的向量,兼顾效率与安全。Module-LWR 则用舍入(rounding)代替显式噪声,构造更简单。这四者共同构成了现代格密码(如 ML-KEM、ML-DSA)的安全基础。

它们共享"格中找短向量"的困难性,只是代数结构与噪声方式不同。工程上,Module 结构允许通过调节维度 k 来平衡安全与性能,是标准化算法的首选。

#
★★

13. ML-DSA 公钥(~1312 bytes)、签名(~2420 bytes)的工程取舍?

ML-DSA-44 的公钥约 1312 字节、签名约 2420 字节,这些尺寸带来哪些工程取舍?

  • 相对经典签名的尺寸差异
  • 证书与交易存储开销
  • 与 SLH-DSA 的对比

相比 ECDSA 的 64 字节签名,ML-DSA-44 的 2420 字节签名大了约 40 倍,公钥也较大(ML-DSA-65 的签名约 3.3KB,尺寸随参数集递增)。这会影响 X.509 证书大小、TLS 握手负载、区块链交易与代码签名文件的尺寸。但其计算效率高、签名速度快,且无状态,适合大多数通用场景。工程取舍在于:在带宽与存储受限场景需权衡,但在加密、证书、区块链等场景中通常可接受,因此 ML-DSA 是后量子迁移的首选默认签名。

尺寸是后量子签名的主要工程成本,但 ML-DSA 相对 SLH-DSA(8-50KB)已算紧凑。工程上应评估证书链、消息广播与存储的容量影响。

#
★★

14. SLH-DSA 签名大小(~8KB to ~50KB)较大但 quantum-resistant 的工程价值?

SLH-DSA 的签名大小约 8KB 到 50KB,虽然较大但具抗量子性,其工程价值是什么?

  • 大签名 vs 抗量子安全的权衡
  • 适用场景(固件、根证书)
  • hash-based 的保守安全性

SLH-DSA 的签名虽大,但其安全性仅依赖哈希函数,对量子计算具有极高置信度的抗性,被视为"最保守、最可靠"的后量子签名。它在签名大小不敏感但需要长期安全保证的场景(如固件镜像签名、根证书、代码签名、长期文档)中很有价值。工程上,签名大但可接受,因为这类场景通常是一次性签名、多次验证,且验证速度较快。

工程价值在于"以尺寸换长期安全与部署简单"。相对 ML-DSA 的尺寸优势,SLH-DSA 提供的是对哈希函数抗性的绝对信任,适合生命周期极长的数字资产。

#
★★

15. SM2(基于 ECC 的非对称)在 GM/T 0003-2012 的工程标准?

SM2 作为基于椭圆曲线密码(ECC)的非对称算法,在 GM/T 0003-2012 国标中的工程标准是什么?

  • SM2 的算法框架(签名、加密、密钥交换)
  • 国标 GM/T 0003-2012
  • 与 NIST 曲线的差异

SM2 是中国国家密码管理局发布的椭圆曲线密码算法,覆盖签名、加密与密钥交换三种功能,标准号为 GM/T 0003-2012。它使用特定的国内曲线参数(sm2p256v1),与 NIST P-256 不同的曲线。SM2 在政企、金融、政务云等国产替代场景中广泛部署,其签名与 ECDSA 类似但加入了对消息的 SM3 哈希。工程上,SM2 常与 SM3、SM4 组成完整的国密算法栈。

SM2 的工程价值在于其国产化合规性,满足等保与密码应用要求。其安全性基于 ECC 的椭圆曲线离散对数假设,与 ECDSA 强度相当,但曲线参数不同。

#
★★

16. ML-KEM 的 FO transformation(IND-CCA2)相比 IND-CPA 的工程价值?

ML-KEM 通过 Fujisaki-Okamoto(FO)变换实现 IND-CCA2 安全性,相比仅有 IND-CPA 的构造,其工程价值是什么?

  • IND-CPA 与 IND-CCA2 的区别
  • FO 变换的机制
  • 实际攻击场景(CCA 攻击)

仅 IND-CPA 安全的 KEM 在攻击者能主动发送密文并观察解密结果(如 Padding Oracle、选择密文攻击)时会被攻破。FO 变换通过将公钥和密文纳入哈希、并在解密时重新加密验证一致性,把 IND-CPA 方案提升为 IND-CCA2 安全。工程价值在于:真实协议(如 TLS、金库解密)中攻击者常能触发解密预言(decryption oracle),IND-CCA2 是安全部署的必需属性,防止密文篡改与重放攻击。

FO 变换的核心是"解密一致性检查"——解密后重新封装并比对,若不一致则拒绝。这打断了攻击者利用错误填充信息的高级攻击路径,是密码学安全证明到工程安全的关键桥梁。

#
★★

17. SLH-DSA 的 12 个参数集(SHA2/SHAKE × s/f × 3 安全级别)的 s/f 模式工程取舍?

SLH-DSA 的 12 个参数集(如 SLH-DSA-SHA2-128s、SLH-DSA-SHAKE-128f)中 s 与 f 两种模式有何工程取舍?

  • s(small)与 f(fast)模式
  • 安全级别与哈希函数变体
  • 性能与签名大小的权衡

SLH-DSA 提供 12 个参数集(3 个安全级别 × 2 种哈希函数 × 2 种速度模式),组合了安全级别(128/192/256)、哈希函数(SHA2/SHAKE)与速度模式(s/f)。s 代表 small,签名更小但更慢;f 代表 fast,签名更快但更大。例如 128s 优化签名大小,128f 优化验证/签名速度。SHA2 变体在硬件(有 SHA-256 加速)上更快,SHAKE 变体在软件上可能更灵活。工程取舍在于:签名大小敏感且签名不频繁时选 s,需要高频签名/验证时选 f。

这是"空间 vs 时间"的经典权衡。f 模式通过减少 Merkle 树层数、增加每层分支数来加速,但付出更大签名代价。工程选型应结合签名频率与带宽预算。

#
★★

18. ML-DSA 的"rejection sampling"在签名生成的工程价值?

ML-DSA 签名生成中的"拒绝采样"(rejection sampling)有何工程价值?

  • 拒绝采样的作用
  • 防止签名泄露秘密
  • 安全性与性能权衡

ML-DSA 依赖 Fiat-Shamir 变换,其中签名中的秘密向量必须满足特定分布(如均匀分布或特定范数),否则可能泄露私钥信息。拒绝采样即在生成候选签名后,若其不满足分布要求则丢弃并重试,从而保证签名分布与秘密无关,防止侧信道/统计泄露。工程价值在于:它保证了签名的"零知识性",但代价是可能多次重试,导致签名时间不确定(有轻微延迟波动)。

拒绝采样是格签名的关键安全机制。若省略,签名可能暴露私钥的线性关系。工程上,重试概率通常较低(约 2/3 成功率),因此平均性能可接受,但需注意其在硬件实现中的时序一致性。

#
★★

19. SLH-DSA 在 firmware update、root certificate 的 long-term signature 工程价值?

SLH-DSA 在固件更新(firmware update)与根证书(root certificate)等长期签名场景中的工程价值是什么?

  • 长期签名的需求
  • 与 ML-DSA 的分工
  • 抗量子长期保证

固件更新与根证书的签名需要长期有效(可能十年以上),且签名是一次性生成、多次验证。SLH-DSA 因其仅依赖哈希函数、抗量子置信度最高,非常适合这类"长期安全"场景——即使未来量子计算成熟,这些签名仍可验证。虽然签名较大,但固件与证书通常不敏感于大小,且验证较快。工程价值在于为最关键、最长期的基础设施提供最保守的抗量子保证。

工程上常用"分层策略":短生命周期且频繁的签名用 ML-DSA(快而紧凑),长期关键的根证书/固件用 SLH-DSA(保守而可靠)。两者互补覆盖不同安全需求。

#
★★

20. 量子计算对 RSA、ECC 的威胁,Shor 算法如何起作用

量子计算通过 Shor 算法如何威胁 RSA 与 ECC 的安全性?

  • Shor 算法的原理
  • 对因数分解与离散对数的影响
  • 量子比特规模需求

Shor 算法能在量子计算机上多项式时间内求解整数分解与离散对数问题,分别对应 RSA 与 ECC 的安全基础。因此,一旦拥有足够量子比特的容错量子计算机问世,RSA 与 ECC 将完全失效。实际工程威胁取决于量子比特的规模与纠错能力,目前仍处"可能在未来数十年内实现"的阶段,但"harvest now, decrypt later"意味着长期机密性应立即应对。格密码与哈希签名不受 Shor 算法影响,是后量子替代方案。

Shor 算法利用量子傅里叶变换抽取周期,从而破解数论结构。这是 RSA/ECC 的根本脆弱性,也是 PQC 迁移的驱动力。工程上应尽早评估依赖 RSA/ECC 的资产与迁移路径。

#
★★

21. PQC 在硬件安全模块(HSM)的支持

后量子密码(PQC)在硬件安全模块(HSM)中的支持情况如何?

  • HSM 的角色与挑战
  • 密钥存储与算法更新
  • 固件升级与合规

HSM 是专门保护密钥的硬件设备,其支持 PQC 意味着:硬件需要能运行格密码的多项式运算(NTT)、存储更大的密钥并把密钥密封在硬件内。许多 HSM 厂商已开始提供 ML-KEM/ML-DSA 支持(通过固件/固件加速),但面临的问题包括:现有 HSM 的算力与内存对格运算的适配、密钥存储容量、以及固件升级的合规认证。工程价值在于,HSM 是根密钥与签名的信任锚,其 PQC 支持是后量子迁移的关键环节。

HSM 的挑战是"硬件加速与安全存储"的双重需求。工程上需评估 HSM 的处理器能力、内存与密钥管理接口,并安排合规的固件升级。

#
★★

22. 基于哈希的(hash-based)签名(XMSS、LMS)的状态管理

基于哈希的签名(XMSS、LMS)的状态管理是怎样的,其工程挑战是什么?

  • 一次性密钥(OTSK)与状态
  • 状态丢失的风险
  • 与无状态 SLH-DSA 的对比

XMSS 与 LMS 是有状态的哈希签名:每个签名密钥是一次性密钥(OTS),必须跟踪已使用的密钥数量(状态),否则重用会导致密钥泄露。状态管理要求签名必须持久化并同步状态,这在分布式系统、多副本签名或备份恢复场景中非常棘手——若状态回退或丢失,可能造成密钥重用。工程挑战在于状态的一致性、原子性写入与安全备份。相比而言,无状态的 SLH-DSA 消除了这一复杂性,但签名更大。

状态管理是哈希签名部署的最大障碍。工程实践包括:状态持久化到安全存储、单写者限制、以及状态变更的原子性。这也是 SLH-DSA 被选为无状态标准的原因。

#
★★

23. 基于格的(lattice-based)密码学的工程化挑战

基于格的密码学在实际工程化中面临哪些挑战?

  • 密钥/签名尺寸
  • 实现复杂度与侧信道
  • 性能与参数选择

格密码的工程化挑战包括:较大的密钥与签名尺寸(相对 ECC)、多项式乘法与 NTT 的实现复杂度、以及对侧信道攻击(如时序、功耗、缓存)的防护——格运算中的秘密对时序敏感。此外,参数选择需在安全强度与性能间权衡,且需要更严格的实现审计(如拒绝采样的时序一致性)。工程上,优秀的库(如 liboqs、pqcrystals)通过常量时间实现、硬件加速与清晰 API 缓解这些挑战。

格密码"计算快但实现难"。工程化重点包括:常量时间编码、避免秘密相关分支、以及充分的测试与侧信道评估。这也是 PQC 从算法到产品必须跨越的鸿沟。

#
★★

24. 基于编码(code-based)的 McEliece 在 NIST PQC 标准化进入第四轮最终被淘汰的工程原因?

基于编码的 McEliece 在 NIST PQC 标准化进入第四轮后最终被淘汰,其工程原因是什么?

  • McEliece 的安全优势
  • 密钥大小问题
  • 性能与实现复杂度

McEliece 的安全性基于一般线性码解码(Goppa 码)的困难性,研究历史长、抗量子置信度高。但它的公钥极大(约 1MB 甚至更大),需要将庞大的校验矩阵作为公钥存储与传输,这成为其工程化的致命障碍。此外,其实现复杂、密钥生成慢,难以在 HSM 与受限环境中部署。NIST 在第四轮评估后未将其纳入最终标准,主要就是因为这巨大的公钥在现实网络协议中不实用。

McEliece 展示了"安全性强但工程不可用"的案例。工程上,密钥/密文尺寸、部署便利性是标准化的重要考量,而不仅是安全强度。NIST 最终选择在尺寸与安全上更均衡的格密码方案。

#
★★

25. 基于多变量(multivariate)的 Rainbow 在 NIST PQC 第三轮评估期被攻破的工程教训?

基于多变量的 Rainbow 在 NIST PQC 第三轮评估期被攻破,这给我们什么工程教训?

  • Rainbow 被攻破的原因
  • 多变量密码的风险
  • 对快速标准化筛选的启示

Rainbow 是基于多变量二次方程(MQ)的签名方案,其签名小、速度快,曾被看好。但研究者在其作为第三轮最终候选期间(2022 年)发现了基于"彩虹带分离"(Rainbow band separation)的结构攻击,可在实际时间内伪造签名,导致其被淘汰。这说明了多变量密码系统中"隐藏结构"(trapdoor)的脆弱性——其内部结构可能被代数攻击利用。工程教训是:新构造的"看似高效"结构可能潜藏未发现的代数弱点,标准化过程中多轮公开评估至关重要。

类似 SIKE,Rainbow 的失败源于其内部陷门结构被攻击者利用。这提醒工程实践者优先采用研究充分、结构简单的成熟假设,而非追逐"性能最优"但安全性未经充分验证的新构造。

#

26. SM3(256-bit hash)在 GM/T 0004-2012 的工程应用?

SM3(256 位哈希)在 GM/T 0004-2012 国标中的工程应用是什么?

  • SM3 的算法特性
  • 国标 GM/T 0004-2012
  • 与 SHA-256 的关系与用途

SM3 是中国国家密码管理局发布的密码散列算法,输出 256 位,标准为 GM/T 0004-2012。其结构与 SHA-256 类似(Merkle-Damgård、512 位分组、64 轮压缩),但采用了不同的消息扩展与压缩函数常量。SM3 广泛用于 SM2 签名/加密、SM4 密钥派生、HMAC、以及政务、金融等国产化场景,作为抗碰撞哈希原语。工程上它常与 SM2/SM4 组成完整国密算法栈。

SM3 的工程价值在于国产合规与数字签名、完整性校验的集成。其抗碰撞与 SHA-256 相当,但出于国密合规要求而在国内生态中强制使用。

#

27. SM4(128-bit block、128-bit key)在 GM/T 0002-2012 的工程标准?

SM4(128 位分组、128 位密钥)在 GM/T 0002-2012 国标中的工程标准是什么?

  • SM4 的算法特性
  • 国标 GM/T 0002-2012
  • 分组密码模式与用途

SM4 是中国国家密码管理局发布的分组密码算法,128 位分组、128 位密钥,标准为 GM/T 0002-2012。它采用 32 轮 Feistel 结构(轮函数含 S-box 与线性变换),用于数据加密。SM4 通常配合 CBC、ECB、CTR、GCM 等模式使用,广泛部署于金融终端、政务云、物联网与国产加密芯片中。工程上,SM4 与 SM2、SM3 一起构成国密算法栈,满足国产化与合规要求。

SM4 的工程价值在于其轻量、适合软硬件实现,且满足国密合规。其 128 位密钥提供与 AES-128 相当的安全强度。

#

28. 国密算法在金融 IC、政务云、医疗 HIPAA 互认的工程价值?

国密算法在金融 IC、政务云、医疗 HIPAA 互认等场景中的工程价值是什么?

  • 国密算法的应用场景
  • 合规与互认需求
  • 国产化与安全性

国密算法(SM2/SM3/SM4)在金融 IC 卡、政务云、医疗等行业中用于满足中国密码法、等保与商用密码合规要求,确保数据加密、签名与完整性校验。其价值在于"国产化"与"合规互认"——政企与金融系统必须采用经国密认证的算法才能通过验收。在医疗 HIPAA 互认等跨境场景中,需要国密与国际标准算法(如 AES、SHA-256)的桥接与双栈支持,以兼顾国内合规与国际互操作。

国密算法的工程价值不仅是技术安全性,更是合规与信任。工程实践常采用"双算法栈"(国密 + 国际)以满足不同地区与监管要求,并借助硬件安全模块(如国密密码机、加密芯片)实现。

#

29. NIST PQC 标准化的三轮筛选与 ML-KEM、ML-DSA、SLH-DSA 最终算法

NIST PQC 标准化经过三轮筛选,最终选定了哪些算法(ML-KEM、ML-DSA、SLH-DSA)?

  • 三轮筛选流程
  • 最终标准算法
  • 各算法对应的问题/方案

NIST PQC 项目从 2016 年征集 69 个候选,经过三轮公开评估(结合安全、性能、实现评估),最终在 2022 年公布标准算法:ML-KEM(FIPS 203,基于 Module-LWE 的密钥封装,原 Kyber)、ML-DSA(FIPS 204,基于 Module-LWE 的签名,原 Dilithium)、SLH-DSA(FIPS 205,基于哈希的签名,原 SPHINCS+)。这三者分别覆盖密钥交换与签名两大类,且均被认为可抗量子计算。

三轮筛选的价值在于充分公开评估,淘汰了被攻破或工程不可用的方案(如 SIKE、Rainbow、McEliece 因工程问题落选)。最终选择的格与哈希方案在安全、性能与工程可用性上取得平衡。