Crypto Benchmark on STM32L4+ MCU
ARM Cortex-M4 @ 120 MHz
This benchmark conducted on B-L4S5I-IOT01A STM32L4+ Discovery kit with STM32L4S5VIT6 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
STM32L4S5 @ 120 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.167 MB/s | 0.166 MB/s | - | - | - | - |
AES-128 | 0.926 MB/s | 0.943 MB/s | 0.49 MB/s | 0.49 MB/s | 0.527 MB/s | 0.526 MB/s |
AES-192 | 0.798 MB/s | 0.818 MB/s | 0.417 MB/s | 0.417 MB/s | 0.482 MB/s | 0.481 MB/s |
AES-256 | 0.701 MB/s | 0.72 MB/s | 0.365 MB/s | 0.365 MB/s | 0.448 MB/s | 0.447 MB/s |
Algorithm | CBC Encrypt (Hardware) | CBC Decrypt (Hardware) | CCM Encrypt (Hardware) | CCM Decrypt (Hardware) | GCM Encrypt (Hardware) | GCM Decrypt (Hardware) |
---|---|---|---|---|---|---|
AES-128 | 17.513 MB/s | 17.482 MB/s | 9.9 MB/s | 9.794 MB/s | 15.723 MB/s | 15.455 MB/s |
AES-256 | 14.204 MB/s | 14.204 MB/s | 7.836 MB/s | 7.727 MB/s | 13.02 MB/s | 12.787 MB/s |
Hash Algorithms
STM32L4S5 @ 120 MHz
- • Benchmark generated with CycloneCRYPTO 2.1.6
- • Compiled using ARMCC with optimization level 3
Algorithm | Speed (Software) | Speed (Hardware) |
---|---|---|
MD5 | 3.595 MB/s | 51.546 MB/s |
SHA-1 | 1.722 MB/s | 47.393 MB/s |
SHA-224 | 1.53 MB/s | 50.251 MB/s |
SHA-256 | 1.53 MB/s | 50.505 MB/s |
SHA-384 | 0.752 MB/s | - |
SHA-512 | 0.752 MB/s | - |
SHA3-224 | 0.271 MB/s | - |
SHA3-256 | 0.256 MB/s | - |
SHA3-384 | 0.196 MB/s | - |
SHA3-512 | 0.136 MB/s | - |
Signature Algorithms
STM32L4S5 @ 120 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) | 159.4 ms | 29.6 ms |
RSA (2048 bits) | 810.9 ms | 109.1 ms |
RSA (3072 bits) | 2285.8 ms | 234.3 ms |
DSA (1024 bits) | 92.9 ms | 192.6 ms |
DSA (2048 bits) | 415.3 ms | 879.1 ms |
EC Signature Algorithms
STM32L4S5 @ 120 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) | 349.6 ms | 438.7 ms |
ECDSA (P-384) | 630.4 ms | 780.5 ms |
ECDSA (P-521) | 687.1 ms | 816.3 ms |
EdDSA (Ed25519) | 74.9 ms | 147.8 ms |
EdDSA (Ed448) | 323.2 ms | 640.3 ms |
Key Exchange Algorithms
STM32L4S5 @ 120 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) | 314.5 ms | 314.2 ms |
Diffie-Hellman (2048 bits) | 2127.8 ms | 2125.5 ms |
EC Key Exchange Algorithms
STM32L4S5 @ 120 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) | 336.2 ms | 335.2 ms |
ECDH (P-384) | 594.7 ms | 603.4 ms |
ECDH (P-521) | 670.4 ms | 668.1 ms |
ECDH (X25519) | 42.1 ms | 42.1 ms |
ECDH (X448) | 166.5 ms | 166.5 ms |