Crypto Benchmark on STM32U5 MCU
ARM Cortex-M33 @ 160 MHz
This benchmark conducted on B-U585I-IOT02A Discovery kit for IoT node with STM32U5 series 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 STM32U5 microcontroller.
STM32U5 MCU also includes crypto hardware acceleration. In the following comparison charts, both hardware and software performance are presented in the relevant sections.
Cipher Algorithms
STM32U585 @ 160 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.481 MB/s | 0.472 MB/s | - | - | - | - |
AES-128 | 2.363 MB/s | 2.166 MB/s | 1.252 MB/s | 1.121 MB/s | 1.284 MB/s | 1.284 MB/s |
AES-192 | 2.066 MB/s | 1.917 MB/s | 1.082 MB/s | 0.983 MB/s | 1.19 MB/s | 1.189 MB/s |
AES-256 | 1.835 MB/s | 1.717 MB/s | 0.952 MB/s | 0.873 MB/s | 1.108 MB/s | 1.108 MB/s |
Algorithm | CBC Encrypt (Hardware) | CBC Decrypt (Hardware) | CCM Encrypt (Hardware) | CCM Decrypt (Hardware) | GCM Encrypt (Hardware) | GCM Decrypt (Hardware) |
---|---|---|---|---|---|---|
AES-128 | 28.248 MB/s | 27.855 MB/s | 14.925 MB/s | 14.88 MB/s | 26.246 MB/s | 25.974 MB/s |
AES-256 | 21.413 MB/s | 21.141 MB/s | 11.467 MB/s | 11.441 MB/s | 20.08 MB/s | 19.92 MB/s |
Hash Algorithms
STM32U585 @ 160 MHz
- • Benchmark generated with CycloneCRYPTO 2.1.6
- • Compiled using Clang with optimization level 3
Algorithm | Speed (Software) | Speed (Hardware) |
---|---|---|
MD5 | 12.886 MB/s | 84.745 MB/s |
SHA-1 | 2.935 MB/s | 72.992 MB/s |
SHA-224 | 2.112 MB/s | 82.644 MB/s |
SHA-256 | 2.112 MB/s | 83.333 MB/s |
SHA-384 | 1.321 MB/s | - |
SHA-512 | 1.321 MB/s | - |
SHA3-224 | 1.315 MB/s | - |
SHA3-256 | 1.243 MB/s | - |
SHA3-384 | 0.954 MB/s | - |
SHA3-512 | 0.663 MB/s | - |
Signature Algorithms
STM32U585 @ 160 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) | 80.6 ms | 13.4 ms |
RSA (2048 bits) | 458.5 ms | 50.2 ms |
RSA (3072 bits) | 1356.9 ms | 107.9 ms |
RSA (4096 bits) | 3006.4 ms | 191.6 ms |
DSA (1024 bits) | 48 ms | 100.8 ms |
DSA (2048 bits) | 234.5 ms | 496.6 ms |
Algorithm | Signature Generation (Hardware) | Signature Verification (Hardware) |
---|---|---|
RSA (1024 bits) | 12.1 ms | 1 ms |
RSA (2048 bits) | 75.7 ms | 2.9 ms |
RSA (3072 bits) | 236.2 ms | 7.1 ms |
RSA (4096 bits) | 535.4 ms | 12.1 ms |
DSA (1024 bits) | 15.4 ms | 35.5 ms |
DSA (2048 bits) | 62.1 ms | 151.7 ms |
EC Signature Algorithms
STM32U585 @ 160 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) | 159.9 ms | 201.5 ms |
ECDSA (P-384) | 300.7 ms | 376.1 ms |
ECDSA (P-521) | 345 ms | 411.9 ms |
EdDSA (Ed25519) | 43.9 ms | 86.6 ms |
EdDSA (Ed448) | 192.4 ms | 382.8 ms |
Algorithm | Signature Generation (Hardware) | Signature Verification (Hardware) |
---|---|---|
ECDSA (P-256) | 17.2 ms | 18.3 ms |
ECDSA (P-384) | 44.9 ms | 50.3 ms |
ECDSA (P-521) | 104.4 ms | 119.2 ms |
EdDSA (Ed25519) | 21 ms | 41 ms |
EdDSA (Ed448) | 78 ms | 154.5 ms |
Key Exchange Algorithms
STM32U585 @ 160 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) | 188.5 ms | 188.5 ms |
Diffie-Hellman (2048 bits) | 1351.8 ms | 1351.9 ms |
Algorithm | Public Key Generation (Hardware) | Shared Secret Computation (Hardware) |
---|---|---|
Diffie-Hellman (1024 bits) | 36.4 ms | 36.4 ms |
Diffie-Hellman (2048 bits) | 260.9 ms | 260.9 ms |
EC Key Exchange Algorithms
STM32U585 @ 160 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) | 154.3 ms | 154 ms |
ECDH (P-384) | 287.5 ms | 292.5 ms |
ECDH (P-521) | 341.8 ms | 340.6 ms |
ECDH (X25519) | 24.3 ms | 24.3 ms |
ECDH (X448) | 97.4 ms | 97.4 ms |
Algorithm | Public Key Generation (Hardware) | Shared Secret Computation (Hardware) |
---|---|---|
ECDH (P-256) | 22.6 ms | 22.6 ms |
ECDH (P-384) | 60.6 ms | 60.6 ms |
ECDH (P-521) | 145 ms | 145 ms |
ECDH (X25519) | 11.4 ms | 11.4 ms |
ECDH (X448) | 40.3 ms | 40.3 ms |