Hardware Cryptography Support | Documentation - wolfSSL
- Intel AES-NI (Xeon and Core processor families)
| AES-GCM | 128, 192, 256 bit |
| AES-CCM | 128, 192, 256 bit |
| AES-CBC | 128, 192, 256 bit |
| AES-ECB | 128, 192, 256 bit |
| AES-CTR | 128, 192, 256 bit |
- AVX1/AVX2 (Intel and AMD x86)
- RDRAND (Intel 64, IA-32 architectures) / RDSEED (Intel Broadwell, AMD Zen)
- Freescale Cryptographic Accelerator and Assurance Module (CAAM)
- Freescale Coldfire SEC (NXP MCF547X and MCF548X)
- Freescale Kinetis MMCAU K50, K60, K70 and K80 (ARM Cortex-M4 core)
| MD5 | 128 bit digest |
| SHA1 | 160 bit digest |
| SHA256 | |
| DES-CBC | 64 bit |
| 3DES-CBC | 192 bit |
| AES-CBC | 128, 192, 256 bit |
| AES-CCM | 128, 192, 256 bit |
| AES-GCM | 128, 192, 256 bit |
| AES-ECB | 128, 192, 256 bit |
- STMicroelectronics STM32 F1, F2, F4, L1, W Series (ARM Cortex - M3/M4) - CubeMX and Std Per Lib
| RNG | |
| DES-CBC | 64 bit |
| DES-ECB | 64 bit Encrypt |
| 3DES-CBC | 192 bit |
| MD5 | 128 bit |
| SHA1 | 160 bit |
| AES-CBC | 128, 192, 256 bit |
| AES-CTR | 128, 192, 256 bit |
- Cavium NITROX (III/V PX processors)
| RNG | |
| AES-CBC | 128, 192, 256 bit |
| 3DES-CBC | 192 bit |
| RC4 | 2048 bit maximum |
| HMAC | MD5, SHA1, SHA256 |
| RSA | 512 - 4096 bit |
- Cavium NITROX V
- Texas Instruments TM4C1294 (ARM Cortex-M4F)
| DES-CBC | 64 bit |
| 3DES-CBC | 192 bit |
| AES-CCM | 128, 192, 256 bit |
| AES-GCM | 128, 192, 256 bit |
| AES-ECB | 128, 192, 256 bit |
| AES-CTR | 128, 192, 256 bit |
| AES-CBC | 128, 192, 256 bit |
- Nordic NRF51 (Series SoC family, 32-bit ARM Cortex M0 processor core)
- Microchip PIC32 MX/MZ (Embedded Connectivity)
| MD5 | 128 bit digest |
| SHA1 | 160 bit digest |
| SHA256 | |
| HMAC | MD5, SHA1, SHA256 |
| DES-CBC | 64 bit |
| 3DES-CBC | 192 bit |
| AES-CBC | 128, 192, 256 bit |
| AES-CTR | 128, 192, 256 bit |
| AES-GCM | 128, 192, 256 bit |
- Microchip/Atmel ATECC508A (compatible with any MPU or MCU including: Atmel SMART and AVR MCUs)
- Microchip ATECC608B
- Microchip TA100
- ARMv8
- Intel QuickAssist Technology (Contact if interested)
| RSA | 512 - 4096 bit |
| SHA1 | 160 bit digest |
| SHA2 | 224, 256, 384 and 512 bit |
| AES-CBC | 128, 192, 256 bit |
| AES-GCM | 128, 192, 256 bit |
| ECC | 128, 256 bit |
| HMAC | SHA1, SHA2 |
| MD5 |
- Freescale NXP LTC
| Curve25519 | 256 bit |
| Ed25519 | 256 bit |
| AES-CCM | 128, 192, 256 bit |
| AES-ECB | 128, 192, 256 bit |
| AES-CBC | 128, 192, 256 bit |
| AES-CTR | 128, 192, 256 bit |
| AES-GCM | 128, 192, 256 bit |
| SHA1 | 160 bit digest |
| SHA256 | |
| ECC | 128, 256 bit |
| ECC-DHE | 128, 256 bit |
| RSA | 512 - 4096 bit |
| Curve25519 | 256 bit |
| Ed25519 | 256 bit |
| AES-GCM | 128, 256 bit |
| AES-CBC | 128, 256 bit |
| MD5 | |
| SHA1 | 160 bit digest |
| SHA256 | |
| SHA512 | |
| ECC | 256 bit |
| RSA | 2048 bit |
| Curve25519 | 256 bit |
| Ed25519 | 256 bit |
| AES-GCM | 128, 256 bit |
| AES-CBC | 128, 256 bit |
| MD5 | |
| SHA1 | 160 bit digest |
| SHA256 | |
| SHA512 | |
| ECC | 256 bit |
| RSA | 2048 bit |
| Curve25519 | 256 bit |
| Ed25519 | 256 bit |
| AES-GCM | 128, 192, 256 bit |
| AES-CBC | 128, 192, 256 bit |
| MD5 | |
| SHA384 | 160 bit digest |
| SHA256 | |
| SHA512 | |
| ECC | 256 bit |
| RSA | 2048 bit |
| RNG | CTR-DRBG |
| SHA256 | |
| AES-GCM | 128 bits 256 bits |
| AES-CBC | 128 bits 256 bits |
| RSA | 1024 bits 2048 bits |
| ECC | 256 bits (Only Available when using TLS connection) |
| RNG | CTR-DRBG |
| SHA1 | |
| SHA224 | |
| SHA256 | |
| SHA384 | |
| SHA512 | |
| SHA512/224 | |
| SHA512/256 | |
| AES-GCM | 128 bits 256 bits |
| AES-CBC | 128 bits 256 bits |
| RSA | 1024 bits 2048 bits |
- Cypress PSoC6 (Series SoC family, 32-bit ARM Cortex M4 processor core)