Crypto Benchmark on STM32F2 MCU
ARM Cortex-M3 @ 120 MHz
This benchmark conducted on STM3221G-EVAL evaluation board with STM32F217IG 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 STM32F2 microcontroller.
STM32F2 MCU also includes crypto hardware acceleration. In the following comparison charts, both hardware and software performance are presented in the relevant sections.
Cipher Algorithms
STM32F217 @ 120 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 | 0.232 MB/s | 0.236 MB/s | 10.526 MB/s | 10.515 MB/s |
3DES-CTR | 0.231 MB/s | 0.231 MB/s | - | - |
AES128-CBC | 1.156 MB/s | 1.14 MB/s | 25.51 MB/s | 25.38 MB/s |
AES192-CBC | 1 MB/s | 0.993 MB/s | 25.445 MB/s | 25.252 MB/s |
AES256-CBC | 0.882 MB/s | 0.879 MB/s | 25.445 MB/s | 25.252 MB/s |
AES128-CTR | 1.157 MB/s | 1.153 MB/s | 24.63 MB/s | 24.509 MB/s |
AES192-CTR | 1.002 MB/s | 0.999 MB/s | 24.57 MB/s | 24.449 MB/s |
AES256-CTR | 0.882 MB/s | 0.877 MB/s | 24.509 MB/s | 24.39 MB/s |
SM4-CBC | 1.288 MB/s | 1.24 MB/s | - | - |
SM4-CTR | 1.24 MB/s | 1.24 MB/s | - | - |
AEAD Algorithms
STM32F217 @ 120 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using ARMCC with optimization level 3
Algorithm | Encryption (Software) | Decryption (Software) |
---|---|---|
AES128-GCM | 0.708 MB/s | 0.708 MB/s |
AES192-GCM | 0.645 MB/s | 0.644 MB/s |
AES256-GCM | 0.595 MB/s | 0.595 MB/s |
AES128-CCM | 0.611 MB/s | 0.611 MB/s |
AES192-CCM | 0.521 MB/s | 0.521 MB/s |
AES256-CCM | 0.456 MB/s | 0.456 MB/s |
SM4-GCM | 0.735 MB/s | 0.734 MB/s |
SM4-CCM | 0.671 MB/s | 0.671 MB/s |
Ascon-AEAD128 | 1.572 MB/s | 1.564 MB/s |
ChaCha20Poly1305 | 1.049 MB/s | 1.047 MB/s |
Hash Algorithms
STM32F217 @ 120 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using ARMCC with optimization level 3
Algorithm | Speed (Software) | Speed (Hardware) |
---|---|---|
MD5 | 6.653 MB/s | 52.083 MB/s |
SHA-1 | 1.663 MB/s | 47.846 MB/s |
SHA-224 | 1.582 MB/s | - |
SHA-256 | 1.582 MB/s | - |
SHA-384 | 0.797 MB/s | - |
SHA-512 | 0.797 MB/s | - |
SHA3-224 | 0.544 MB/s | - |
SHA3-256 | 0.514 MB/s | - |
SHA3-384 | 0.396 MB/s | - |
SHA3-512 | 0.276 MB/s | - |
SM3 | 1.404 MB/s | - |
Ascon-Hash256 | 0.6 MB/s | - |
Signature Algorithms
STM32F217 @ 120 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using ARMCC with optimization level 3
Algorithm | Generation (Software) | Verification (Software) |
---|---|---|
RSA (1024 bits) | 180.2 ms | 29.1 ms |
RSA (2048 bits) | 1009.5 ms | 107 ms |
RSA (3072 bits) | 2971.3 ms | 230.3 ms |
DSA (1024 bits) | 103.3 ms | 213.9 ms |
DSA (2048 bits) | 502.2 ms | 1050 ms |
EC Signature Algorithms
STM32F217 @ 120 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using ARMCC with optimization level 3
Algorithm | Generation (Software) | Verification (Software) |
---|---|---|
ECDSA (secp256r1) | 113.2 ms | 102.1 ms |
ECDSA (secp384r1) | 292.4 ms | 265.4 ms |
ECDSA (secp521r1) | 646.7 ms | 570.9 ms |
ECDSA (brainpoolP256r1) | 223.1 ms | 223.3 ms |
ECDSA (brainpoolP384r1) | 616.4 ms | 616.9 ms |
ECDSA (brainpoolP512r1) | 1316.3 ms | 1339.3 ms |
SM2 | 99.8 ms | 99.8 ms |
EdDSA (Ed25519) | 42.6 ms | 39.6 ms |
EdDSA (Ed448) | 201.1 ms | 181.3 ms |
Key Exchange Algorithms
STM32F217 @ 120 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using ARMCC with optimization level 3
Algorithm | Public Key Generation (Software) | Shared Secret Computation (Software) |
---|---|---|
Diffie-Hellman (1024 bits) | 410 ms | 410.2 ms |
Diffie-Hellman (2048 bits) | 2930.3 ms | 2930.7 ms |
EC Key Exchange Algorithms
STM32F217 @ 120 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using ARMCC with optimization level 3
Algorithm | Public Key Generation (Software) | Shared Secret Computation (Software) |
---|---|---|
ECDH (secp256r1) | 99.6 ms | 99.4 ms |
ECDH (secp384r1) | 255.9 ms | 255.6 ms |
ECDH (secp521r1) | 557.5 ms | 556.9 ms |
ECDH (brainpoolP256r1) | 207.3 ms | 207.1 ms |
ECDH (brainpoolP384r1) | 571.8 ms | 571.4 ms |
ECDH (brainpoolP512r1) | 1220.3 ms | 1219.8 ms |
ECDH (SM2) | 99.9 ms | 99.6 ms |
ECDH (X25519) | 23.2 ms | 23.9 ms |
ECDH (X448) | 100.4 ms | 103.2 ms |