Crypto Benchmark on STM32G0 MCU
ARM Cortex-M0+ @ 64 MHz
This benchmark conducted on STM32G0C1E-EV Evaluation board with STM32G0C1 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 STM32G0 microcontroller.
STM32G0 MCU also includes crypto hardware acceleration. In the following comparison charts, both hardware and software performance are presented in the relevant sections.
Cipher Algorithms
STM32G0C1 @ 64 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.072 MB/s | 0.072 MB/s | - | - | - | - |
AES-128 | 0.365 MB/s | 0.346 MB/s | 0.185 MB/s | 0.185 MB/s | 0.213 MB/s | 0.213 MB/s |
AES-192 | 0.315 MB/s | 0.3 MB/s | 0.158 MB/s | 0.158 MB/s | 0.195 MB/s | 0.194 MB/s |
AES-256 | 0.277 MB/s | 0.265 MB/s | 0.139 MB/s | 0.139 MB/s | 0.179 MB/s | 0.179 MB/s |
Algorithm | CBC Encrypt (Hardware) | CBC Decrypt (Hardware) | CCM Encrypt (Hardware) | CCM Decrypt (Hardware) | GCM Encrypt (Hardware) | GCM Decrypt (Hardware) |
---|---|---|---|---|---|---|
AES-128 | 4.823 MB/s | 4.789 MB/s | 3.459 MB/s | 3.447 MB/s | 4.625 MB/s | 4.604 MB/s |
AES-256 | 4.29 MB/s | 4.26 MB/s | 2.929 MB/s | 2.923 MB/s | 4.111 MB/s | 4.105 MB/s |
Hash Algorithms
STM32G0C1 @ 64 MHz
- • Benchmark generated with CycloneCRYPTO 2.1.6
- • Compiled using ARMCC with optimization level 3
Algorithm | Speed (Software) | Speed (Hardware) |
---|---|---|
MD5 | 2.735 MB/s | - |
SHA-1 | 0.525 MB/s | - |
SHA-224 | 0.419 MB/s | - |
SHA-256 | 0.419 MB/s | - |
SHA-384 | 0.269 MB/s | - |
SHA-512 | 0.269 MB/s | - |
SHA3-224 | 0.184 MB/s | - |
SHA3-256 | 0.173 MB/s | - |
SHA3-384 | 0.133 MB/s | - |
SHA3-512 | 0.092 MB/s | - |
Signature Algorithms
STM32G0C1 @ 64 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) | 977.6 ms | 102.1 ms |
RSA (2048 bits) | 6735.4 ms | 388.4 ms |
DSA (1024 bits) | 589.9 ms | 1185.2 ms |
DSA (2048 bits) | 3356.4 ms | 6806.2 ms |
EC Signature Algorithms
STM32G0C1 @ 64 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) | 887.6 ms | 1121 ms |
ECDSA (P-384) | 1916.3 ms | 2370.5 ms |
ECDSA (P-521) | 3050.7 ms | 3689.3 ms |
EdDSA (Ed25519) | 469 ms | 933.3 ms |
EdDSA (Ed448) | 2319.7 ms | 4621.1 ms |
Key Exchange Algorithms
STM32G0C1 @ 64 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) | 3099.3 ms | 3100.6 ms |
EC Key Exchange Algorithms
STM32G0C1 @ 64 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) | 871.5 ms | 869.3 ms |
ECDH (P-384) | 1826.3 ms | 1840.9 ms |
ECDH (P-521) | 3062.7 ms | 3058.6 ms |
ECDH (X25519) | 261.8 ms | 261.8 ms |
ECDH (X448) | 1167.7 ms | 1167.7 ms |