本文介绍了EVP接口采用AES-NI支持的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
当在C / C ++使用的OpenSSL加密库,它的自动执行副总裁接口支持AES-NI硬件加速(假设处理器支持)?参照this,它出现命令行OpenSSL的确实有支持。我想知道,如果有特定的功能调用,我不得不使用借此支持的优势。
举例来说,如果我使用 EVP_EncryptInit_ex(CTX,类型,小鬼,钥匙,IV)
,做任何这些参数都可以指定NI加速?即将 EVP_EncryptInit_ex(CTX,EVP_aes_256_cbc(),NULL,键,IV)
做的伎俩?
谢谢!
解决方案
Yes. EVP_*
is the official/supported way to ensure AES-NI is used (if available). In fact, EVP is the only way to access hardware acceleration in general.
Using low level AES routines (like AES_encrypt
and AES_decrypt
) are software only-implementations, and they will never use hardware acceleration like AES-NI. Also see Dr. Henson's response on the OpenSSL mailing list at Verify AES-NI use at runtime?.
这篇关于EVP接口采用AES-NI支持的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!