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

Luc*_*ngs 6 encryption ecryptfs openssl

我正在运行 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
Run Code Online (Sandbox Code Playgroud)

如何使用 AES-NI 检查 openssl?

谢谢你,幸运环

Luc*_*ngs 7

我自己找到了答案。

为了测试 openssl 是否使用 AES-NI,我发现了以下信息。编译后您看不到 AES-NI 可用于 openssl,但您可以使用和不使用该功能执行性能测试。

默认设置下的速度测试:

openssl speed -elapsed -evp aes-128-cbc
Run Code Online (Sandbox Code Playgroud)

显式禁用 AES-NI 功能的速度测试:

OPENSSL_ia32cap="~0x200000200000000" openssl speed -elapsed -evp aes-128-cbc
Run Code Online (Sandbox Code Playgroud)

结果第一行运行得更快(在我的 i7 cpu 上几乎翻了一番)。所以这个结论是 AES-NI 默认用于 openssl。