简体   繁体   中英

How do I enable AES-NI (hardware acceleration) for Node.js crypto on Linux?

I wrote a basic function to test the speed of the AES-256-CBC mode of the Node.js built-in crypto functions. These functions use OpenSSL, so they should support AES-NI, but when I correctly enable AES-NI and do a command-line test of OpenSSL the encryption speed is ~350MB/s on OpenSSL and only ~100MB/s on Node.js Crypto.

I used this answer to enable OpenSSL AES-NI in the command line and ran it as follows:

openssl speed -evp aes-256-cbc

My question is, how do I make the speed of the Node.js crypto functions for AES match that of OpenSSL run in the command line? I suspect the reason is failure to use AES-NI

It seems that this was not correctly enabled until the latest release v0.12 (that was just released publicly).

Some of the notes are available here http://strongloop.com/strongblog/performance-node-js-v-0-12-whats-new/

No, you are doing it right. The performance of OpenSSL in Node is a bit disappointing. Most production Node.js deployments terminate SSL connections in something other than Node.js and then forward the unencrypted connections to Node.js.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM