Crypto Benchmark on STM32H5 MCU
ARM Cortex-M33 @ 250 MHz
This benchmark conducted on STM32H573I-DK Discovery kit with STM32H573IIK3Q 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 STM32H5 microcontroller.
STM32H5 MCU also includes crypto hardware acceleration. In the following comparison charts, both hardware and software performance are presented in the relevant sections.
See also software crypto performance comparison: STM32F4 versus STM32H5
Cipher Algorithms
STM32H573 @ 250 MHz
- • Benchmark generated with CycloneCRYPTO 2.2.4
- • 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.766 MB/s | 0.746 MB/s | - | - | - | - |
AES-128 | 3.688 MB/s | 3.591 MB/s | 1.959 MB/s | 1.96 MB/s | 2.009 MB/s | 2.008 MB/s |
AES-192 | 3.225 MB/s | 3.156 MB/s | 1.693 MB/s | 1.693 MB/s | 1.861 MB/s | 1.86 MB/s |
AES-256 | 2.866 MB/s | 2.816 MB/s | 1.49 MB/s | 1.491 MB/s | 1.734 MB/s | 1.733 MB/s |
Algorithm | CBC Encrypt (Hardware) | CBC Decrypt (Hardware) | CCM Encrypt (Hardware) | CCM Decrypt (Hardware) | GCM Encrypt (Hardware) | GCM Decrypt (Hardware) |
---|---|---|---|---|---|---|
AES-128 | 44.052 MB/s | 43.478 MB/s | 23.364 MB/s | 23.31 MB/s | 41.152 MB/s | 40.816 MB/s |
AES-256 | 33.444 MB/s | 32.894 MB/s | 17.953 MB/s | 17.889 MB/s | 31.446 MB/s | 31.152 MB/s |
Hash Algorithms
STM32H573 @ 250 MHz
- • Benchmark generated with CycloneCRYPTO 2.2.4
- • Compiled using Clang with optimization level 3
Algorithm | Speed (Software) | Speed (Hardware) |
---|---|---|
MD5 | 20.161 MB/s | - |
SHA-1 | 4.591 MB/s | 112.359 MB/s |
SHA-224 | 3.314 MB/s | 125 MB/s |
SHA-256 | 3.313 MB/s | 123.456 MB/s |
SHA-384 | 2.069 MB/s | 138.888 MB/s |
SHA-512 | 2.069 MB/s | 138.888 MB/s |
SHA3-224 | 2.058 MB/s | - |
SHA3-256 | 1.946 MB/s | - |
SHA3-384 | 1.493 MB/s | - |
SHA3-512 | 1.037 MB/s | - |
Signature Algorithms
STM32H573 @ 250 MHz
- • Benchmark generated with CycloneCRYPTO 2.2.4
- • Compiled using Clang with optimization level 3
Algorithm | Signature Generation (Software) | Signature Verification (Software) |
---|---|---|
RSA (1024 bits) | 51.6 ms | 8.6 ms |
RSA (2048 bits) | 293.3 ms | 32 ms |
RSA (3072 bits) | 867.5 ms | 69 ms |
RSA (4096 bits) | 1921.4 ms | 122.4 ms |
DSA (1024 bits) | 30.8 ms | 64.5 ms |
DSA (2048 bits) | 149.9 ms | 317.4 ms |
Algorithm | Signature Generation (Hardware) | Signature Verification (Hardware) |
---|---|---|
RSA (1024 bits) | 7.8 ms | 0.6 ms |
RSA (2048 bits) | 48.5 ms | 1.8 ms |
RSA (3072 bits) | 151.2 ms | 4.5 ms |
RSA (4096 bits) | 342.6 ms | 7.7 ms |
DSA (1024 bits) | 9.9 ms | 22.7 ms |
DSA (2048 bits) | 39.7 ms | 97.1 ms |
EC Signature Algorithms
STM32H573 @ 250 MHz
- • Benchmark generated with CycloneCRYPTO 2.2.4
- • Compiled using Clang with optimization level 3
Algorithm | Signature Generation (Software) | Signature Verification (Software) |
---|---|---|
ECDSA (P-256) | 97.6 ms | 123.4 ms |
ECDSA (P-384) | 193 ms | 242 ms |
ECDSA (P-521) | 219.1 ms | 262.1 ms |
EdDSA (Ed25519) | 28 ms | 55.4 ms |
EdDSA (Ed448) | 122.9 ms | 244.6 ms |
Algorithm | Signature Generation (Hardware) | Signature Verification (Hardware) |
---|---|---|
ECDSA (P-256) | 11 ms | 11.7 ms |
ECDSA (P-384) | 28.8 ms | 32.2 ms |
ECDSA (P-521) | 66.8 ms | 76.2 ms |
EdDSA (Ed25519) | 13.2 ms | 26 ms |
EdDSA (Ed448) | 49.1 ms | 97.4 ms |
Key Exchange Algorithms
STM32H573 @ 250 MHz
- • Benchmark generated with CycloneCRYPTO 2.2.4
- • Compiled using Clang with optimization level 3
Algorithm | Public Key Generation (Software) | Shared Secret Computation (Software) |
---|---|---|
Diffie-Hellman (1024 bits) | 120.5 ms | 120.6 ms |
Diffie-Hellman (2048 bits) | 863.9 ms | 864.1 ms |
Algorithm | Public Key Generation (Hardware) | Shared Secret Computation (Hardware) |
---|---|---|
Diffie-Hellman (1024 bits) | 23.3 ms | 23.3 ms |
Diffie-Hellman (2048 bits) | 167 ms | 166.9 ms |
EC Key Exchange Algorithms
STM32H573 @ 250 MHz
- • Benchmark generated with CycloneCRYPTO 2.2.4
- • Compiled using Clang with optimization level 3
Algorithm | Public Key Generation (Software) | Shared Secret Computation (Software) |
---|---|---|
ECDH (P-256) | 93.9 ms | 93.7 ms |
ECDH (P-384) | 184.5 ms | 187.7 ms |
ECDH (P-521) | 217 ms | 216.2 ms |
ECDH (X25519) | 15.4 ms | 15.3 ms |
ECDH (X448) | 62.2 ms | 62.2 ms |
Algorithm | Public Key Generation (Hardware) | Shared Secret Computation (Hardware) |
---|---|---|
ECDH (P-256) | 14.5 ms | 14.5 ms |
ECDH (P-384) | 38.8 ms | 38.9 ms |
ECDH (P-521) | 93 ms | 93 ms |
ECDH (X25519) | 7.3 ms | 7.2 ms |
ECDH (X448) | 25.7 ms | 25.7 ms |