
一整套 36 个补丁在夜间被发送出去,正在为 Linux 内核的 AES 库带来重大改进。这些补丁允许利用内核现有的架构优化 AES 代码,以提高性能,该代码也是常数时间的,内存使用更低,并且在各方面都比现状有了很好的改进。
Google 工程师 Eric Biggers 近年来负责了许多非常出色的 Linux x86_64 性能优化工作,主要集中在内核的加密“crypto”子系统上。他最新的一项工作,为 2026 年拉开序幕,是增强高级加密标准(AES)密码库代码。
Biggers 对新补丁系列的工作进行了说明:
“这一系列改进对内核的 AES 库进行了三项主要优化:
1. 在可用时使其使用内核现有的架构优化的 AES 代码,包括 AES 指令。此前,只有传统的加密 API 可以访问优化的 AES 代码。(提醒一下,AES 指令通常使 AES 速度比通用代码快 10 倍以上。它们还使 AES 具有常数时间特性。)
2. 支持仅为块密码的正向方向准备 AES 密钥,使用大约一半的内存。这对于许多常见的 AES 操作模式来说是一个有用的优化。它也有助于保持结构体足够小,以便在栈上分配,尤其是在考虑未来可能的 AES 模式库 API 时。
3. 用一个更快的 AES 实现替换库中的通用 AES 实现,其速度几乎与”aes-generic”相当,同时保持表大小合理且维持一定的常数时间安全性。这使得可以移除”aes-generic”,并统一内核树中当前的两个通用 AES 实现。
那些希望了解更多的人可以查看这个现已在 Linux 内核邮件列表上供审阅的 36 个补丁系列。
转自 Linux Kernel AES Library Seeing Improvements For Better Performance & More – Phoronix
Linuxeden开源社区