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 MD5SHA1SHA256
RSA 512 - 4096 bit

Microchip PIC32 MX/MZ (Embedded Connectivity)

MD5 128 bit digest
SHA1 160 bit digest
SHA256
HMAC MD5SHA1SHA256
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 SHA1SHA2
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