Crypto Benchmark on STM32MP13 MCU
ARM Cortex-A7 @ 650 MHz
This benchmark conducted on STM32MP135F-DK discovery kit with STM32MP135F MPU 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 STM32MP13 microcontroller.
STM32MP13 MCU also includes crypto hardware acceleration. In the following comparison charts, both hardware and software performance are presented in the relevant sections.
Cipher Algorithms
STM32MP135 @ 650 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using GCC with optimization level 3
Algorithm | Encryption (Software) | Decryption (Software) | Encryption (Hardware) | Decryption (Hardware) |
---|---|---|---|---|
3DES-CBC | 2.423 MB/s | 2.315 MB/s | 12.787 MB/s | 12.787 MB/s |
3DES-CTR | 2.43 MB/s | 2.431 MB/s | 4.985 MB/s | 4.985 MB/s |
AES128-CBC | 11.185 MB/s | 8.196 MB/s | 23.419 MB/s | 23.255 MB/s |
AES192-CBC | 9.93 MB/s | 7.107 MB/s | 23.474 MB/s | 23.201 MB/s |
AES256-CBC | 8.952 MB/s | 6.325 MB/s | 23.419 MB/s | 23.201 MB/s |
AES128-CTR | 12.437 MB/s | 12.437 MB/s | 23.31 MB/s | 23.255 MB/s |
AES192-CTR | 10.94 MB/s | 10.928 MB/s | 23.31 MB/s | 23.31 MB/s |
AES256-CTR | 9.606 MB/s | 9.606 MB/s | 23.255 MB/s | 23.255 MB/s |
SM4-CBC | 10.245 MB/s | 9.363 MB/s | - | - |
SM4-CTR | 11.376 MB/s | 11.363 MB/s | - | - |
AEAD Algorithms
STM32MP135 @ 650 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using GCC with optimization level 3
Algorithm | Encryption (Software) | Decryption (Software) | Encryption (Hardware) | Decryption (Hardware) |
---|---|---|---|---|
AES128-GCM | 7.235 MB/s | 7.142 MB/s | 22.172 MB/s | 22.222 MB/s |
AES192-GCM | 6.688 MB/s | 6.618 MB/s | 22.172 MB/s | 22.123 MB/s |
AES256-GCM | 6.169 MB/s | 6.108 MB/s | 22.123 MB/s | 22.123 MB/s |
AES128-CCM | 6.973 MB/s | 6.997 MB/s | 21.881 MB/s | 21.881 MB/s |
AES192-CCM | 5.988 MB/s | 6.009 MB/s | 21.881 MB/s | 21.834 MB/s |
AES256-CCM | 5.296 MB/s | 5.313 MB/s | 21.881 MB/s | 21.881 MB/s |
SM4-GCM | 6.849 MB/s | 6.747 MB/s | - | - |
SM4-CCM | 6.195 MB/s | 6.215 MB/s | - | - |
Ascon-AEAD128 | 11.248 MB/s | 10.893 MB/s | - | - |
ChaCha20Poly1305 | 13.513 MB/s | 13.495 MB/s | - | - |
Hash Algorithms
STM32MP135 @ 650 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using GCC with optimization level 3
Algorithm | Speed (Software) | Speed (Hardware) |
---|---|---|
MD5 | 40.485 MB/s | - |
SHA-1 | 13.003 MB/s | 75.187 MB/s |
SHA-224 | 10.94 MB/s | 80 MB/s |
SHA-256 | 10.94 MB/s | 80.645 MB/s |
SHA-384 | 5.534 MB/s | 86.206 MB/s |
SHA-512 | 5.534 MB/s | 86.206 MB/s |
SHA3-224 | 5.186 MB/s | 49.261 MB/s |
SHA3-256 | 4.911 MB/s | 48.309 MB/s |
SHA3-384 | 3.799 MB/s | 47.619 MB/s |
SHA3-512 | 2.662 MB/s | 46.296 MB/s |
SM3 | 7.077 MB/s | - |
Ascon-Hash256 | 4.063 MB/s | - |
Signature Algorithms
STM32MP135 @ 650 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using GCC with optimization level 3
Algorithm | Generation (Software) | Verification (Software) | Generation (Hardware) | Verification (Hardware) |
---|---|---|---|---|
RSA (1024 bits) | 23.8 ms | 3.3 ms | 2.5 ms | 0.3 ms |
RSA (2048 bits) | 137.9 ms | 12.1 ms | 13.6 ms | 0.6 ms |
RSA (3072 bits) | 414.7 ms | 25.8 ms | 40.3 ms | 1.7 ms |
RSA (4096 bits) | 921.1 ms | 45.4 ms | 88.8 ms | 2.8 ms |
DSA (1024 bits) | 13.3 ms | 27.3 ms | 3.2 ms | 7.1 ms |
DSA (2048 bits) | 67 ms | 138.8 ms | 11.6 ms | 27.9 ms |
EC Signature Algorithms
STM32MP135 @ 650 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using GCC with optimization level 3
Algorithm | Generation (Software) | Verification (Software) | Generation (Hardware) | Verification (Hardware) |
---|---|---|---|---|
ECDSA (secp256r1) | 16.2 ms | 14.8 ms | 4.1 ms | 4.6 ms |
ECDSA (secp384r1) | 39.7 ms | 36.4 ms | 9.7 ms | 11.2 ms |
ECDSA (secp521r1) | 84.5 ms | 75.2 ms | 22.6 ms | 26.5 ms |
ECDSA (brainpoolP256r1) | 30.9 ms | 31.2 ms | 4.1 ms | 4.7 ms |
ECDSA (brainpoolP384r1) | 79.8 ms | 80.3 ms | 9.6 ms | 11.3 ms |
ECDSA (brainpoolP512r1) | 162.2 ms | 165.5 ms | 18.3 ms | 21.9 ms |
SM2 | 14.4 ms | 14.4 ms | 5.4 ms | 5.4 ms |
EdDSA (Ed25519) | 4.4 ms | 4 ms | - | - |
EdDSA (Ed448) | 22.4 ms | 20 ms | - | - |
Key Exchange Algorithms
STM32MP135 @ 650 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using GCC 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) | 58.1 ms | 58.2 ms | 6.4 ms | 6.5 ms |
Diffie-Hellman (2048 bits) | 421.2 ms | 421.2 ms | 42.9 ms | 42.9 ms |
EC Key Exchange Algorithms
STM32MP135 @ 650 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using GCC with optimization level 3
Algorithm | Public Key Generation (Software) | Shared Secret Computation (Software) | Public Key Generation (Hardware) | Shared Secret Computation (Hardware) |
---|---|---|---|---|
ECDH (secp256r1) | 14.3 ms | 14.2 ms | 5.3 ms | 5.2 ms |
ECDH (secp384r1) | 34.8 ms | 34.8 ms | 13.3 ms | 13.2 ms |
ECDH (secp521r1) | 72.8 ms | 72.6 ms | 33.3 ms | 33.2 ms |
ECDH (brainpoolP256r1) | 28.6 ms | 28.6 ms | 6.9 ms | 6.9 ms |
ECDH (brainpoolP384r1) | 73.9 ms | 73.8 ms | 17.2 ms | 17.2 ms |
ECDH (brainpoolP512r1) | 150.3 ms | 150.3 ms | 34.6 ms | 34.5 ms |
ECDH (SM2) | 14.3 ms | 14.3 ms | 5.4 ms | 5.3 ms |
ECDH (X25519) | 2.4 ms | 2.4 ms | - | - |
ECDH (X448) | 11.4 ms | 11.4 ms | - | - |