Crypto Benchmark on STM32H7RS MCU
ARM Cortex-M7 @ 600 MHz
This benchmark conducted on STM32 Nucleo-144 development board with STM32H7S3L8 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 STM32H7RS microcontroller.
STM32H7RS MCU also includes crypto hardware acceleration. In the following comparison charts, both hardware and software performance are presented in the relevant sections.
Cipher Algorithms
STM32H7S3 @ 600 MHz
- • Benchmark generated with CycloneCRYPTO 2.4.0
- • 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 | 2.668 MB/s | 2.583 MB/s | - | - | - | - |
AES-128 | 12.787 MB/s | 11.337 MB/s | 6.269 MB/s | 6.265 MB/s | 6.142 MB/s | 6.123 MB/s |
AES-192 | 11.148 MB/s | 9.91 MB/s | 5.464 MB/s | 5.461 MB/s | 5.733 MB/s | 5.717 MB/s |
AES-256 | 9.891 MB/s | 8.802 MB/s | 4.84 MB/s | 4.837 MB/s | 5.376 MB/s | 5.361 MB/s |
Algorithm | CBC Encrypt (Hardware) | CBC Decrypt (Hardware) | CCM Encrypt (Hardware) | CCM Decrypt (Hardware) | GCM Encrypt (Hardware) | GCM Decrypt (Hardware) |
---|---|---|---|---|---|---|
AES-128 | 74.626 MB/s | 74.074 MB/s | 70.422 MB/s | 69.93 MB/s | 74.626 MB/s | 74.074 MB/s |
AES-192 | 74.074 MB/s | 73.529 MB/s | 64.935 MB/s | 64.935 MB/s | 68.965 MB/s | 68.493 MB/s |
AES-256 | 74.626 MB/s | 74.074 MB/s | 64.935 MB/s | 64.516 MB/s | 69.444 MB/s | 68.965 MB/s |
Hash Algorithms
STM32H7S3 @ 600 MHz
- • Benchmark generated with CycloneCRYPTO 2.4.0
- • Compiled using ARMCC with optimization level 3
Algorithm | Speed (Software) | Speed (Hardware) |
---|---|---|
MD5 | 63.291 MB/s | - |
SHA-1 | 17.889 MB/s | 158.73 MB/s |
SHA-224 | 16.077 MB/s | 178.571 MB/s |
SHA-256 | 16.051 MB/s | 178.571 MB/s |
SHA-384 | 6.451 MB/s | 217.391 MB/s |
SHA-512 | 6.451 MB/s | 217.391 MB/s |
SHA3-224 | 3.364 MB/s | - |
SHA3-256 | 3.178 MB/s | - |
SHA3-384 | 2.436 MB/s | - |
SHA3-512 | 1.69 MB/s | - |
Signature Algorithms
STM32H7S3 @ 600 MHz
- • Benchmark generated with CycloneCRYPTO 2.4.0
- • Compiled using ARMCC with optimization level 3
Algorithm | Signature Generation (Software) | Signature Verification (Software) |
---|---|---|
RSA (1024 bits) | 17.2 ms | 2.9 ms |
RSA (2048 bits) | 89.7 ms | 10.2 ms |
RSA (3072 bits) | 255.5 ms | 21.8 ms |
RSA (4096 bits) | 555.1 ms | 38.4 ms |
DSA (1024 bits) | 9.7 ms | 19.9 ms |
DSA (2048 bits) | 44.1 ms | 92.4 ms |
DSA (3072 bits) | 93.5 ms | 197.2 ms |
Algorithm | Signature Generation (Hardware) | Signature Verification (Hardware) |
---|---|---|
RSA (1024 bits) | 6.4 ms | 0.5 ms |
RSA (2048 bits) | 40.4 ms | 1.5 ms |
RSA (3072 bits) | 126 ms | 3.7 ms |
RSA (4096 bits) | 285.5 ms | 6.5 ms |
DSA (1024 bits) | 5.5 ms | 11.3 ms |
DSA (2048 bits) | 24 ms | 52.2 ms |
DSA (3072 bits) | 49.8 ms | 111.4 ms |
EC Signature Algorithms
STM32H7S3 @ 600 MHz
- • Benchmark generated with CycloneCRYPTO 2.4.0
- • Compiled using ARMCC with optimization level 3
Algorithm | Signature Generation (Software) | Signature Verification (Software) |
---|---|---|
ECDSA (P-256) | 40.7 ms | 50.8 ms |
ECDSA (P-384) | 71.9 ms | 87.4 ms |
ECDSA (P-521) | 76.5 ms | 90.3 ms |
EdDSA (Ed25519) | 9.7 ms | 19.3 ms |
EdDSA (Ed448) | 42.1 ms | 83.8 ms |
Algorithm | Signature Generation (Hardware) | Signature Verification (Hardware) |
---|---|---|
ECDSA (P-256) | 9.2 ms | 9.8 ms |
ECDSA (P-384) | 24 ms | 26.8 ms |
ECDSA (P-521) | 55.6 ms | 63.6 ms |
Key Exchange Algorithms
STM32H7S3 @ 600 MHz
- • Benchmark generated with CycloneCRYPTO 2.4.0
- • Compiled using ARMCC with optimization level 3
Algorithm | Public Key Generation (Software) | Shared Secret Computation (Software) |
---|---|---|
Diffie-Hellman (1024 bits) | 35.8 ms | 35.8 ms |
Diffie-Hellman (2048 bits) | 244.7 ms | 244.6 ms |
Diffie-Hellman (3072 bits) | 782.8 ms | 782.7 ms |
Diffie-Hellman (4096 bits) | 1807.1 ms | 1808.3 ms |
Algorithm | Public Key Generation (Hardware) | Shared Secret Computation (Hardware) |
---|---|---|
Diffie-Hellman (1024 bits) | 19.5 ms | 19.4 ms |
Diffie-Hellman (2048 bits) | 139.2 ms | 139.1 ms |
Diffie-Hellman (3072 bits) | 451 ms | 450.9 ms |
Diffie-Hellman (4096 bits) | 1053.3 ms | 1053.3 ms |
EC Key Exchange Algorithms
STM32H7S3 @ 600 MHz
- • Benchmark generated with CycloneCRYPTO 2.4.0
- • Compiled using ARMCC with optimization level 3
Algorithm | Public Key Generation (Software) | Shared Secret Computation (Software) |
---|---|---|
ECDH (P-256) | 40.1 ms | 39.9 ms |
ECDH (P-384) | 68 ms | 68.8 ms |
ECDH (P-521) | 75.4 ms | 75.1 ms |
ECDH (X25519) | 5.5 ms | 5.4 ms |
ECDH (X448) | 21.6 ms | 21.6 ms |
Algorithm | Public Key Generation (Hardware) | Shared Secret Computation (Hardware) |
---|---|---|
ECDH (P-256) | 10.6 ms | 10.6 ms |
ECDH (P-384) | 29 ms | 29 ms |
ECDH (P-521) | 71.2 ms | 71.2 ms |