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.5.0
- • Compiled using ARMCC with optimization level 3
Algorithm | Encryption (Software) | Decryption (Software) | Encryption (Hardware) | Decryption (Hardware) |
---|---|---|---|---|
3DES-CBC | 0.074 MB/s | 0.074 MB/s | - | - |
3DES-CTR | 0.074 MB/s | 0.074 MB/s | - | - |
AES128-CBC | 0.361 MB/s | 0.347 MB/s | 4.868 MB/s | 4.828 MB/s |
AES192-CBC | 0.311 MB/s | 0.3 MB/s | - | - |
AES256-CBC | 0.273 MB/s | 0.265 MB/s | 4.323 MB/s | 4.29 MB/s |
AES128-CTR | 0.357 MB/s | 0.357 MB/s | 4.743 MB/s | 4.739 MB/s |
AES192-CTR | 0.308 MB/s | 0.308 MB/s | - | - |
AES256-CTR | 0.271 MB/s | 0.271 MB/s | 4.226 MB/s | 4.226 MB/s |
SM4-CBC | 0.388 MB/s | 0.374 MB/s | - | - |
SM4-CTR | 0.384 MB/s | 0.384 MB/s | - | - |
AEAD Algorithms
STM32G0C1 @ 64 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.211 MB/s | 0.211 MB/s | 4.623 MB/s | 4.604 MB/s |
AES192-GCM | 0.193 MB/s | 0.192 MB/s | - | - |
AES256-GCM | 0.177 MB/s | 0.177 MB/s | 4.106 MB/s | 4.105 MB/s |
AES128-CCM | 0.184 MB/s | 0.184 MB/s | 3.442 MB/s | 3.431 MB/s |
AES192-CCM | 0.158 MB/s | 0.158 MB/s | - | - |
AES256-CCM | 0.138 MB/s | 0.138 MB/s | 2.916 MB/s | 2.91 MB/s |
SM4-GCM | 0.22 MB/s | 0.22 MB/s | - | - |
SM4-CCM | 0.199 MB/s | 0.199 MB/s | - | - |
Ascon-AEAD128 | 0.376 MB/s | 0.372 MB/s | - | - |
ChaCha20Poly1305 | 0.299 MB/s | 0.299 MB/s | - | - |
Hash Algorithms
STM32G0C1 @ 64 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using ARMCC with optimization level 3
Algorithm | Speed (Software) |
---|---|
MD5 | 2.338 MB/s |
SHA-1 | 0.542 MB/s |
SHA-224 | 0.42 MB/s |
SHA-256 | 0.42 MB/s |
SHA-384 | 0.264 MB/s |
SHA-512 | 0.264 MB/s |
SHA3-224 | 0.181 MB/s |
SHA3-256 | 0.171 MB/s |
SHA3-384 | 0.131 MB/s |
SHA3-512 | 0.091 MB/s |
SM3 | 0.386 MB/s |
Ascon-Hash256 | 0.14 MB/s |
Signature Algorithms
STM32G0C1 @ 64 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using ARMCC with optimization level 3
Algorithm | Generation (Software) | Verification (Software) |
---|---|---|
RSA (1024 bits) | 983.5 ms | 103.4 ms |
RSA (2048 bits) | 6709.8 ms | 389.8 ms |
DSA (1024 bits) | 586.4 ms | 1180.2 ms |
DSA (2048 bits) | 3324.7 ms | 6745.9 ms |
EC Signature Algorithms
STM32G0C1 @ 64 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using ARMCC with optimization level 3
Algorithm | Generation (Software) | Verification (Software) |
---|---|---|
ECDSA (secp256r1) | 555.2 ms | 506.2 ms |
ECDSA (secp384r1) | 1609.2 ms | 1472.2 ms |
ECDSA (secp521r1) | 3912.8 ms | 3456.7 ms |
ECDSA (brainpoolP256r1) | 1361.3 ms | 1378.3 ms |
ECDSA (brainpoolP384r1) | 4043.5 ms | 4070.2 ms |
ECDSA (brainpoolP512r1) | 8993.6 ms | 9176.9 ms |
SM2 | 467.9 ms | 467.9 ms |
EdDSA (Ed25519) | 403.4 ms | 381.7 ms |
EdDSA (Ed448) | 1599.6 ms | 1449.5 ms |
Key Exchange Algorithms
STM32G0C1 @ 64 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) | 3068.4 ms | 3069.7 ms |
EC Key Exchange Algorithms
STM32G0C1 @ 64 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) | 467.7 ms | 467 ms |
ECDH (secp384r1) | 1356.6 ms | 1355.8 ms |
ECDH (secp521r1) | 3306.9 ms | 3305.5 ms |
ECDH (brainpoolP256r1) | 1259.9 ms | 1259.3 ms |
ECDH (brainpoolP384r1) | 3742.1 ms | 3741.3 ms |
ECDH (brainpoolP512r1) | 8325.3 ms | 8324.3 ms |
ECDH (SM2) | 467.9 ms | 467.3 ms |
ECDH (X25519) | 223.8 ms | 223.7 ms |
ECDH (X448) | 804.7 ms | 804.7 ms |