即将提交给即将发布的 Linux 6.19 内核的新代码将引入 ML-DSA/Dilithium 后量子密码学,最初用于处理内核模块签名。
红帽工程师 David Howells 昨天将初始的 ML-DSA/Dilithium 工作排队到 linux-fs.git Git 分支中,为 12 月初 Linux 6.19 合并窗口的开启做准备。linux-fs.git “keys-pqc” 分支中的代码包括一个大补丁,添加了 5k+ 行代码,以支持 ML-DSA/Dilithium 验证,用于该后量子密码学算法。Howells 在那个补丁中解释道:
将 Stephan Mueller 的 Leancrypto 实现中的 ML-DSA/Dilithium 签名验证代码移植到内核中。不包括密钥对生成和签名生成,也没有包含复合签名支持以减小代码体积。
为 Stephan 道歉,但我移除了一些用于返回检查等的宏,并从代码中移除了一些”lc_”前缀。
复合签名支持大部分已被移除,目前没有包含 Leancrypto 的任何架构特定代码,因此这是纯 C 代码。
通过 crypto_sig API 接口访问此代码,因为 PKCS#7 代码希望使用该接口而不是直接调用。因此,我将它放在 crypto/目录下而不是 lib/crypto/目录下。仅实现了验证钩子;签名钩子返回错误。
随后是 ML-DSA 对 PKCS7 和 x509 的支持。然后是最终补丁,启用 ML-DSA 模块签名:
“modsign: 启用 ML-DSA 模块签名
允许启用 ML-DSA 模块签名。”
ML-DSA 被认为对量子计算机安全,去年已作为 FIPS 204 标准化。

我们将在未来几周内看到这个“keys-pqc”分支是否作为 Linux 6.19 合并窗口的一部分被提交。
转自 Linux To Gain ML-DSA/Dilithium Post-Quantum Cryptography For Module Signing – Phoronix
Linuxeden开源社区