这是 words.filippo.io 那份系列清单的最新一期。原作者 Filippo Valsorda,10 月 12 日发的。我读到第四段才决定认真看。
不是因为他更新了密码学清单。把 LLM 代码审查和内存安全语言塞进开发者安全实践,一份密码学指南干这事有点怪。但往下读我发现,这份比前几版更敢下结论。时间线变了——早期 2026 年的共识已经把后量子迁移目标定在 2029 年完成。这个我在这波讨论里也断断续续听人提,但被写进 Right Answers 系列,意义不一样。
真正让我把这篇放进夹子的,是它对 hybrid 的表态。作者说,如果上 hybrid 会拖慢迁移,直接上 pure ML-KEM-768。我一开始没马上接受。两头下注听着多安全。但回忆一下自己见过的项目,卡在“要不要 hybrid”评估上好几个月,迁移一点没动。harvest-now-decrypt-later 不管你有没有 hybrid,只要还有非后量子密钥交换在线跑,风险就在。这句话点破了我一直想不清的问题。
非对称部分变化很大。作者说大多数建议和 2018 年不同,很多和 2024 年也不同。密钥交换推荐在 TLS、SSH、HPKE、age 这些标准协议里用 X25519 配 ML-KEM-768。签名推荐 ML-DSA-44,密钥只存 32 字节种子。不推荐 hybrid 或复合签名,SSH 例外,因为 OpenSSH 10.6 选了 ssh-mldsa44-ed25519。
我之所以说这版值得点,不是因为上面这些参数更新。是作者直接披露 XAES-256-GCM 和 Cobblestone-128 是他自己的设计。一般写这种清单的人不会主动标。他标了,还引了第三方实现和分析。这让我对这份指南的信任升了一截,不是因为他设计得多好,而是他没装中立。
对称部分我原本以为会全面换 256 位。作者说 Grover 没实质改变实际建议,128 位在仔细分析过的设计里仍然可接受。散列 SHA-2 够用,优先 SHA-512/256。随机标识符建议用操作系统 CSPRNG 拿 32 随机字节,UUIDv4 才约 128 bits。我以前建表默认 UUIDv4 当主键,看了这条,没到 256 位,但作者也没说不能用,只是别把 UUIDv4 当 256 位随机使。这个例子让我记住了。
LLM 代码审查那条我一开始觉得突兀。密码学指南管起开发者日常了,这条我得缓缓。回头想,2026 年这俩早就不是边缘暴露面。作者不是在推荐拿 LLM 当审计员,而是当成开发者写代码时的辅助审查层。这个定位比我预想克制。这条没法顺手跑,观点类,只能读。
TLS 那部分没给 OpenSSL 好脸色,直接建议优先 rustls、Go crypto/tls,或者 BoringSSL、AWS-LC、s2n-tls。他说 GnuTLS、Mbed TLS、wolfSSL、Botan 都有历史安全失败。这条我同意,但我自己机器里还有 OpenSSL 的旧依赖,说不上跑,只是历史包袱。指南归指南,真换起来是另一回事。
还有两个点先记着。passkeys 到 2026 年还不是后量子,但抗钓鱼和凭据填充仍然值得用。Merkle Tree Certificates 预计 2027 年推出,作者建议用更新过的 ACME 客户端做准备。第二个我还没去查我常用的 ACME 客户端支不支持,先挂着。
这篇我没法跑,只读。不点链接也能带走的判断就一句:后量子迁移最贵的不是换算法,是等;如果 hybrid 让你等,跳过它。
