Crypto Benchmark on STM32F7 MCU
ARM Cortex-M7 @ 216 MHz
This benchmark conducted on STM32 Nucleo-144 development board with STM32F756ZG 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 STM32F7 microcontroller.
STM32F7 MCU also includes crypto hardware acceleration. In the following comparison charts, both hardware and software performance are presented in the relevant sections.
Cipher Algorithms
STM32F756 @ 216 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 | 1.127 MB/s | 1.089 MB/s | - | - | - | - |
AES-128 | 4.541 MB/s | 4.518 MB/s | 2.3 MB/s | 2.315 MB/s | 2.584 MB/s | 2.579 MB/s |
AES-192 | 3.951 MB/s | 3.982 MB/s | 1.991 MB/s | 2.002 MB/s | 2.38 MB/s | 2.375 MB/s |
AES-256 | 3.5 MB/s | 3.557 MB/s | 1.756 MB/s | 1.765 MB/s | 2.206 MB/s | 2.202 MB/s |
Algorithm | CBC Encrypt (Hardware) | CBC Decrypt (Hardware) | CCM Encrypt (Hardware) | CCM Decrypt (Hardware) | GCM Encrypt (Hardware) | GCM Decrypt (Hardware) |
---|---|---|---|---|---|---|
3DES | 19.88 MB/s | 19.92 MB/s | - | - | - | - |
AES-128 | 54.054 MB/s | 53.475 MB/s | 48.309 MB/s | 49.261 MB/s | 51.813 MB/s | 51.813 MB/s |
AES-192 | 49.019 MB/s | 48.78 MB/s | 42.194 MB/s | 41.493 MB/s | 43.859 MB/s | 44.247 MB/s |
AES-256 | 49.019 MB/s | 48.78 MB/s | 42.372 MB/s | 41.493 MB/s | 43.668 MB/s | 44.247 MB/s |
Hash Algorithms
STM32F756 @ 216 MHz
- • Benchmark generated with CycloneCRYPTO 2.1.6
- • Compiled using ARMCC with optimization level 3
Algorithm | Speed (Software) | Speed (Hardware) |
---|---|---|
MD5 | 21.739 MB/s | 149.253 MB/s |
SHA-1 | 6.43 MB/s | 125 MB/s |
SHA-224 | 5.931 MB/s | 147.058 MB/s |
SHA-256 | 5.934 MB/s | 147.058 MB/s |
SHA-384 | 2.341 MB/s | - |
SHA-512 | 2.341 MB/s | - |
SHA3-224 | 1.135 MB/s | - |
SHA3-256 | 1.073 MB/s | - |
SHA3-384 | 0.822 MB/s | - |
SHA3-512 | 0.569 MB/s | - |
Signature Algorithms
STM32F756 @ 216 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) | 47.1 ms | 7.4 ms |
RSA (2048 bits) | 243.7 ms | 26.5 ms |
RSA (3072 bits) | 696.4 ms | 56.3 ms |
RSA (4096 bits) | 1516.5 ms | 98.7 ms |
DSA (1024 bits) | 27 ms | 54.4 ms |
DSA (2048 bits) | 121 ms | 250.9 ms |
EC Signature Algorithms
STM32F756 @ 216 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) | 118 ms | 148 ms |
ECDSA (P-384) | 213.9 ms | 262.4 ms |
ECDSA (P-521) | 221.1 ms | 263.4 ms |
EdDSA (Ed25519) | 25.3 ms | 50.2 ms |
EdDSA (Ed448) | 108.5 ms | 216.3 ms |
Key Exchange Algorithms
STM32F756 @ 216 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) | 99.6 ms | 99.5 ms |
Diffie-Hellman (2048 bits) | 678.8 ms | 678.7 ms |
EC Key Exchange Algorithms
STM32F756 @ 216 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) | 114.7 ms | 114.2 ms |
ECDH (P-384) | 201.7 ms | 203.3 ms |
ECDH (P-521) | 216.5 ms | 216 ms |
ECDH (X25519) | 14.4 ms | 14.4 ms |
ECDH (X448) | 55.8 ms | 55.8 ms |