确定 OpenSSL 是否使用 CPU SHA256 指令
Determine if OpenSSL uses the CPU SHA256 instructions
我正在使用 OpenSSL (openssl/sha.h) 在性能关键型应用程序中计算 SHA256 哈希值,用 C 语言编写。我想知道 OpenSSL 是否真的使用 SHA256 CPU instructions 或者它是否只是自己计算 SHA256 哈希?
有什么方法可以找到 OpenSSL 执行此计算的方式吗?
最简单的方法是在打开时查看端口源代码 (nomen omen)
对于 x86-064 你可以看到:
sha256rnds2 $CDGH0,$ABEF0
表示该库使用sha指令
objdump -d /usr/lib/libcrypto.so.1.1|grep sha256rnds2
会告诉 openssl 是否使用任何 sha256 cpu 指令,但它不会告诉是否或何时执行这些指令。您可以在调试器中启动程序并为这些指令设置断点。
我正在使用 OpenSSL (openssl/sha.h) 在性能关键型应用程序中计算 SHA256 哈希值,用 C 语言编写。我想知道 OpenSSL 是否真的使用 SHA256 CPU instructions 或者它是否只是自己计算 SHA256 哈希?
有什么方法可以找到 OpenSSL 执行此计算的方式吗?
最简单的方法是在打开时查看端口源代码 (nomen omen)
对于 x86-064 你可以看到:
sha256rnds2 $CDGH0,$ABEF0
表示该库使用sha指令
objdump -d /usr/lib/libcrypto.so.1.1|grep sha256rnds2
会告诉 openssl 是否使用任何 sha256 cpu 指令,但它不会告诉是否或何时执行这些指令。您可以在调试器中启动程序并为这些指令设置断点。