Crypto Benchmark on STM32L4 MCU
ARM Cortex-M4 @ 80 MHz
This benchmark conducted on STM32 Nucleo-144 development board with STM32L4A6ZG 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 STM32L4 microcontroller.
STM32L4 MCU also includes crypto hardware acceleration. In the following comparison charts, both hardware and software performance are presented in the relevant sections.
Cipher Algorithms
STM32L4A6 @ 80 MHz
- • Benchmark generated with CycloneCRYPTO 2.1.6
- • Compiled using ARMCC 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.124 MB/s | 0.121 MB/s | - | - | - | - |
AES-128 | 0.689 MB/s | 0.704 MB/s | 0.364 MB/s | 0.363 MB/s | 0.4 MB/s | 0.398 MB/s |
AES-192 | 0.594 MB/s | 0.611 MB/s | 0.309 MB/s | 0.309 MB/s | 0.364 MB/s | 0.363 MB/s |
AES-256 | 0.523 MB/s | 0.54 MB/s | 0.271 MB/s | 0.27 MB/s | 0.338 MB/s | 0.337 MB/s |
Algorithm | CBC Encrypt (Hardware) | CBC Decrypt (Hardware) | CCM Encrypt (Hardware) | CCM Decrypt (Hardware) | GCM Encrypt (Hardware) | GCM Decrypt (Hardware) |
---|---|---|---|---|---|---|
AES-128 | 5.109 MB/s | 5.109 MB/s | - | - | 4.796 MB/s | 4.746 MB/s |
AES-256 | 3.776 MB/s | 3.776 MB/s | - | - | 3.563 MB/s | 3.538 MB/s |
Hash Algorithms
STM32L4A6 @ 80 MHz
- • Benchmark generated with CycloneCRYPTO 2.1.6
- • Compiled using ARMCC with optimization level 3
Algorithm | Speed (Software) | Speed (Hardware) |
---|---|---|
MD5 | 2.779 MB/s | 46.728 MB/s |
SHA-1 | 1.148 MB/s | 40.65 MB/s |
SHA-224 | 1.091 MB/s | 45.662 MB/s |
SHA-256 | 1.091 MB/s | 45.662 MB/s |
SHA-384 | 0.563 MB/s | - |
SHA-512 | 0.563 MB/s | - |
SHA3-224 | 0.211 MB/s | - |
SHA3-256 | 0.199 MB/s | - |
SHA3-384 | 0.153 MB/s | - |
SHA3-512 | 0.106 MB/s | - |
Signature Algorithms
STM32L4A6 @ 80 MHz
- • Benchmark generated with CycloneCRYPTO 2.1.6
- • Compiled using ARMCC with optimization level 3
Algorithm | Signature Generation (Software) | Signature Verification (Software) |
---|---|---|
RSA (1024 bits) | 210.7 ms | 38.9 ms |
RSA (2048 bits) | 1077.6 ms | 143.4 ms |
DSA (1024 bits) | 123 ms | 255 ms |
DSA (2048 bits) | 552.1 ms | 1167.4 ms |
EC Signature Algorithms
STM32L4A6 @ 80 MHz
- • Benchmark generated with CycloneCRYPTO 2.1.6
- • Compiled using ARMCC with optimization level 3
Algorithm | Signature Generation (Software) | Signature Verification (Software) |
---|---|---|
ECDSA (P-256) | 461.6 ms | 579.5 ms |
ECDSA (P-384) | 831.3 ms | 1028.3 ms |
ECDSA (P-521) | 905 ms | 1075.6 ms |
EdDSA (Ed25519) | 103.7 ms | 204.5 ms |
EdDSA (Ed448) | 449.9 ms | 891.1 ms |
Key Exchange Algorithms
STM32L4A6 @ 80 MHz
- • Benchmark generated with CycloneCRYPTO 2.1.6
- • Compiled using ARMCC with optimization level 3
Algorithm | Public Key Generation (Software) | Shared Secret Computation (Software) |
---|---|---|
Diffie-Hellman (1024 bits) | 418.5 ms | 418.7 ms |
Diffie-Hellman (2048 bits) | 2844.5 ms | 2844.6 ms |
EC Key Exchange Algorithms
STM32L4A6 @ 80 MHz
- • Benchmark generated with CycloneCRYPTO 2.1.6
- • Compiled using ARMCC with optimization level 3
Algorithm | Public Key Generation (Software) | Shared Secret Computation (Software) |
---|---|---|
ECDH (P-256) | 444.2 ms | 443.1 ms |
ECDH (P-384) | 783.9 ms | 795.3 ms |
ECDH (P-521) | 882.8 ms | 880 ms |
ECDH (X25519) | 58 ms | 58 ms |
ECDH (X448) | 231 ms | 230.9 ms |