https://www.wolfssl.com/every-hardware-cryptography-scheme-wolfssl-has-ever-enabled-2/
原文如下:
在wolfSSL,我们支持多种平台的硬件加密。硬件加密的优势包括减少代码体积、增强安全性、加速加密操作以及资源的高效利用。例如,这使得从wolfBoot到TLS密码套件的所有内容都能受益于加密操作加速。
此外,我们与业界领先企业如Intel、NXP和Renesas建立了深度合作关系。我们支持Intel的标准指令扩展,如AES-NI、AVX、ADX和BMI2,并且最近发布了与Intel联合撰写的关于将wolfBoot应用于第11代Intel Core处理器的白皮书。同时,我们支持NXP的加密加速与认证模块(CAAM),并在多个NXP i.MX系列处理器上实现了硬件加速。其他合作伙伴还包括Espressif、Analog Devices等。
如果你想了解我们已支持的所有硬件加密方案和平台,欢迎继续阅读:
AES-NI:Intel 64与IA-32 Xeon及Core,以及AMD Zen系列处理器
- AES--GCM:128、192、256位
- AES--CCM:128、192、256位
- AES--CBC:128、192、256位
- AES--ECB:128、192、256位
- AES--CTR:128、192、256位
参考: - 白皮书:在第11代Intel Core处理器上应用wolfBoot实现安全启动
AVX1/AVX2:Intel和AMD x86
- SHA3、SHA2:SHA-256、SHA-384、SHA-512
- AES--GCM:128、192、256位
- ChaCha20-Poly1305:256位AEAD流加密
- Poly1305
参考: - https://www.wolfssl.com/wolfssl-performance-intel-x86_64-part-2/
- https://www.wolfssl.com/wolfssl-performance-intel-x86_64-part-3/
- https://www.wolfssl.com/intels-extended-instructions-accelerates-hash-algorithms/
Intel ADX和BMI2:Intel和AMD x86
- RSA
- Curve25519:256位
- Ed25519:256位
参考: - https://www.wolfssl.com/wolfssl-performance-intel-x86_64-part-5/
- https://www.wolfssl.com/wolfssl-performance-intel-x86_64-part-6/
RDRAND/RDSEED:Intel 64与IA-32,以及AMD Zen系列处理器
- RNG
参考: - https://www.intel.com/content/www/us/en/developer/articles/guide/intel-digital-random-number-generator-drng-software-implementation-guide.html
- https://www.amd.com/content/dam/amd/en/documents/pdfs/developer/aocl/amd-secure-random-number-generator-library-2.0-whitepaper.pdf
平台安全架构(PSA)Crypto API
- AES--GCM/CCM/CBC/ECB/CTR:128、192、256位
- SHA2:SHA-224、SHA-256
- SHA1
- ECC:256位(NIST-P256)
- RNG
参考: - https://www.wolfssl.com/platform-security-architecture-psa-crypto-api-support-wolfssl/
- https://github.com/wolfSSL/wolfssl/tree/master/wolfcrypt/src/port/psa
NXP Coldfire SEC(MCF547X与MCF548X处理器)
- AES--CBC:128、192、256位
- 3DES--CBC:192位
- DES--CBC:64位
参考: - https://www.wolfssl.com/docs/nxp/
NXP Coldfire CAU/mmCAU(NXP Coldfire与Kinetis)
- AES--GCM/CCM/CBC/ECB/CTR:128、192、256位
- 3DES--CTR
- SHA2:SHA-256
- SHA1
- HMAC:SHA1、SHA2
- MD5
参考: - https://www.wolfssl.com/docs/nxp/
- https://www.wolfssl.com/improved-nxp-mmcau-crypto-hardware-performance/
- https://www.wolfssl.com/improved-nxp-mmcau-crypto-hardware-performance-2/
STMicroelectronics STM32MP135
- AES--GCM/CCM/CTR/CBC:128、192、256位
- DES/3DES--CBC:64/192位
- SHA2:SHA-224、SHA-256、SHA-384、SHA-512
- SHA3
- RNG
参考: - https://www.wolfssl.com/wolfssl-on-stm32-mpus/
STMicroelectronics STM32H753ZI、STM32H573I、STM32F437等
- AES--CCM/GCM/CTR/CBC:128、192、256位
- DES/3DES--CBC:64/192位
- SHA2:SHA-224、SHA-256
- RNG
参考: - https://github.com/wolfSSL/wolfssl/blob/master/IDE/STM32Cube/STM32_Benchmarks.md
- https://www.wolfssl.com/docs/benchmarks/#stm32
- https://www.wolfssl.com/docs/benchmarks/#stm32f777ni
- https://www.wolfssl.com/wolfboot-on-stm32h5-enhancing-secure-boot-with-trustzone-m/
STMicroelectronics STM32WBA52、STM32WB55、STM32WL55
- AES--GCM/CCM/CTR/CBC:128、192、256位
- SHA2:SHA-256
- ECC:256位(NIST-P256)
- RNG
参考: - https://github.com/wolfSSL/wolfssl/blob/master/IDE/STM32Cube/STM32_Benchmarks.md
- https://www.wolfssl.com/support-stm32_pka-accelerator/
- https://www.wolfssl.com/announcing-stm32wba-support-in-wolfssl/
Marvell (Cavium) Nitrox V和III
- AES--GCM:128位
- AES--CBC:128、192、256位
- RSA:2048位
- ECC
- ECDSA
- RNG
参考: - https://www.wolfssl.com/wolfssl-asynchronous-support/
- https://www.wolfssl.com/wordpress/wp-content/uploads/2018/04/wolfssl_async.pdf
Marvell (Cavium) Octeon II/III
- AES--GCM/CBC:128、192、256位
- 3DES--CBC
参考: - https://www.wolfssl.com/wolfssl-on-cavium-octeon/
- https://github.com/wolfSSL/wolfAsyncCrypt/blob/master/wolfcrypt/src/port/cavium/README_Octeon.md
Microchip PIC32 MX/MZ
- AES--CTR/CBC:128、192、256位
- DES/3DES--CBC:64/192位
- SHA2:SHA-256
- SHA1
- HMAC:SHA1、SHA2
- MD5
参考: - https://www.wolfssl.com/docs/pic32/
TI Crypto Connected Launchpad(TI TM4C系列板卡)
- AES--GCM/CCM/CBC/ECB/CTR:128、192、256位
- DES--CBC:64位
- 3DES--CBC:192位
- SHA2:SHA-224、SHA-256
- SHA1
- MD5
参考: - https://www.ti.com/lit/ug/spmu372a/spmu372a.pdf
- https://www.ti.com/tool/EK-TM4C129EXL
Nordic NRF5x
- AES--ECB:128位
- RNG
参考: - https://www.wolfssl.com/true-random-vs-pseudorandom-number-generation/
- https://www.wolfssl.com/wolfssl-on-nordic-nrf52/
Microchip/Atmel ATECC508A/ATECC608A
- ECC:256位(NIST-P256)
参考: - https://www.wolfssl.com/docs/atmel/
- https://www.wolfssl.com/wolfssl-support-atecc508aatecc608a-crypto-coprocessor-2/
- https://www.wolfssl.com/using-wolfssl-on-the-atmel-atecc508a-with-tls-1-3-tls13/
Espressif ESP32系列(ESP32, ESP32-C3, ESP32-C6, ESP32-S2, ESP32-S3)
- AES--GCM/CBC:128、192、256位
- RSA:最高4096位
- SHA2:SHA-224、SHA-256、SHA-384、SHA-512
- SHA1
- RNG
注意:各种设备对于AES/RSA位数及SHA2加速的支持有所不同。如S2、S3不支持AES-192硬件加速,C3、C6不支持SHA-384、SHA-512硬件加速。详见参考3中的user_settings.h。
参考: - https://www.wolfssl.com/docs/espressif/
- https://www.wolfssl.com/espressif-risc-v-hardware-accelerated-cryptographic-functions-up-to-1000-faster-than-software/
- https://github.com/wolfSSL/wolfssl/blob/master/IDE/Espressif/ESP-IDF/examples/template/components/wolfssl/include/user_settings.h
ARMV8
- AES--GCM/CCM/CBC:128、192、256位
- SHA256
参考: - https://www.wolfssl.com/wolfssl-on-armv8-lemaker-2/
Arm TrustZone CryptoCell-310(nRF52840)
- RSA:2048位
- AES--CBC:128、192、256位
- ECC:256位
- ECDSA:256位
- SHA256
- SRNG
参考: - https://www.wolfssl.com/wolfssl-adds-support-arm-trustzone-cryptocell-310/
Intel QuickAssist Technology
- RSA:2048位
- AES--GCM/CBC:128、192、256位
- 3DES
- SHA2:SHA-256、SHA-384、SHA-512
- SHA1
- HMAC:SHA1、SHA2
- MD5
参考: - https://www.wolfssl.com/wolfssl-asynchronous-intel-quickassist-support/
NXP LTC (KSDK)
- AES--GCM/CCM/CBC/ECB/CTR:128、192、256位
- DES/3DES
- ECC/ECDSA/Curve25519/Ed25519:256位
- SHA2:SHA-256、SHA-384、SHA-512
- SHA1
- HMAC:SHA1、SHA2
- MD5
参考: - https://www.wolfssl.com/docs/nxp/
- https://www.wolfssl.com/nxp-kinetis-k8x-ltc-support-for-pki-rsaecc-with-tls13/
NXP SE050
- ECC/ECDSA/Curve25519/Ed25519:256位
- RNG
参考: - https://www.wolfssl.com/ssltls-support-nxp-se050-wolfssl/
- https://www.wolfssl.com/wolfssl-nxp-se050-support-update/
- https://www.wolfssl.com/wolfssl-support-nxp-se050-scp03/
- https://www.wolfssl.com/wolfssl-nxp-se050-support-benchmarks/
CAAM:NXP i.MX 6, i.MX 7, i.MX 8
- AES--GCM/CCM/CTR/XTS:128、192、256位
- ECC/Curve25519:256位
- SHA2:SHA-256、SHA-384、SHA-512
- SHA1
- HMAC:SHA1、SHA2
参考: - https://www.wolfssl.com/caam-supported-wolfssl/
- https://www.wolfssl.com/docs/benchmarks/#nxp_i.mx6
- https://www.wolfssl.com/mx6-caam-integrity-os/
- https://www.wolfssl.com/caamqnxi-mx8/
Silicon Labs EFR32
- AES--GDM/CCM/CBC:128、192、256位
- SHA2:SHA-224、SHA-256
- SHA1
- ECC/ECDSA:256位
- RNG
参考: - https://www.wolfssl.com/wolfssl-adds-silicon-labs-hardware-acceleration-support/
Renesas RX65N和RX72N
- AES--GCM/CBC:128、256位
- SHA2:SHA-256、SHA-512
- SHA1
- HMAC:SHA1、SHA2
- RNG
参考: - https://www.wolfssl.com/docs/renesas/
- https://www.wolfssl.com/docs/wolfssl-renesas-tsip/
- https://www.wolfssl.com/support-renesas-tsip-v1-13-rx72n/
- https://www.wolfssl.com/docs/benchmarks/#renesasrx65n
Renesas Synergy DK-S7G2
- RSA:2048位
- AES--CBC:128位
- SHA2:SHA-256
- SHA1
- HMAC:SHA1、SHA2
- ECC/ECDSA:256位
参考: - https://www.wolfssl.com/docs/benchmarks/#renesasrx71m
Cypress PSoC6(32位Arm Cortex M4)
- SHA2:SHA-256、SHA-512
- ECC:支持到NIST P-521
Xilinx Versal
- AES--GCM:256位
- RSA:2048位
- ECC:NIST P-384、P-521
- SHA3:SHA-384
- RNG
参考: - https://www.wolfssl.com/versal-support/
Xilinx Zynq UltraScale+ MPSoC
- RNG、SHA-384
- AES--GCM:256位
- RSA:256位
- ECC:NIST P-384、P-521
- SHA3:SHA-384
参考: - https://www.wolfssl.com/versal-support/
Xilinx Zynq UltraScale+ MPSoC
- AES--GCM:256位
- RSA:2048、4096位
- SHA3:SHA-384
参考: - https://www.wolfssl.com/wolfssl-running-xilinx-versal-hardware-encryption/
- https://docs.xilinx.com/v/u/en-US/wp512-accel-crypto
- https://docs.xilinx.com/v/u/en-US/wp512-accel-crypto
MAXQ1065和MAXQ1080
- AES--GCM/CCM:128、192、256位
- ECC:NIST-P256
- SHA2:SHA-256
参考: - https://www.wolfssl.com/support-maxq1065-wolfssl
MAX32665和MAX32665
- AES--GCM:128、192、256位
- RSA
- ECC:NIST-P256
- SHA2:SHA-256
参考: - https://www.wolfssl.com/max32666-and-max32665-hardware-acceleration-added-to-wolfssl/