Crypto Benchmark on STM32WL3 MCU
ARM Cortex-M0+ @ 64 MHz
This benchmark conducted on NUCLEO-WL33CC1 development board with STM32WL33CC MCU will help you in qualifying performance of CycloneCRYPTO (Cryptography library), CycloneSSL (TLS 1.3 & DTLS 1.2 library), CycloneSSH (SSH library with SCP & SFTP protocols), CycloneIPSEC (IPsec/IKEv2 library) and CycloneTCP (TCP/IPv4/IPv6 stack with secure protocols like HTTPS, FTPS, MQTTS, Secure WebSocket, Secure CoAP, Secure Modbus/TCP, SNMPv3...) running on STMicroelectronics STM32WL3 microcontroller.
STM32WL3 MCU also includes crypto hardware acceleration. In the following comparison charts, both hardware and software performance are presented in the relevant sections.
Cipher Algorithms
STM32WL33 @ 64 MHz
- • Benchmark generated with CycloneCRYPTO 2.6.2
- • Compiled using ARMCC with optimization level 3
| Algorithm | Encryption (Software) |
Decryption (Software) |
Encryption (Hardware) |
Decryption (Hardware) |
|---|---|---|---|---|
| 3DES-CBC | 0.072 MB/s | 0.071 MB/s | - | - |
| 3DES-CTR | 0.072 MB/s | 0.072 MB/s | - | - |
| AES128-CBC | 0.315 MB/s | 0.303 MB/s | 3.846 MB/s | 3.815 MB/s |
| AES192-CBC | 0.271 MB/s | 0.262 MB/s | - | - |
| AES256-CBC | 0.239 MB/s | 0.231 MB/s | 3.551 MB/s | 3.514 MB/s |
| AES128-CTR | 0.303 MB/s | 0.303 MB/s | 3.741 MB/s | 3.734 MB/s |
| AES192-CTR | 0.262 MB/s | 0.262 MB/s | - | - |
| AES256-CTR | 0.232 MB/s | 0.232 MB/s | 3.46 MB/s | 3.447 MB/s |
| SM4-CBC | 0.32 MB/s | 0.307 MB/s | - | - |
| SM4-CTR | 0.307 MB/s | 0.307 MB/s | - | - |
AEAD Algorithms
STM32WL33 @ 64 MHz
- • Benchmark generated with CycloneCRYPTO 2.6.2
- • Compiled using ARMCC with optimization level 3
| Algorithm | Encryption (Software) |
Decryption (Software) |
Encryption (Hardware) |
Decryption (Hardware) |
|---|---|---|---|---|
| AES128-GCM | 0.176 MB/s | 0.175 MB/s | 3.68 MB/s | 3.653 MB/s |
| AES192-GCM | 0.161 MB/s | 0.161 MB/s | - | - |
| AES256-GCM | 0.149 MB/s | 0.148 MB/s | 3.367 MB/s | 3.344 MB/s |
| AES128-CCM | 0.16 MB/s | 0.159 MB/s | 2.929 MB/s | 2.929 MB/s |
| AES192-CCM | 0.137 MB/s | 0.137 MB/s | - | - |
| AES256-CCM | 0.119 MB/s | 0.119 MB/s | 2.547 MB/s | 2.531 MB/s |
| SM4-GCM | 0.177 MB/s | 0.177 MB/s | - | - |
| SM4-CCM | 0.162 MB/s | 0.162 MB/s | - | - |
| Ascon-AEAD128 | 0.28 MB/s | 0.277 MB/s | - | - |
| ChaCha20Poly1305 | 0.238 MB/s | 0.238 MB/s | - | - |
Hash Algorithms
STM32WL33 @ 64 MHz
- • Benchmark generated with CycloneCRYPTO 2.6.2
- • Compiled using ARMCC with optimization level 3
| Algorithm | Speed (Software) |
|---|---|
| MD5 | 1.858 MB/s |
| SHA-1 | 0.447 MB/s |
| SHA-224 | 0.318 MB/s |
| SHA-256 | 0.318 MB/s |
| SHA-384 | 0.2 MB/s |
| SHA-512 | 0.2 MB/s |
| SHA3-224 | 0.138 MB/s |
| SHA3-256 | 0.131 MB/s |
| SHA3-384 | 0.1 MB/s |
| SHA3-512 | 0.07 MB/s |
| SM3 | 0.294 MB/s |
| Ascon-Hash256 | 0.104 MB/s |
Signature Algorithms
STM32WL33 @ 64 MHz
- • Benchmark generated with CycloneCRYPTO 2.6.2
- • Compiled using ARMCC with optimization level 3
| Algorithm | Generation (Software) |
Verification (Software) |
|---|---|---|
| RSA (1024 bits) | 1203.3 ms | 131 ms |
| RSA (2048 bits) | 8149.9 ms | 495.7 ms |
| DSA (1024 bits) | 715.4 ms | 1445.7 ms |
| DSA (2048 bits) | 4038.9 ms | 8217.3 ms |
EC Signature Algorithms
STM32WL33 @ 64 MHz
- • Benchmark generated with CycloneCRYPTO 2.6.2
- • Compiled using ARMCC with optimization level 3
| Algorithm | Generation (Software) |
Verification (Software) |
|---|---|---|
| ECDSA (secp256r1) | 682 ms | 622 ms |
| ECDSA (secp384r1) | 1976.2 ms | 1809.1 ms |
| ECDSA (secp521r1) | 4801.5 ms | 4247 ms |
| ECDSA (brainpoolP256r1) | 1627.2 ms | 1646.7 ms |
| ECDSA (brainpoolP384r1) | 4828 ms | 4858.9 ms |
| ECDSA (brainpoolP512r1) | 10728.6 ms | 10947.1 ms |
| SM2 | 718.6 ms | 503 ms |
| EdDSA (Ed25519) | 503 ms | 463.7 ms |
| EdDSA (Ed448) | 2001.1 ms | 1817.9 ms |
Key Exchange Algorithms
STM32WL33 @ 64 MHz
- • Benchmark generated with CycloneCRYPTO 2.6.2
- • Compiled using ARMCC with optimization level 3
| Algorithm | Public Key Generation (Software) |
Shared Secret Computation (Software) |
|---|---|---|
| Diffie-Hellman (1024 bits) | 3699.1 ms | 3695.5 ms |
EC Key Exchange Algorithms
STM32WL33 @ 64 MHz
- • Benchmark generated with CycloneCRYPTO 2.6.2
- • Compiled using ARMCC with optimization level 3
| Algorithm | Public Key Generation (Software) |
Shared Secret Computation (Software) |
|---|---|---|
| ECDH (secp256r1) | 577.5 ms | 576.6 ms |
| ECDH (secp384r1) | 1674.4 ms | 1673.3 ms |
| ECDH (secp521r1) | 4068.9 ms | 4067 ms |
| ECDH (brainpoolP256r1) | 1506.1 ms | 1505.2 ms |
| ECDH (brainpoolP384r1) | 4468 ms | 4467 ms |
| ECDH (brainpoolP512r1) | 9930.8 ms | 9929.4 ms |
| ECDH (SM2) | 577.6 ms | 576.7 ms |
| ECDH (X25519) | 280.5 ms | 280.4 ms |
| ECDH (X448) | 1011.5 ms | 1011.5 ms |