uncategorized wolssl

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 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. [White Paper: Applying wolfBoot to 11th Gen Intel Core Processors for Secure Boot](<https://www.wolfssl.com/white-paper-applying-wolfboot-to-11th-gen-intel-core-processors-for-secure-boot/>)
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/>
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/>

| 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>
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
SHA2 SHA2 SHA-224, SHA-256
SHA1 SHA1  
ECC ECC 256 bit (NIST-P256)
RNG RNG  

References:

1. <https://www.wolfssl.com/platform-security-architecture-psa-crypto-api-support-wolfssl/>
2. <https://github.com/wolfSSL/wolfssl/tree/master/wolfcrypt/src/port/psa>
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/>
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/>
AES AES - GCM GCM 128, 192, 256 bit
AES AES - CCM CCM 128, 192, 256 bit
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-224, SHA-256, SHA-384, SHA-512
SHA3 SHA3  
RNG RNG  

References:

1. <https://www.wolfssl.com/wolfssl-on-stm32-mpus/>
  • STMicroeletronics: STM32H753ZI, STM32H573I, STM32F437, STM32F777, STM32L4A6Z, STM32L562E, STM32U585
AES AES - GCM GCM 128, 192, 256 bit
AES AES - CCM CCM 128, 192, 256 bit
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-224, SHA-256
RNG RNG  

References:

1. <https://github.com/wolfSSL/wolfssl/blob/master/IDE/STM32Cube/STM32_Benchmarks.md>
2. <https://www.wolfssl.com/docs/benchmarks/#stm32>
3. <https://www.wolfssl.com/docs/benchmarks/#stm32f777ni>
4. <https://www.wolfssl.com/wolfboot-on-stm32h5-enhancing-secure-boot-with-trustzone-m/>
AES AES - GCM GCM 128, 192, 256 bit
AES AES - CCM CCM 128, 192, 256 bit
AES AES - CTR CTR 128, 192, 256 bit
AES AES - CBC CBC 128, 192, 256 bit
SHA2 SHA2 SHA-256
ECC ECC 256 bit (NIST-P256)
RNG RNG  

References:

1. <https://github.com/wolfSSL/wolfssl/blob/master/IDE/STM32Cube/STM32_Benchmarks.md>
2. <https://www.wolfssl.com/support-stm32_pka-accelerator/>
3. <https://www.wolfssl.com/announcing-stm32wba-support-in-wolfssl/>
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 - GCM GCM 128, 192, 256 bit
AES AES - CBC CBC 128, 192, 256 bit
3DES 3DES - CBC CBC  

References:

1. <https://www.wolfssl.com/wolfssl-on-cavium-octeon/>
2. <https://github.com/wolfSSL/wolfAsyncCrypt/blob/master/wolfcrypt/src/port/cavium/README_Octeon.md>
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/>
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 Up to 4096 bits
SHA2 SHA2 SHA-224, SHA-256, SHA-384, SHA-512
SHA1 SHA1  
RNG RNG  

Note: Support for all AES/RSA bit sizes and truncated SHA2 acceleration will vary across devices. E.g. no AES-192 HW on the S2, S3, and no SHA-384, SHA-512 HW support on C3, C6. Consult the user_settings.h in reference 3 for more info.

References:

1. <https://www.wolfssl.com/docs/espressif/>
2. <https://www.wolfssl.com/espressif-risc-v-hardware-accelerated-cryptographic-functions-up-to-1000-faster-than-software/>
3. <https://github.com/wolfSSL/wolfssl/blob/master/IDE/Espressif/ESP-IDF/examples/template/components/wolfssl/include/user_settings.h>
AES AES - GCM GCM 128, 192, 256 bits
AES AES - CCM CCM 128, 192, 256 bits
AES AES - CBC CBC 128, 192, 256 bits
SHA256 SHA256  

Referenece:

1. <https://www.wolfssl.com/wolfssl-on-armv8-lemaker-2/>
RSA RSA 2048 bits
AES AES - CBC CBC 128, 192, 256 bit
ECC ECC 256 bit
ECDSA ECDSA 256 bit
SHA256 SHA256  
RNG RNG  

Reference:

1. <https://www.wolfssl.com/wolfssl-adds-support-arm-trustzone-cryptocell-310/>[   ](<https://www.wolfssl.com/wolfssl-adds-support-arm-trustzone-cryptocell-310/>)
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  

Reference:

1. [https://www.wolfssl.com/wolfssl-asynchronous-intel-quickassist-support/](<"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  

Reference:

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  

Reference:

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

Reference:

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/>
AES AES - GDM GDM 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  

Reference:

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  

Reference:

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

Reference:

1. <https://www.wolfssl.com/docs/benchmarks/#renesasrx71m>
SHA2 SHA2 SHA-256, SHA-512
ECC ECC Supports up to NIST P-521
AES AES - GC GC M   256 bit  
RSA RSA   2048 bit  
ECC ECC   NIST P-384, P-521  
SHA3 SHA3   SHA-384  
RNG RNG      

Reference:

1. <https://www.wolfssl.com/versal-support/>
AES AES - GCM GCM 256 bit
RSA RSA 2048, 4096 bits
SHA3 SHA3 SHA-384

Reference:

1. <https://www.wolfssl.com/wolfssl-running-xilinx-versal-hardware-encryption/>
2. <https://docs.xilinx.com/v/u/en-US/wp512-accel-crypto>
AES AES - GCM GCM 128, 192, 256 bit
AES AES - CCM CCM 128, 192, 256 bit
ECC ECC NIST-P256
SHA2 SHA2 SHA-256

Reference:

1. [https://www.wolfssl.com/support-maxq1065-wolfssl](<https://www.wolfssl.com/support-maxq1065-wolfssl/>)
AES AES - CBC CBC 128, 192, 256 bit
AES AES - GCM GCM 128, 192, 256 bit
RSA RSA  
ECC ECC NIST-P256
SHA2 SHA2 SHA-256

Reference:

1. <https://www.wolfssl.com/max32666-and-max32665-hardware-acceleration-added-to-wolfssl/>

Do you have a platform requiring hardware cryptographic support that isn’t on our list? Or are you curious about benchmarking? Reach out to us at facts@wolfssl.com with the details of your platform and we will be glad to help you! Also, check out our wolfSSL and wolfCrypt benchmark page.

If you have questions about any of the above, please contact us at facts@wolfssl.com or call us at +1 425 245 8247.
Download wolfSSL Now