如何确保 openssl 正在使用 AES-NI 加速?

如何确保 openssl 正在使用 AES-NI 加速?

我正在运行 Ubuntu 16.04.1 LTS,我检查了我的处理器确实在所有 CPU 上支持 AES-NI 加速:

johndoe@mycomputer:~$ grep -m1 -o aes /proc/cpuinfo
aes
johndoe@mycomputer:~$ grep -o aes /proc/cpuinfo | wc -l
4
johndoe@mycomputer:~$ lscpu | grep '^CPU(s):'
CPU(s):                4

我如何检查 openssl 是否使用 AES-NI?

谢谢你,Luckyrings

答案1

我自己找到了答案。

为了测试 openssl 是否使用 AES-NI,我找到了以下信息。编译后您无法看到 AES-NI 是否可用于 openssl,但您可以在有和没有该功能的情况下执行性能测试。

使用默认设置进行速度测试:

openssl speed -elapsed -evp aes-128-cbc

明确禁用 AES-NI 功能的速度测试:

OPENSSL_ia32cap="~0x200000200000000" openssl speed -elapsed -evp aes-128-cbc

结果第一行运行速度更快(在我的 i7 CPU 上几乎快了一倍)。所以结论是 AES-NI 是 openssl 的默认使用方式。

相关内容