Crypto Benchmark on STM32WL MCU
ARM Cortex-M4 @ 48 MHz
This benchmark conducted on NUCLEO-WL55JC development board with STM32WL55JC 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 STM32WL microcontroller.
STM32WL MCU also includes crypto hardware acceleration. In the following comparison charts, both hardware and software performance are presented in the relevant sections.
Cipher Algorithms
STM32WL55 @ 48 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using ARMCC with optimization level 3
Algorithm | Encryption (Software) | Decryption (Software) | Encryption (Hardware) | Decryption (Hardware) |
---|---|---|---|---|
3DES-CBC | 0.102 MB/s | 0.101 MB/s | - | - |
3DES-CTR | 0.101 MB/s | 0.102 MB/s | - | - |
AES128-CBC | 0.494 MB/s | 0.507 MB/s | 7.836 MB/s | 7.71 MB/s |
AES192-CBC | 0.43 MB/s | 0.444 MB/s | - | - |
AES256-CBC | 0.38 MB/s | 0.395 MB/s | 6.426 MB/s | 6.329 MB/s |
AES128-CTR | 0.493 MB/s | 0.491 MB/s | 7.53 MB/s | 7.535 MB/s |
AES192-CTR | 0.43 MB/s | 0.428 MB/s | - | - |
AES256-CTR | 0.38 MB/s | 0.378 MB/s | 6.226 MB/s | 6.226 MB/s |
SM4-CBC | 0.591 MB/s | 0.566 MB/s | - | - |
SM4-CTR | 0.571 MB/s | 0.571 MB/s | - | - |
AEAD Algorithms
STM32WL55 @ 48 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using ARMCC with optimization level 3
Algorithm | Encryption (Software) | Decryption (Software) | Encryption (Hardware) | Decryption (Hardware) |
---|---|---|---|---|
AES128-GCM | 0.292 MB/s | 0.289 MB/s | 7.541 MB/s | 7.49 MB/s |
AES192-GCM | 0.267 MB/s | 0.265 MB/s | - | - |
AES256-GCM | 0.247 MB/s | 0.245 MB/s | 6.188 MB/s | 6.146 MB/s |
AES128-CCM | 0.264 MB/s | 0.264 MB/s | 4.401 MB/s | 4.401 MB/s |
AES192-CCM | 0.226 MB/s | 0.226 MB/s | - | - |
AES256-CCM | 0.199 MB/s | 0.198 MB/s | 3.359 MB/s | 3.348 MB/s |
SM4-GCM | 0.315 MB/s | 0.31 MB/s | - | - |
SM4-CCM | 0.317 MB/s | 0.316 MB/s | - | - |
Ascon-AEAD128 | 0.624 MB/s | 0.622 MB/s | - | - |
ChaCha20Poly1305 | 0.493 MB/s | 0.493 MB/s | - | - |
Hash Algorithms
STM32WL55 @ 48 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using ARMCC with optimization level 3
Algorithm | Speed (Software) |
---|---|
MD5 | 2.207 MB/s |
SHA-1 | 0.661 MB/s |
SHA-224 | 0.63 MB/s |
SHA-256 | 0.63 MB/s |
SHA-384 | 0.321 MB/s |
SHA-512 | 0.321 MB/s |
SHA3-224 | 0.176 MB/s |
SHA3-256 | 0.166 MB/s |
SHA3-384 | 0.128 MB/s |
SHA3-512 | 0.089 MB/s |
SM3 | 0.555 MB/s |
Ascon-Hash256 | 0.237 MB/s |
Signature Algorithms
STM32WL55 @ 48 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using ARMCC with optimization level 3
Algorithm | Generation (Software) | Verification (Software) | Generation (Hardware) | Verification (Hardware) |
---|---|---|---|---|
RSA (1024 bits) | 367.9 ms | 67.7 ms | 81.4 ms | 7 ms |
RSA (2048 bits) | 1876.2 ms | 247.1 ms | 509 ms | 18.9 ms |
RSA (3072 bits) | 5268 ms | 530.9 ms | 1581.5 ms | 46.9 ms |
DSA (1024 bits) | 207.7 ms | 434.4 ms | - | - |
DSA (2048 bits) | 935.3 ms | 1984.9 ms | - | - |
EC Signature Algorithms
STM32WL55 @ 48 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using ARMCC with optimization level 3
Algorithm | Generation (Software) | Verification (Software) | Generation (Hardware) | Verification (Hardware) |
---|---|---|---|---|
ECDSA (secp256r1) | 257.8 ms | 231.2 ms | 106.5 ms | 220.4 ms |
ECDSA (secp384r1) | 617 ms | 556.6 ms | 305 ms | 615.9 ms |
ECDSA (secp521r1) | 1296.4 ms | 1136.9 ms | 730.1 ms | 1459.8 ms |
ECDSA (brainpoolP256r1) | 447.1 ms | 444.3 ms | 111.6 ms | 219.5 ms |
ECDSA (brainpoolP384r1) | 1182.3 ms | 1175.9 ms | 302.4 ms | 604.1 ms |
ECDSA (brainpoolP512r1) | 2455.3 ms | 2483.7 ms | 643.1 ms | 1275.1 ms |
SM2 | 235 ms | 235 ms | 114.8 ms | 114.8 ms |
EdDSA (Ed25519) | 75.4 ms | 68.2 ms | - | - |
EdDSA (Ed448) | 313.4 ms | 276.6 ms | - | - |
Key Exchange Algorithms
STM32WL55 @ 48 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using ARMCC with optimization level 3
Algorithm | Public Key Generation (Software) | Shared Secret Computation (Software) |
---|---|---|
Diffie-Hellman (1024 bits) | 709.6 ms | 709.9 ms |
Diffie-Hellman (2048 bits) | 4813.9 ms | 4814.6 ms |
EC Key Exchange Algorithms
STM32WL55 @ 48 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using ARMCC with optimization level 3
Algorithm | Public Key Generation (Software) | Shared Secret Computation (Software) | Public Key Generation (Hardware) | Shared Secret Computation (Hardware) |
---|---|---|---|---|
ECDH (secp256r1) | 231.3 ms | 230.7 ms | 110.6 ms | 109.9 ms |
ECDH (secp384r1) | 547.2 ms | 546.3 ms | 314.8 ms | 314 ms |
ECDH (secp521r1) | 1125.7 ms | 1124.3 ms | 747.1 ms | 745.6 ms |
ECDH (brainpoolP256r1) | 416.7 ms | 416 ms | 132.3 ms | 131.6 ms |
ECDH (brainpoolP384r1) | 1099.8 ms | 1098.9 ms | 368 ms | 367.1 ms |
ECDH (brainpoolP512r1) | 2281.1 ms | 2280.2 ms | 772.8 ms | 771.7 ms |
ECDH (SM2) | 235.1 ms | 234.4 ms | 114.1 ms | 113.4 ms |
ECDH (X25519) | 41.7 ms | 41.7 ms | - | - |
ECDH (X448) | 160.5 ms | 160.5 ms | - | - |