Did you know that the wolfSSL embedded SSL/TLS library supports ARMv8 as well as the Cryptography Extensions that it provides? wolfSSL is more than 10 times faster with AES and SHA256 operations the ARMv8 board we have been testing on (HiKey LeMaker) when using hardware acceleration versus software crypto!
ARMv8 Benchmark Data comparing Software and Hardware Cryptography
Algorithm | Software Cryptography | Hardware Cryptography |
---|---|---|
RNG | 16.761 MB/s | 82.599 MB/s |
AES-128-CBC-enc | 26.491 MB/s | 649.179 MB/s |
AES-128-CBC-dec | 26.915 MB/s | 607.407 MB/s |
AES-192-CBC-enc | 22.796 MB/s | 566.717 MB/s |
AES-192-CBC-dec | 23.130 MB/s | 553.092 MB/s |
AES-256-CBC-enc | 20.004 MB/s | 504.143 MB/s |
AES-256-CBC-dec | 20.207 MB/s | 491.374 MB/s |
AES-128-GCM-enc | 6.224 MB/s | 393.407 MB/s |
AES-128-GCM-dec | 6.226 MB/s | 182.279 MB/s |
AES-192-GCM-enc | 5.895 MB/s | 361.801 MB/s |
AES-192-GCM-dec | 5.895 MB/s | 175.676 MB/s |
AES-256-GCM-enc | 5.609 MB/s | 333.911 MB/s |
AES-256-GCM-dec | 5.610 MB/s | 169.085 MB/s |
CHACHA | 60.510 MB/s | 60.017 MB/s |
CHA-POLY | 41.805 MB/s | 41.410 MB/s |
MD5 | 156.310 MB/s | 154.421 MB/s |
POLY1305 | 144.464 MB/s | 143.058 MB/s |
SHA | 89.874 MB/s | 89.154 MB/s |
SHA-256 | 38.805 MB/s | 533.139 MB/s |
HMAC-MD5 | 156.301 MB/s | 154.083 MB/s |
HMAC-SHA | 89.859 MB/s | 89.045 MB/s |
HMAC-SHA256 | 38.814 MB/s | 532.316 MB/s |
RSA, 2048, public | 171.995 Ops/s | 171.355 Ops/s |
RSA, 2048, private | 13.716 Ops/s | 13.686 Ops/s |
DH, 2048, key generation | 50.831 Ops/s | 50.575 Ops/s |
DH, 2048, agree | 41.826 Ops/s | 41.596 Ops/s |
If you are interested in using wolfSSL on an ARMv8 platform and want some tips on getting started for optimal performance, contact us at facts@wolfssl.com! wolfSSL now includes support for TLS 1.3 as well!