WOLFSSL HARDWARE CRYPTOGRAPHY SUPPORT
The following is a list of all hardware acceleration/cryptography platforms currently supported by 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)
| SHA-256 |
| SHA-384 |
| SHA-512 |
- RDRAND (Intel 64, IA-32 architectures)
| SHA-256 |
| SHA-512 |
- RDSEED (Intel Broadwell, AMD Zen)
| SHA-256 |
| SHA-512 |
- Freescale Coldfire SEC (NXP MCF547X and MCF548X)
| DES-CBC | 64 bit |
| 3DES-CBC | 192 bit |
| AES-CBC | 128, 192, 256 bit |
- 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)
| 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 |
| (CubeMX and Std Per Lib) |
- 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 |
- 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 |
- 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)
| AES-ECB | 128 bit |
| RNG |
- Microchip/Atmel ATECC508A (compatible with MPU or MCU)
| ECC | 256 bit (NIST-P256) |
- ARMv8
| AES-CBC | 128, 192, 256 bit |
| AES-CTR | 128, 192, 256 bit |
| AES-GCM | 128, 192, 256 bit |
| SHA256 |
- 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 |
