Crypto Benchmark on STM32U0 MCU
ARM Cortex-M0+ @ 56 MHz
This benchmark conducted on NUCLEO-U083RC evaluation board with STM32U083RC 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 STM32U0 microcontroller.
STM32U0 MCU also includes crypto hardware acceleration. In the following comparison charts, both hardware and software performance are presented in the relevant sections.
Cipher Algorithms
STM32U083 @ 56 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.4
- • Compiled using ARMCC with optimization level 3
| Algorithm | Encryption (Software) | Decryption (Software) | Encryption (Hardware) | Decryption (Hardware) |
|---|---|---|---|---|
| 3DES-CBC | 0.082 MB/s | 0.081 MB/s | - | - |
| 3DES-CTR | 0.082 MB/s | 0.082 MB/s | - | - |
| AES128-CBC | 0.375 MB/s | 0.358 MB/s | 4.319 MB/s | 4.29 MB/s |
| AES192-CBC | 0.324 MB/s | 0.311 MB/s | - | - |
| AES256-CBC | 0.285 MB/s | 0.275 MB/s | 3.847 MB/s | 3.797 MB/s |
| AES128-CTR | 0.365 MB/s | 0.365 MB/s | 4.215 MB/s | 4.205 MB/s |
| AES192-CTR | 0.316 MB/s | 0.316 MB/s | - | - |
| AES256-CTR | 0.279 MB/s | 0.279 MB/s | 3.755 MB/s | 3.734 MB/s |
| SM4-CBC | 0.387 MB/s | 0.37 MB/s | - | - |
| SM4-CTR | 0.377 MB/s | 0.377 MB/s | - | - |
AEAD Algorithms
STM32U083 @ 56 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.4
- • Compiled using ARMCC with optimization level 3
| Algorithm | Encryption (Software) | Decryption (Software) | Encryption (Hardware) | Decryption (Hardware) |
|---|---|---|---|---|
| AES128-GCM | 0.207 MB/s | 0.207 MB/s | 4.105 MB/s | 4.086 MB/s |
| AES192-GCM | 0.19 MB/s | 0.19 MB/s | - | - |
| AES256-GCM | 0.175 MB/s | 0.175 MB/s | 3.661 MB/s | 3.629 MB/s |
| AES128-CCM | 0.19 MB/s | 0.19 MB/s | 3.043 MB/s | 3.036 MB/s |
| AES192-CCM | 0.163 MB/s | 0.163 MB/s | - | - |
| AES256-CCM | 0.143 MB/s | 0.143 MB/s | 2.564 MB/s | 2.558 MB/s |
| SM4-GCM | 0.213 MB/s | 0.213 MB/s | - | - |
| SM4-CCM | 0.197 MB/s | 0.197 MB/s | - | - |
| Ascon-AEAD128 | 0.338 MB/s | 0.334 MB/s | - | - |
| ChaCha20Poly1305 | 0.279 MB/s | 0.279 MB/s | - | - |
Hash Algorithms
STM32U083 @ 56 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.4
- • Compiled using ARMCC with optimization level 3
| Algorithm | Speed (Software) |
|---|---|
| MD5 | 1.949 MB/s |
| SHA-1 | 0.562 MB/s |
| SHA-224 | 0.389 MB/s |
| SHA-256 | 0.389 MB/s |
| SHA-384 | 0.238 MB/s |
| SHA-512 | 0.238 MB/s |
| SHA3-224 | 0.138 MB/s |
| SHA3-256 | 0.13 MB/s |
| SHA3-384 | 0.1 MB/s |
| SHA3-512 | 0.069 MB/s |
| SM3 | 0.36 MB/s |
| Ascon-Hash256 | 0.126 MB/s |
Signature Algorithms
STM32U083 @ 56 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.4
- • Compiled using ARMCC with optimization level 3
| Algorithm | Generation (Software) | Verification (Software) |
|---|---|---|
| RSA (1024 bits) | 987.5 ms | 105.9 ms |
| RSA (2048 bits) | 6678 ms | 399.4 ms |
| DSA (1024 bits) | 585.6 ms | 1181.1 ms |
| DSA (2048 bits) | 3302.5 ms | 6710.8 ms |
EC Signature Algorithms
STM32U083 @ 56 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.4
- • Compiled using ARMCC with optimization level 3
| Algorithm | Generation (Software) | Verification (Software) |
|---|---|---|
| ECDSA (secp256r1) | 580.2 ms | 528.6 ms |
| ECDSA (secp384r1) | 1668.2 ms | 1526.5 ms |
| ECDSA (secp521r1) | 4011.4 ms | 3545.9 ms |
| ECDSA (brainpoolP256r1) | 1370.2 ms | 1377.5 ms |
| ECDSA (brainpoolP384r1) | 4031.6 ms | 4054.2 ms |
| ECDSA (brainpoolP512r1) | 9010.1 ms | 9136.8 ms |
| SM2 | 492.5 ms | 492.5 ms |
| EdDSA (Ed25519) | 446.2 ms | 423.5 ms |
| EdDSA (Ed448) | 1765.6 ms | 1603.6 ms |
Key Exchange Algorithms
STM32U083 @ 56 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.4
- • Compiled using ARMCC with optimization level 3
| Algorithm | Public Key Generation (Software) | Shared Secret Computation (Software) |
|---|---|---|
| Diffie-Hellman (1024 bits) | 3039.1 ms | 3040.3 ms |
EC Key Exchange Algorithms
STM32U083 @ 56 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.4
- • Compiled using ARMCC with optimization level 3
| Algorithm | Public Key Generation (Software) | Shared Secret Computation (Software) |
|---|---|---|
| ECDH (secp256r1) | 492 ms | 491.3 ms |
| ECDH (secp384r1) | 1414.1 ms | 1413.3 ms |
| ECDH (secp521r1) | 3401.3 ms | 3399.9 ms |
| ECDH (brainpoolP256r1) | 1260.8 ms | 1268.4 ms |
| ECDH (brainpoolP384r1) | 3730 ms | 3730.7 ms |
| ECDH (brainpoolP512r1) | 8286.2 ms | 8343.6 ms |
| ECDH (SM2) | 492.5 ms | 491.9 ms |
| ECDH (X25519) | 248.9 ms | 248.9 ms |
| ECDH (X448) | 891.9 ms | 891.8 ms |