wolfSSL is excited to announce support for using Silicon Labs Hardware acceleration. The EFR32 family of devices support multiple wireless interfaces with hardware cryptographic operations. wolfSSL can now offload cryptographic operations for dramatically increased performance on the Silicon Labs EFR32 family!
Our new support includes hardware acceleration of the following algorithms:
- RNG
- AES-CBC
- AES-GCM
- AES-CCM
- SHA-1
- SHA-2
- ECDHE
- ECDSA
The new functionality can be enabled by defining WOLFSSL_SILABS_SE_ACCEL. In user_settings.h More details are available in the README.md in wolfcrypt/src/port/silabs of the wolfSSL tree.
Benchmarks
Benchmark was performed on an EFR32 Gecko 2 (Series 1) using the xGM210P022.
The tests use Simplicity Studio v5 with Gecko SDK 3.0 using Micrium OS 5 and Secure Element Manager.
Algorithm | Data Throughput (MB/s) |
RNG | 1.895 |
SHA | 7.195 |
SHA-224 | 7.327 |
SHA-256 | 7.334 |
HMAC-SHA | 6.304 |
HMAC-SHA224 | 6.329 |
HMAC-SHA256 | 6.323 |
AES-128-CBC-enc | 4.897 |
AES-128-CBC-dec | 4.907 |
AES-192-CBC-enc | 4.795 |
AES-192-CBC-dec | 4.805 |
AES-256-CBC-enc | 4.703 |
AES-256-CBC-dec | 4.712 |
AES-128-GCM-enc | 4.463 |
AES-128-GCM-dec | 4.317 |
AES-192-GCM-enc | 4.377 |
AES-192-GCM-dec | 4.235 |
AES-256-GCM-enc | 4.297 |
AES-256-GCM-dec | 4.162 |
AES-CCM-Enc | 4.203 |
AES-CCM-Dec | 4.045 |
ECC operation | Average time to complete (ms) | Operations per second |
ECC 256 key gen | 5.929 | 168.663 |
ECDHE 256 agree | 5.440 | 183.816 |
ECDSA 256 sign | 6.373 | 156.902 |
ECDSA 256 verify | 6.727 | 148.662 |
If you have any questions or run into any issues, contact us at facts@wolfssl.com, or call us at +1 425 245 8247.