Crypto Benchmark on STM32L5 MCU
ARM Cortex-M33 @ 110 MHz
This benchmark conducted on STM32 Nucleo-144 development board with STM32L562 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 STM32L5 microcontroller.
STM32L5 MCU also includes crypto hardware acceleration. In the following comparison charts, both hardware and software performance are presented in the relevant sections.
Cipher Algorithms
STM32L562 @ 110 MHz
- • Benchmark generated with CycloneCRYPTO 2.1.6
- • Compiled using Clang with optimization level 3
Algorithm | CBC Encrypt (Software) | CBC Decrypt (Software) | CCM Encrypt (Software) | CCM Decrypt (Software) | GCM Encrypt (Software) | GCM Decrypt (Software) |
---|---|---|---|---|---|---|
3DES | 0.308 MB/s | 0.303 MB/s | - | - | - | - |
AES-128 | 1.448 MB/s | 1.32 MB/s | 0.86 MB/s | 0.858 MB/s | 0.876 MB/s | 0.878 MB/s |
AES-192 | 1.278 MB/s | 1.18 MB/s | 0.743 MB/s | 0.741 MB/s | 0.812 MB/s | 0.813 MB/s |
AES-256 | 1.145 MB/s | 1.061 MB/s | 0.654 MB/s | 0.653 MB/s | 0.756 MB/s | 0.758 MB/s |
Algorithm | CBC Encrypt (Hardware) | CBC Decrypt (Hardware) | CCM Encrypt (Hardware) | CCM Decrypt (Hardware) | GCM Encrypt (Hardware) | GCM Decrypt (Hardware) |
---|---|---|---|---|---|---|
AES-128 | 17.543 MB/s | 17.361 MB/s | 9.661 MB/s | 9.718 MB/s | 15.847 MB/s | 15.6 MB/s |
AES-256 | 13.55 MB/s | 13.404 MB/s | 7.507 MB/s | 7.535 MB/s | 12.437 MB/s | 12.269 MB/s |
Hash Algorithms
STM32L562 @ 110 MHz
- • Benchmark generated with CycloneCRYPTO 2.1.6
- • Compiled using Clang with optimization level 3
Algorithm | Speed (Software) | Speed (Hardware) |
---|---|---|
MD5 | 8.849 MB/s | 50.505 MB/s |
SHA-1 | 2.014 MB/s | 45.248 MB/s |
SHA-224 | 1.454 MB/s | 49.504 MB/s |
SHA-256 | 1.454 MB/s | 49.504 MB/s |
SHA-384 | 0.91 MB/s | - |
SHA-512 | 0.91 MB/s | - |
SHA3-224 | 0.893 MB/s | - |
SHA3-256 | 0.844 MB/s | - |
SHA3-384 | 0.648 MB/s | - |
SHA3-512 | 0.45 MB/s | - |
Signature Algorithms
STM32L562 @ 110 MHz
- • Benchmark generated with CycloneCRYPTO 2.1.6
- • Compiled using Clang with optimization level 3
Algorithm | Signature Generation (Software) | Signature Verification (Software) |
---|---|---|
RSA (1024 bits) | 120.3 ms | 19.6 ms |
RSA (2048 bits) | 673.2 ms | 73.1 ms |
RSA (3072 bits) | 1983.5 ms | 157.2 ms |
DSA (1024 bits) | 71.3 ms | 148.7 ms |
DSA (2048 bits) | 344 ms | 726.2 ms |
Algorithm | Signature Generation (Hardware) | Signature Verification (Hardware) |
---|---|---|
RSA (1024 bits) | 35.5 ms | 3 ms |
RSA (2048 bits) | 221.9 ms | 8.1 ms |
RSA (3072 bits) | 689.9 ms | 20.4 ms |
EC Signature Algorithms
STM32L562 @ 110 MHz
- • Benchmark generated with CycloneCRYPTO 2.1.6
- • Compiled using Clang with optimization level 3
Algorithm | Signature Generation (Software) | Signature Verification (Software) |
---|---|---|
ECDSA (P-256) | 288.5 ms | 363.1 ms |
ECDSA (P-384) | 516.2 ms | 641 ms |
ECDSA (P-521) | 591.8 ms | 702.8 ms |
EdDSA (Ed25519) | 64.4 ms | 127.3 ms |
EdDSA (Ed448) | 280.2 ms | 557.5 ms |
Algorithm | Signature Generation (Hardware) | Signature Verification (Hardware) |
---|---|---|
ECDSA (P-256) | 46.2 ms | 96.1 ms |
ECDSA (P-384) | 132.8 ms | 268.6 ms |
ECDSA (P-521) | 318.1 ms | 636.8 ms |
EdDSA (Ed25519) | 42.2 ms | 82.9 ms |
EdDSA (Ed448) | 167.6 ms | 332.2 ms |
Key Exchange Algorithms
STM32L562 @ 110 MHz
- • Benchmark generated with CycloneCRYPTO 2.1.6
- • Compiled using Clang with optimization level 3
Algorithm | Public Key Generation (Software) | Shared Secret Computation (Software) |
---|---|---|
Diffie-Hellman (1024 bits) | 277.2 ms | 277.3 ms |
Diffie-Hellman (2048 bits) | 1972.7 ms | 1973 ms |
EC Key Exchange Algorithms
STM32L562 @ 110 MHz
- • Benchmark generated with CycloneCRYPTO 2.1.6
- • Compiled using Clang with optimization level 3
Algorithm | Public Key Generation (Software) | Shared Secret Computation (Software) |
---|---|---|
ECDH (P-256) | 280.4 ms | 279.8 ms |
ECDH (P-384) | 491.6 ms | 498.9 ms |
ECDH (P-521) | 585.2 ms | 582.9 ms |
ECDH (X25519) | 35.7 ms | 35.7 ms |
ECDH (X448) | 143.3 ms | 143.2 ms |
Algorithm | Public Key Generation (Hardware) | Shared Secret Computation (Hardware) |
---|---|---|
ECDH (P-256) | 48.5 ms | 48.4 ms |
ECDH (P-384) | 135.9 ms | 135.9 ms |
ECDH (P-521) | 321.7 ms | 321.6 ms |
ECDH (X25519) | 22.7 ms | 22.7 ms |
ECDH (X448) | 85.6 ms | 85.5 ms |