Every hardware cryptography scheme wolfSSL has ever enabled
At wolfSSL we support hardware cryptography for a wide range of platforms. The benefits of hardware cryptography include reduced code footprint size, improved security, acceleration of cryptographic operations, and utilization of true random number generators. For example, this allows everything from wolfBoot to TLS cipher suites to enjoy acceleration of cryptographic operations. Furthermore, we have deep partnerships with industry leaders such as Intel, NXP, and Renesas. We support standard Intel instruction extensions such as AES-NI, AVX, and ADX and BMI2, and have recently published a joint whitepaper on using wolfBoot with 11th Gen Intel Core processors. We also support NXP’s Cryptographic Accelerator and Assurance Module (CAAM), and have leveraged this for hardware acceleration on a number of NXP i.MX series processors. Other examples include Espressif and Analog Devices, to name but a few. If you’re curious for a list of every hardware cryptography scheme and platform we have enabled, then read on:
-
- AES-NI: Intel 64 and IA-32 Xeon and Core, and AMD Zen processor families.
| AES AES - GCM GCM | 128, 192, 256 bit |
|---|---|
| AES AES - CCM CCM | 128, 192, 256 bit |
| AES AES - CBC CBC | 128, 192, 256 bit |
| AES AES - ECB ECB | 128, 192, 256 bit |
| AES AES - CTR CTR | 128, 192, 256 bit |
References: 1. https://www.wolfssl.com/white-paper-applying-wolfboot-to-11th-gen-intel-core-processors-for-secure-boot/
-
- AVX1/AVX2: Intel and AMD x86.
| SHA3 SHA3 , SHA2 SHA2 | SHA-256, SHA-384, SHA-512 |
|---|---|
| AES AES - GCM GCM | 128, 192, 256 bits |
| ChaCha20-Poly1305 ChaCha20-Poly1305 | 256 bit AEAD stream cipher |
| Poly1305 Poly1305 |
References: 1. https://www.wolfssl.com/wolfssl-performance-intel-x86_64-part-2/ 2. https://www.wolfssl.com/wolfssl-performance-intel-x86_64-part-3/ 3. https://www.wolfssl.com/intels-extended-instructions-accelerates-hash-algorithms/
-
- Intel ADX and BMI2: Intel and AMD x86.
| RSA RSA | |
|---|---|
| Curve25519 Curve25519 | 256 bit |
| Ed25519 Ed25519 | 256 bit |
References: 1. https://www.wolfssl.com/wolfssl-performance-intel-x86_64-part-5/ 2. https://www.wolfssl.com/wolfssl-performance-intel-x86_64-part-6/
-
- RDRAND/RDSEED: Intel 64 and IA-32, and AMD Zen processor families.
| RNG RNG | | | — | — |
References: 1. https://www.intel.com/content/www/us/en/developer/articles/guide/intel-digital-random-number-generator-drng-software-implementation-guide.html 2. https://www.amd.com/content/dam/amd/en/documents/pdfs/developer/aocl/amd-secure-random-number-generator-library-2.0-whitepaper.pdf
-
- NXP Coldfire SEC: (MCF547X and MCF548X family of processors)
| AES AES - CBC CBC | 128, 192, 256 bit |
|---|---|
| 3DES 3DES - CBC CBC | 192 bit |
| DES DES - CBC CBC | 64 bit |
References: 1. https://www.wolfssl.com/docs/nxp/
-
- NXP Coldfire CAU/mmCAU: (NXP Coldfire and Kinetis)
| AES AES - GCM GCM | 128, 192, 256 bit |
|---|---|
| AES AES - CCM CCM | 128, 192, 256 bit |
| AES AES - CBC CBC | 128, 192, 256 bit |
| AES AES - ECB ECB | 128, 192, 256 bit |
| AES AES - CTR CTR | 128, 192, 256 bit |
| 3DES 3DES | |
| SHA2 SHA2 | SHA-256 |
| SHA1 SHA1 | |
| HMAC HMAC | SHA1, SHA2 |
| MD5 MD5 |
References: 1. https://www.wolfssl.com/docs/nxp/ 2. https://www.wolfssl.com/improved-nxp-mmcau-crypto-hardware-performance/ 3. https://www.wolfssl.com/improved-nxp-mmcau-crypto-hardware-performance-2/
-
- STMicroeletronics STM32 L4, F1, F2, F4 and F7:
| AES AES - GCM GCM | 128, 192, 256 bit |
|---|---|
| AES AES - CBC CBC | 128, 192, 256 bit |
| AES AES - ECB ECB | 128, 192, 256 bit |
| AES AES - CTR CTR | 128, 192, 256 bit |
| SHA2 SHA2 | SHA-224, SHA-256 |
| SHA1 SHA1 | |
| MD5 MD5 | |
| RNG RNG |
References: 1. https://www.wolfssl.com/docs/benchmarks/#stm32 2. https://www.wolfssl.com/docs/benchmarks/#stm32f777ni
| AES AES - GCM GCM | 128 bit |
|---|---|
| AES AES - CBC CBC | 128, 192, 256 bit |
| RSA RSA | 2048 bit |
| ECC ECC | |
| ECDSA ECDSA | |
| RNG RNG |
References: 1. https://www.wolfssl.com/wolfssl-asynchronous-support/ 2. https://www.wolfssl.com/wordpress/wp-content/uploads/2018/04/wolfssl_async.pdf
| AES AES - CTR CTR | 128, 192, 256 bit |
|---|---|
| AES AES - CBC CBC | 128, 192, 256 bit |
| DES DES / 3DES 3DES - CBC CBC | 64 bit / 192 bit |
| SHA2 SHA2 | SHA-256 |
| SHA1 SHA1 | |
| HMAC HMAC | SHA1, SHA2 |
| MD5 MD5 |
References: 1. https://www.wolfssl.com/docs/pic32/
-
- Texas Instruments Crypto Connected Launchpad: (TI TM4C series boards)
| AES AES - GCM GCM | 128, 192, 256 bit |
|---|---|
| AES AES - CCM CCM | 128, 192, 256 bit |
| AES AES - CBC CBC | 128, 192, 256 bit |
| AES AES - ECB ECB | 128, 192, 256 bit |
| AES AES - CTR CTR | 128, 192, 256 bit |
| DES DES - CBC CBC | 64 bit |
| 3DES 3DES - CBC CBC | 192 bit |
| SHA2 SHA2 | SHA-224, SHA-256 |
| SHA1 SHA1 | |
| MD5 MD5 |
References: 1. https://www.ti.com/lit/ug/spmu372a/spmu372a.pdf 2. https://www.ti.com/tool/EK-TM4C129EXL
| AES AES - ECB ECB | 128 bit |
|---|---|
| RNG RNG |
References: 1. https://www.wolfssl.com/true-random-vs-pseudorandom-number-generation/ 2. https://www.wolfssl.com/wolfssl-on-nordic-nrf52/
| ECC ECC | 256 bit (NIST-P256) | | — | — |
References: 1. https://www.wolfssl.com/docs/atmel/ 2. https://www.wolfssl.com/wolfssl-support-atecc508aatecc608a-crypto-coprocessor-2/ 3. https://www.wolfssl.com/using-wolfssl-on-the-atmel-atecc508a-with-tls-1-3-tls13/
| AES AES - GCM GCM | 128, 192, 256 bits |
|---|---|
| AES AES - CBC CBC | 128, 192, 256 bits |
| RSA RSA | 2048 |
| SHA2 SHA2 | SHA-256, SHA-384, SHA-512 |
References: 1. https://www.wolfssl.com/docs/espressif/
| AES AES - GCM GCM | 128, 192, 256 bit |
|---|---|
| AES AES - CCM CCM | 128, 192, 256 bit |
| AES AES - CBC CBC | 128, 192, 256 bit |
| SHA256 SHA256 |
References: 1. https://www.wolfssl.com/wolfssl-on-armv8-lemaker-2/
| RSA RSA | 2048 bits |
|---|---|
| AES AES - GCM GCM | 128, 192, 256 bits |
| AES AES - CBC CBC | 128, 192, 256 bits |
| 3DES 3DES | |
| SHA2 SHA2 | SHA-256, SHA-384, SHA-512 |
| SHA1 SHA1 | |
| HMAC HMAC | SHA1, SHA2 |
| MD5 MD5 |
References: 1. https://www.wolfssl.com/wolfssl-asynchronous-intel-quickassist-support/
| AES AES - GCM GCM | 128, 192, 256 bit |
|---|---|
| AES AES - CCM CCM | 128, 192, 256 bit |
| AES AES - CBC CBC | 128, 192, 256 bit |
| AES AES - ECB ECB | 128, 192, 256 bit |
| AES AES - CTR CTR | 128, 192, 256 bit |
| DES DES / 3DES 3DES | |
| ECC ECC | 256 bit |
| ECDSA ECDSA | 256 bit |
| Curve25519 Curve25519 | 256 bit |
| Ed25519 Ed25519 | 256 bit |
| SHA2 SHA2 | SHA-256, SHA-384, SHA-512 |
| SHA1 SHA1 | |
| HMAC HMAC | SHA1, SHA2 |
| MD5 MD5 |
References: 1. https://www.wolfssl.com/docs/nxp/ 2. https://www.wolfssl.com/nxp-kinetis-k8x-ltc-support-for-pki-rsaecc-with-tls13/
| ECC ECC | 256 bit |
|---|---|
| ECDSA ECDSA | 256 bit |
| Curve25519 Curve25519 | 256 bit |
| Ed25519 Ed25519 | 256 bit |
| RNG RNG |
References: 1. https://www.wolfssl.com/ssltls-support-nxp-se050-wolfssl/ 2. https://www.wolfssl.com/wolfssl-nxp-se050-support-update/ 3. https://www.wolfssl.com/wolfssl-support-nxp-se050-scp03/ 4. https://www.wolfssl.com/wolfssl-nxp-se050-support-benchmarks/
| AES AES - GCM GCM | 128, 192, 256 bits |
|---|---|
| AES AES - CCM CCM | 128, 192, 256 bits |
| AES AES - CTR CTR | 128, 192, 256 bits |
| AES AES - XTS XTS | 128, 192, 256 bits |
| ECC ECC | |
| Curve25519 Curve25519 | 256 bit |
| SHA2 SHA2 | SHA-256, SHA-384, SHA-512 |
| SHA1 SHA1 | |
| HMAC HMAC | SHA1, SHA2 |
References: 1. https://www.wolfssl.com/caam-supported-wolfssl/ 2. https://www.wolfssl.com/docs/benchmarks/#nxp_i.mx6 3. https://www.wolfssl.com/mx6-caam-integrity-os/ 4. https://www.wolfssl.com/caamqnxi-mx8/
-
- STMicroeletronics STM32 Public Key Accelerator (on WB55, H7):
| AES AES - CBC CBC | 128, 192, 256 bit |
|---|---|
| SHA2 SHA2 | SHA-224, SHA-256 |
| ECC ECC | 256 bit (NIST-P256) |
| RNG RNG |
References: 1. https://www.wolfssl.com/support-stm32_pka-accelerator/
| AES AES - GCM GCM | 128, 192, 256 bit |
|---|---|
| AES AES - CCM CCM | 128, 192, 256 bit |
| AES AES - CBC CBC | 128, 192, 256 bit |
| SHA2 SHA2 | SHA-224, SHA-256 |
| SHA1 SHA1 | |
| ECC ECC | 256 bit |
| ECDSA ECDSA | 256 bit |
| RNG RNG |
References: 1. https://www.wolfssl.com/wolfssl-adds-silicon-labs-hardware-acceleration-support/
| AES AES - GCM GCM | 128, 256 bit |
|---|---|
| AES AES - CBC CBC | 128, 256 bit |
| SHA2 SHA2 | SHA-256, SHA-512 |
| SHA1 SHA1 | |
| HMAC HMAC | SHA1, SHA2 |
| RNG RNG |
References: 1. https://www.wolfssl.com/docs/renesas/ 2. https://www.wolfssl.com/docs/wolfssl-renesas-tsip/ 3. https://www.wolfssl.com/support-renesas-tsip-v1-13-rx72n/ 4. https://www.wolfssl.com/docs/benchmarks/#renesasrx65n
| RSA RSA | 2048 bits |
|---|---|
| AES AES - CBC CBC | 128 bit |
| SHA2 SHA2 | SHA-256 |
| SHA1 SHA1 | |
| HMAC HMAC | SHA1, SHA2 |
| ECC ECC | 256 bit |
| ECDSA ECDSA | 256 bit |
References: 1. https://www.wolfssl.com/docs/benchmarks/#renesasrx71m
-
- Cypress PSoC6 (32-bit Arm Cortex M4)
| SHA2 SHA2 | SHA-256, SHA-512 |
|---|---|
| ECC ECC | Supports up to NIST P-521 |
| AES AES - GCM GCM | 256 bit |
|---|---|
| RSA RSA | 2048 bit |
| ECC ECC | NIST P-384, P-521 |
| SHA3 SHA3 | SHA-384 |
| RNG RNG |
References: 1. https://www.wolfssl.com/versal-support/
| AES AES - GCM GCM | 256 bit |
|---|---|
| RSA RSA | 2048, 4096 bits |
| SHA3 SHA3 | SHA-384 |
References: 1. https://www.wolfssl.com/wolfssl-running-xilinx-versal-hardware-encryption/ 2. https://docs.xilinx.com/v/u/en-US/wp512-accel-crypto
- MAXQ1065 and MAXQ1080:
| AES AES - GCM GCM | 128, 192, 256 bit |
|---|---|
| AES AES - CCM CCM | 128, 192, 256 bit |
| ECC ECC | NIST-P256 |
| SHA2 SHA2 | SHA-256 |
References: 1. https://www.wolfssl.com/support-maxq1065-wolfssl/
Do you have a platform requiring hardware cryptographic support that isn’t on our list, or are you curious about benchmarking? Please contact us at facts@wolfSSL.com, or call us at +1 425 245 8247 with the details of your platform and we will be glad to help you! Also, check out our wolfSSL and wolfCrypt benchmark page. Download wolfSSL