Crypto Benchmark on STM32G4 MCU
ARM Cortex-M4 @ 170 MHz
This benchmark conducted on STM32G484E-EVAL evaluation board with STM32G484QE 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 STM32G4 microcontroller.
STM32G4 MCU also includes crypto hardware acceleration. In the following comparison charts, both hardware and software performance are presented in the relevant sections.
Cipher Algorithms
STM32G484 @ 170 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.188 MB/s | 0.19 MB/s | - | - |
3DES-CTR | 0.19 MB/s | 0.19 MB/s | - | - |
AES128-CBC | 1.089 MB/s | 1.105 MB/s | 24.57 MB/s | 24.271 MB/s |
AES192-CBC | 0.932 MB/s | 0.951 MB/s | - | - |
AES256-CBC | 0.815 MB/s | 0.834 MB/s | 19.96 MB/s | 19.723 MB/s |
AES128-CTR | 1.139 MB/s | 1.13 MB/s | 23.474 MB/s | 23.31 MB/s |
AES192-CTR | 0.974 MB/s | 0.967 MB/s | - | - |
AES256-CTR | 0.846 MB/s | 0.835 MB/s | 19.157 MB/s | 19.083 MB/s |
SM4-CBC | 1.704 MB/s | 1.647 MB/s | - | - |
SM4-CTR | 1.649 MB/s | 1.649 MB/s | - | - |
AEAD Algorithms
STM32G484 @ 170 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 | 0.643 MB/s | 0.646 MB/s | 21.505 MB/s | 20.964 MB/s |
AES192-GCM | 0.582 MB/s | 0.585 MB/s | - | - |
AES256-GCM | 0.537 MB/s | 0.539 MB/s | 17.825 MB/s | 17.452 MB/s |
AES128-CCM | 0.579 MB/s | 0.579 MB/s | 13.623 MB/s | 13.44 MB/s |
AES192-CCM | 0.486 MB/s | 0.486 MB/s | - | - |
AES256-CCM | 0.422 MB/s | 0.422 MB/s | 10.81 MB/s | 10.683 MB/s |
SM4-GCM | 0.935 MB/s | 0.935 MB/s | - | - |
SM4-CCM | 0.885 MB/s | 0.885 MB/s | - | - |
Ascon-AEAD128 | 2.183 MB/s | 2.174 MB/s | - | - |
ChaCha20Poly1305 | 1.525 MB/s | 1.521 MB/s | - | - |
Hash Algorithms
STM32G484 @ 170 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using ARMCC with optimization level 3
Algorithm | Speed (Software) |
---|---|
MD5 | 3.386 MB/s |
SHA-1 | 2.361 MB/s |
SHA-224 | 2.151 MB/s |
SHA-256 | 2.15 MB/s |
SHA-384 | 1.092 MB/s |
SHA-512 | 1.092 MB/s |
SHA3-224 | 0.268 MB/s |
SHA3-256 | 0.254 MB/s |
SHA3-384 | 0.194 MB/s |
SHA3-512 | 0.135 MB/s |
SM3 | 1.992 MB/s |
Ascon-Hash256 | 0.852 MB/s |
Signature Algorithms
STM32G484 @ 170 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using ARMCC with optimization level 3
Algorithm | Generation (Software) | Verification (Software) |
---|---|---|
RSA (1024 bits) | 110.9 ms | 19.2 ms |
RSA (2048 bits) | 541.2 ms | 69.7 ms |
RSA (3072 bits) | 1498.9 ms | 149.1 ms |
RSA (4096 bits) | 3202.3 ms | 262.5 ms |
DSA (1024 bits) | 61 ms | 125.9 ms |
DSA (2048 bits) | 266.9 ms | 563.5 ms |
EC Signature Algorithms
STM32G484 @ 170 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using ARMCC with optimization level 3
Algorithm | Generation (Software) | Verification (Software) |
---|---|---|
ECDSA (secp256r1) | 99 ms | 90 ms |
ECDSA (secp384r1) | 215.9 ms | 196.4 ms |
ECDSA (secp521r1) | 417.6 ms | 368 ms |
ECDSA (brainpoolP256r1) | 131.2 ms | 130.7 ms |
ECDSA (brainpoolP384r1) | 339.8 ms | 338.2 ms |
ECDSA (brainpoolP512r1) | 706 ms | 713.9 ms |
SM2 | 92.4 ms | 92.4 ms |
EdDSA (Ed25519) | 49.4 ms | 45.8 ms |
EdDSA (Ed448) | 149.6 ms | 133.1 ms |
Key Exchange Algorithms
STM32G484 @ 170 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) | 206.5 ms | 206.6 ms |
Diffie-Hellman (2048 bits) | 1364.4 ms | 1364.4 ms |
EC Key Exchange Algorithms
STM32G484 @ 170 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) | 91.7 ms | 91.4 ms |
ECDH (secp384r1) | 196.1 ms | 196 ms |
ECDH (secp521r1) | 366.6 ms | 366.2 ms |
ECDH (brainpoolP256r1) | 122.7 ms | 122.6 ms |
ECDH (brainpoolP384r1) | 316.6 ms | 316.4 ms |
ECDH (brainpoolP512r1) | 656.9 ms | 656.7 ms |
ECDH (SM2) | 92.4 ms | 92.1 ms |
ECDH (X25519) | 27.9 ms | 27.9 ms |
ECDH (X448) | 76.6 ms | 76.6 ms |