wolfSSL Asynchronous Intel QuickAssist Support

#Crypto #Hardware #Performance

We now support the Intel QuickAssist adapter, which is a low-profile PCIe x8 (Gen 3) card that accelerates crypto operations. Asynchronous hardware acceleration has been added for the following crypto algorithms:

* PKI: RSA public/private (CRT/non-CRT), ECDSA/ECDH, DH
* Cipher: AES CBC/GCM, DES3
* Digest: MD5, SHA, SHA224, SHA256, SHA384, SHA512 and HMAC.

Here are our benchmarks using our asynchronous benchmark application running multiple threads with CPU affinity in user space:

* RSA 2048 public: 209,909 ops/sec
* RSA 2048 private: 41,999 ops/sec
* DH  2048 key gen: 112,491 ops/sec
* DH  2048 key agree: 95,129 ops/sec
* ECDHE 256 agree: 55,117 ops/sec
* ECDSA 256 sign: 46,798 ops/sec
* ECDSA 256 verify: 28,917 ops/sec
* AES-CBC Enc: 2,932 MB/s
* AES-CBC Dec: 2,882 MB/s
* AES-GCM: 2,903 MB/s
* 3DES: 1,511 MB/s
* MD5: 2,309 MB/s
* SHA: 5,068 MB/s
* SHA-224: 2,392 MB/s
* SHA-256: 1,275 MB/s
* SHA-384: 2,020 MB/s
* SHA-512: 1,908 MB/s

Performed on an Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz, 12GB RAM, with Intel QuickAssist is DH895xCC.

Additionally we’ve fully implemented asynchronous TLS client/server support in all wolfSSL PKI, Encrypt/Decrypt, Hashing/HMAC and Certificate Sign/Verify.

Please contact us at facts@wolfssl.com if you are interested in evaluating these new features.