用Rust构建后量子密码学:SLH-DSA开源实现解析

本文详细介绍了Trail of Bits团队基于Rust语言开发的SLH-DSA后量子密码算法开源实现,涵盖算法选择原因、实现技术优势、内存安全特性及未来优化方向,为后量子密码迁移提供关键技术方案。

我们编写了代码,代码赢得了胜利 - Trail of Bits博客

Tjaden Hess
2024年8月15日
密码学, 开源

本周初,NIST正式宣布了三项指定FIPS批准的后量子密码算法标准。无状态基于哈希的数字签名算法(SLH-DSA)是这些标准化算法之一。Trail of Bits密码学团队一直期待这一公告,我们兴奋地宣布:我们构建了SLH-DSA的开源纯Rust实现,并已合并到RustCrypto中。

速度、内存安全、零成本抽象和先进的类型系统使Rust成为密码库的优秀语言。向后量子密码学过渡是对未来的投资;这些算法将在未来几十年用于关键软件。如果您正在进行这种投资,应该使用基于Rust构建的密码学,这就是为什么我们选择RustCrypto作为项目目标。

由于Trail of Bits支持开源社区并鼓励采用后量子算法,我们将实现贡献给RustCrypto项目并在那里维护它。然而,安全地过渡到后量子密码学将是一个多年复杂的进程,我们承诺在此库之外帮助行业完成这一过渡。如果您的公司正在思考如何最有效和安全地进行PQC过渡,请与我们的密码学专家交流,我们将确保您安全且领先于潮流。

为什么SLH-DSA被选为最终候选?

此前称为SPHINCS+,SLH-DSA是一种高度保守的抗量子签名方案。与依赖格问题硬度的标准(如ML-DSA(Dilithium))不同,SLH-DSA依赖于SHA2或SHA3的安全性,这些算法经过广泛研究,被确信能够抵御经典和量子攻击。虽然专家认为ML-DSA是安全的,但其对量子攻击者的抵抗性更难分析,可能随着攻击技术的进步而减弱。此外,与LMS等有状态基于哈希的方案不同,SLH-DSA可以安全地作为现有签名方案(如ECDSA、EdDSA和RSA-PSS)的直接替代品。

基于哈希的签名方案的强大安全特性伴随着性能成本。由于其较大的签名大小和较长的签名时间,SLH-DSA最适合消息不频繁且密钥寿命长的用例,如固件签名。

实现优势

我们的SLH-DSA Rust crate支持no-std且不使用堆分配,使其适用于任何平台,包括嵌入式设备。为了增强对代码库正确性的信心,我们集成了NIST提供的所有已知答案测试向量。此外,代码库由Trail of Bits密码学团队中未参与实现的其他密码学家进行了独立审查。

该实现支持所有12个FIPS批准的参数集。它还提供了RustCrypto签名crate中定义的trait API,允许在使用RSA或椭圆曲线密码学的Rust项目中进行直接替换。

未来工作

在我们公开发布此代码库时,我们对其安全性和正确性充满信心。然而,这并不意味着项目已完成。我们计划对代码库进行多项改进以提高其性能。例如,我们计划支持具有特定内存约束的嵌入式设备的自定义分配器。我们还将继续与用户合作改进可用性和文档。

缓解向后量子世界的过渡

我们的密码学团队一直在为后量子迁移做大量准备。在您的组织计划或执行其后量子密码学过渡时,您应该与我们的专家交流。无论您需要关于过渡计划的早期建议、希望获得关于包含PQC的新系统设计的反馈、需要构建新的PQC库,还是需要对现有PQC库进行安全审查,我们的密码学团队都可以帮助您。

同时,请查看代码并给我们反馈!您的输入对于帮助确保该库能够安全且有效地被尽可能多的人使用至关重要。我们仍处于后量子密码学过渡的第一阶段,像这样的开源实现将在我们继续这一旅程中发挥关键作用。

如果您喜欢这篇文章,请分享:
Twitter | LinkedIn | GitHub | Mastodon | Hacker News


页面内容
为什么SLH-DSA被选为最终候选?
实现优势
未来工作
缓解向后量子世界的过渡

近期文章
非传统创新者奖学金
在您的PajaMAS中劫持多代理系统
我们构建了MCP一直需要的安全层
利用废弃硬件中的零日漏洞
Inside EthCC[8]:成为智能合约审计员

© 2025 Trail of Bits.
使用Hugo和Mainroad主题生成。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计