如何在Linux上为Node.js加密启用AES-NI(硬件加速)?

时间:2013-10-10 23:28:15

标签: linux node.js cryptography aes aes-ni

我写了一个基本函数来测试Node.js内置加密函数的AES-256-CBC模式的速度。这些函数使用OpenSSL,因此它们应该支持AES-NI,但是当我正确启用AES-NI并对OpenSSL进行命令行测试时,OpenSSL上的加密速度约为350MB / s,而Node.js上的加密速度仅为~100MB / s加密。

我使用this answer在命令行中启用OpenSSL AES-NI并按如下方式运行:

openssl speed -evp aes-256-cbc

我的问题是,如何使AES的Node.js加密函数的速度与命令行中运行的OpenSSL的速度相匹配?我怀疑原因是没有使用AES-NI

2 个答案:

答案 0 :(得分:3)

在最新版本v0.12(刚刚公开发布)之前,似乎没有正确启用。

这里有一些注释 http://strongloop.com/strongblog/performance-node-js-v-0-12-whats-new/

答案 1 :(得分:2)

不,你做得对。 OpenSSL在Node中的性能有点令人失望。大多数生产Node.js部署终止除Node.js之外的SSL连接,然后将未加密的连接转发到Node.js。