Crypto Benchmark on STM32H7RS MCU
ARM Cortex-M7 @ 600 MHz
This benchmark conducted on NUCLEO-H7S3L8 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.5.0
- • Compiled using ARMCC with optimization level 3
Algorithm | Encryption (Software) |
Decryption (Software) |
Encryption (Hardware) |
Decryption (Hardware) |
---|---|---|---|---|
3DES-CBC | 2.537 MB/s | 2.103 MB/s | - | - |
3DES-CTR | 2.53 MB/s | 2.527 MB/s | - | - |
AES128-CBC | 12.406 MB/s | 12.376 MB/s | 75.757 MB/s | 75.757 MB/s |
AES192-CBC | 10.822 MB/s | 10.917 MB/s | 76.335 MB/s | 75.757 MB/s |
AES256-CBC | 9.587 MB/s | 9.775 MB/s | 76.335 MB/s | 75.187 MB/s |
AES128-CTR | 11.918 MB/s | 11.918 MB/s | 75.187 MB/s | 75.187 MB/s |
AES192-CTR | 10.438 MB/s | 10.438 MB/s | 74.626 MB/s | 74.626 MB/s |
AES256-CTR | 9.293 MB/s | 9.293 MB/s | 75.187 MB/s | 75.187 MB/s |
SM4-CBC | 10.471 MB/s | 10.298 MB/s | - | - |
SM4-CTR | 10.101 MB/s | 10.121 MB/s | - | - |
AEAD Algorithms
STM32H7S3 @ 600 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using ARMCC with optimization level 3
Algorithm | Encryption (Software) |
Decryption (Software) |
Encryption (Hardware) |
Decryption (Hardware) |
---|---|---|---|---|
AES128-GCM | 7.163 MB/s | 7.137 MB/s | 77.519 MB/s | 77.519 MB/s |
AES192-GCM | 6.591 MB/s | 6.57 MB/s | 71.942 MB/s | 71.428 MB/s |
AES256-GCM | 6.108 MB/s | 6.09 MB/s | 70.921 MB/s | 70.921 MB/s |
AES128-CCM | 6.349 MB/s | 6.357 MB/s | 73.529 MB/s | 73.529 MB/s |
AES192-CCM | 5.491 MB/s | 5.5 MB/s | 68.027 MB/s | 68.027 MB/s |
AES256-CCM | 4.842 MB/s | 4.844 MB/s | 68.027 MB/s | 68.027 MB/s |
SM4-GCM | 6.464 MB/s | 6.443 MB/s | - | - |
SM4-CCM | 5.293 MB/s | 5.302 MB/s | - | - |
Ascon-AEAD128 | 12.315 MB/s | 12.165 MB/s | - | - |
ChaCha20Poly1305 | 9.514 MB/s | 9.505 MB/s | - | - |
Hash Algorithms
STM32H7S3 @ 600 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using ARMCC with optimization level 3
Algorithm | Speed (Software) |
Speed (Hardware) |
---|---|---|
MD5 | 50.251 MB/s | - |
SHA-1 | 17.182 MB/s | 158.73 MB/s |
SHA-224 | 16.155 MB/s | 178.571 MB/s |
SHA-256 | 16.129 MB/s | 181.818 MB/s |
SHA-384 | 6.393 MB/s | 217.391 MB/s |
SHA-512 | 6.389 MB/s | 217.391 MB/s |
SHA3-224 | 2.68 MB/s | - |
SHA3-256 | 2.534 MB/s | - |
SHA3-384 | 1.944 MB/s | - |
SHA3-512 | 1.35 MB/s | - |
SM3 | 13.831 MB/s | - |
Ascon-Hash256 | 4.69 MB/s | - |
Signature Algorithms
STM32H7S3 @ 600 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using ARMCC with optimization level 3
Algorithm | Generation (Software) |
Verification (Software) |
Generation (Hardware) |
Verification (Hardware) |
---|---|---|---|---|
RSA (1024 bits) | 17.3 ms | 2.8 ms | 6.4 ms | 0.5 ms |
RSA (2048 bits) | 89.5 ms | 9.7 ms | 40.4 ms | 1.5 ms |
RSA (3072 bits) | 254.5 ms | 20.6 ms | 126 ms | 3.8 ms |
RSA (4096 bits) | 552.6 ms | 35.9 ms | 285.5 ms | 6.4 ms |
DSA (1024 bits) | 9.6 ms | 19.7 ms | 5.5 ms | 11.2 ms |
DSA (2048 bits) | 43.5 ms | 90.7 ms | 23.9 ms | 51.5 ms |
DSA (3072 bits) | 92 ms | 193.2 ms | 49.5 ms | 109.5 ms |
EC Signature Algorithms
STM32H7S3 @ 600 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using ARMCC with optimization level 3
Algorithm | Generation (Software) |
Verification (Software) |
Generation (Hardware) |
Verification (Hardware) |
---|---|---|---|---|
ECDSA (secp256r1) | 13 ms | 11.7 ms | 9.1 ms | 9.8 ms |
ECDSA (secp384r1) | 31.3 ms | 28.5 ms | 24 ms | 26.9 ms |
ECDSA (secp521r1) | 66.9 ms | 59.3 ms | 55.7 ms | 63.5 ms |
ECDSA (brainpoolP256r1) | 24.8 ms | 24.9 ms | 9.2 ms | 9.8 ms |
ECDSA (brainpoolP384r1) | 63.4 ms | 63.5 ms | 23.6 ms | 26.7 ms |
ECDSA (brainpoolP512r1) | 130 ms | 132.3 ms | 48.2 ms | 55.6 ms |
SM2 | 11.4 ms | 11.4 ms | 11 ms | 11 ms |
EdDSA (Ed25519) | 3.8 ms | 3.5 ms | - | - |
EdDSA (Ed448) | 22.2 ms | 19.9 ms | - | - |
Key Exchange Algorithms
STM32H7S3 @ 600 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using ARMCC with optimization level 3
Algorithm | Public Key Generation (Software) |
Shared Secret Computation (Software) |
Public Key Generation (Hardware) |
Shared Secret Computation (Hardware) |
---|---|---|---|---|
Diffie-Hellman (1024 bits) | 35.9 ms | 35.9 ms | 19.4 ms | 19.4 ms |
Diffie-Hellman (2048 bits) | 244.8 ms | 244.7 ms | 139.2 ms | 139.2 ms |
Diffie-Hellman (3072 bits) | 784.4 ms | 782.7 ms | 451 ms | 450.9 ms |
Diffie-Hellman (4096 bits) | 1810.6 ms | 1808.8 ms | 1053.3 ms | 1053.4 ms |
EC Key Exchange Algorithms
STM32H7S3 @ 600 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using ARMCC with optimization level 3
Algorithm | Public Key Generation (Software) |
Shared Secret Computation (Software) |
Public Key Generation (Hardware) |
Shared Secret Computation (Hardware) |
---|---|---|---|---|
ECDH (secp256r1) | 11.5 ms | 11.5 ms | 10.9 ms | 10.8 ms |
ECDH (secp384r1) | 27.4 ms | 27.4 ms | 29.8 ms | 29.8 ms |
ECDH (secp521r1) | 57.8 ms | 57.8 ms | 73.2 ms | 73.1 ms |
ECDH (brainpoolP256r1) | 23.1 ms | 23 ms | 12.1 ms | 12 ms |
ECDH (brainpoolP384r1) | 59 ms | 59 ms | 32.8 ms | 32.7 ms |
ECDH (brainpoolP512r1) | 120.8 ms | 120.7 ms | 68.9 ms | 69 ms |
ECDH (SM2) | 11.4 ms | 11.4 ms | 11 ms | 11 ms |
ECDH (X25519) | 2.1 ms | 2.1 ms | - | - |
ECDH (X448) | 11.2 ms | 11.3 ms | - | - |