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.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 | 0.185 MB/s | 0.184 MB/s | - | - | - | - |
AES-128 | 1.061 MB/s | 1.073 MB/s | 0.579 MB/s | 0.579 MB/s | 0.647 MB/s | 0.645 MB/s |
AES-192 | 0.908 MB/s | 0.925 MB/s | 0.488 MB/s | 0.487 MB/s | 0.585 MB/s | 0.583 MB/s |
AES-256 | 0.793 MB/s | 0.811 MB/s | 0.424 MB/s | 0.424 MB/s | 0.542 MB/s | 0.54 MB/s |
Algorithm | CBC Encrypt (Hardware) | CBC Decrypt (Hardware) | CCM Encrypt (Hardware) | CCM Decrypt (Hardware) | GCM Encrypt (Hardware) | GCM Decrypt (Hardware) |
---|---|---|---|---|---|---|
AES-128 | 24.154 MB/s | 24.271 MB/s | 13.623 MB/s | 13.44 MB/s | 21.598 MB/s | 20.964 MB/s |
AES-256 | 19.646 MB/s | 19.723 MB/s | 10.822 MB/s | 10.695 MB/s | 17.889 MB/s | 17.452 MB/s |
Hash Algorithms
STM32G484 @ 170 MHz
- • Benchmark generated with CycloneCRYPTO 2.1.6
- • Compiled using ARMCC with optimization level 3
Algorithm | Speed (Software) | Speed (Hardware) |
---|---|---|
MD5 | 3.663 MB/s | - |
SHA-1 | 2.449 MB/s | - |
SHA-224 | 2.26 MB/s | - |
SHA-256 | 2.259 MB/s | - |
SHA-384 | 1.153 MB/s | - |
SHA-512 | 1.154 MB/s | - |
SHA3-224 | 0.271 MB/s | - |
SHA3-256 | 0.256 MB/s | - |
SHA3-384 | 0.196 MB/s | - |
SHA3-512 | 0.135 MB/s | - |
Signature Algorithms
STM32G484 @ 170 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) | 103.9 ms | 18 ms |
RSA (2048 bits) | 514 ms | 65.9 ms |
RSA (3072 bits) | 1439.1 ms | 141.3 ms |
RSA (4096 bits) | 3096.9 ms | 249.4 ms |
DSA (1024 bits) | 59.6 ms | 121.7 ms |
DSA (2048 bits) | 260.7 ms | 548.1 ms |
EC Signature Algorithms
STM32G484 @ 170 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) | 253.9 ms | 318.4 ms |
ECDSA (P-384) | 444.3 ms | 548.5 ms |
ECDSA (P-521) | 486.5 ms | 577.4 ms |
EdDSA (Ed25519) | 49.3 ms | 97.3 ms |
EdDSA (Ed448) | 213.8 ms | 421.9 ms |
Key Exchange Algorithms
STM32G484 @ 170 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) | 201.7 ms | 201.8 ms |
Diffie-Hellman (2048 bits) | 1344.7 ms | 1344.6 ms |
EC Key Exchange Algorithms
STM32G484 @ 170 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) | 244.8 ms | 244.1 ms |
ECDH (P-384) | 417.4 ms | 422.8 ms |
ECDH (P-521) | 473.2 ms | 472.1 ms |
ECDH (X25519) | 27.8 ms | 27.9 ms |
ECDH (X448) | 110.4 ms | 110.4 ms |