
IT时代网11月10日消息,Linux 内核的 ChaCha 对称流密码算法虽然早已支持 AVX-512,但长期处于被刻意限制的状态,这一遗留问题将在 Linux 7.5 中解决。
过去,AVX-512 代码每次最多只使用 256 位寄存器处理 8 个数据块,原因是为了规避早期 Skylake 处理器在执行 512 位指令时触发的严重降频。为了不让整颗 CPU 变慢,加密代码被迫限制在 256 位。随着现代 Intel 和 AMD 处理器解决了降频问题,继续限制在 256 位已无必要。
StrongSwan 开发者 Martin Willi 为 libcrypto 中的 ChaCha 代码新增了一个处理 16 个数据块的全宽 AVX-512 函数,让完整的 512 位寄存器得以全部投入使用。
在搭载完整 512 位数据路径的 AMD Zen 5 平台上,ChaCha 算法性能提升最高可达 99%。基准测试显示,处理 1KiB 以上数据时,吞吐量从原先约 5.2GB/s 提升到约 10.2GB/s;即便在仅有 256 位数据路径的上一代 Zen 4 架构上,也能获得最高 39% 的性能增益。
ChaCha20 通常与 Poly1305 搭配使用,是 WireGuard 的核心加密算法,这项优化对高负载网关、加密服务器以及需处理海量加密流量的网络设备有直接影响。该补丁已排队进入 libcrypto-next 分支,预计在年底提交的 Linux 7.5 合并窗口中合入主线。

注:本文中包含AI辅助创作的内容。
编辑:林一舟














