Crypto Benchmark on STM32WBA MCU
ARM Cortex-M33 @ 100 MHz
This benchmark conducted on NUCLEO-WBA52CG development board with STM32WBA52CG 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 STM32WBA microcontroller.
STM32WBA MCU also includes crypto hardware acceleration. In the following comparison charts, both hardware and software performance are presented in the relevant sections.
Cipher Algorithms
STM32WBA52 @ 100 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using Clang with optimization level 3
Algorithm | Encryption (Software) | Decryption (Software) | Encryption (Hardware) | Decryption (Hardware) |
---|---|---|---|---|
3DES-CBC | 0.276 MB/s | 0.276 MB/s | - | - |
3DES-CTR | 0.274 MB/s | 0.274 MB/s | - | - |
AES128-CBC | 1.323 MB/s | 1.256 MB/s | 15.822 MB/s | 15.576 MB/s |
AES192-CBC | 1.166 MB/s | 1.113 MB/s | - | - |
AES256-CBC | 1.043 MB/s | 1.002 MB/s | 12.674 MB/s | 12.5 MB/s |
AES128-CTR | 1.328 MB/s | 1.328 MB/s | 15.36 MB/s | 15.267 MB/s |
AES192-CTR | 1.17 MB/s | 1.17 MB/s | - | - |
AES256-CTR | 1.046 MB/s | 1.045 MB/s | 12.422 MB/s | 12.345 MB/s |
SM4-CBC | 1.079 MB/s | 1.051 MB/s | - | - |
SM4-CTR | 1.062 MB/s | 1.061 MB/s | - | - |
AEAD Algorithms
STM32WBA52 @ 100 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using Clang with optimization level 3
Algorithm | Encryption (Software) | Decryption (Software) | Encryption (Hardware) | Decryption (Hardware) |
---|---|---|---|---|
AES128-GCM | 0.652 MB/s | 0.697 MB/s | 14.858 MB/s | 14.705 MB/s |
AES192-GCM | 0.608 MB/s | 0.65 MB/s | - | - |
AES256-GCM | 0.572 MB/s | 0.609 MB/s | 11.99 MB/s | 11.947 MB/s |
AES128-CCM | 0.708 MB/s | 0.679 MB/s | 8.976 MB/s | 8.928 MB/s |
AES192-CCM | 0.616 MB/s | 0.595 MB/s | - | - |
AES256-CCM | 0.546 MB/s | 0.528 MB/s | 6.863 MB/s | 6.835 MB/s |
SM4-GCM | 0.607 MB/s | 0.608 MB/s | - | - |
SM4-CCM | 0.555 MB/s | 0.547 MB/s | - | - |
Ascon-AEAD128 | 1.316 MB/s | 1.329 MB/s | - | - |
ChaCha20Poly1305 | 1.928 MB/s | 1.924 MB/s | - | - |
Hash Algorithms
STM32WBA52 @ 100 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using Clang with optimization level 3
Algorithm | Speed (Software) | Speed (Hardware) |
---|---|---|
MD5 | 7.112 MB/s | 41.152 MB/s |
SHA-1 | 1.646 MB/s | 37.313 MB/s |
SHA-224 | 1.21 MB/s | 40.485 MB/s |
SHA-256 | 1.21 MB/s | 40.65 MB/s |
SHA-384 | 0.676 MB/s | - |
SHA-512 | 0.676 MB/s | - |
SHA3-224 | 0.639 MB/s | - |
SHA3-256 | 0.604 MB/s | - |
SHA3-384 | 0.464 MB/s | - |
SHA3-512 | 0.322 MB/s | - |
SM3 | 1.107 MB/s | - |
Ascon-Hash256 | 0.49 MB/s | - |
Signature Algorithms
STM32WBA52 @ 100 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using Clang with optimization level 3
Algorithm | Generation (Software) | Verification (Software) | Generation (Hardware) | Verification (Hardware) |
---|---|---|---|---|
RSA (1024 bits) | 172.4 ms | 27.1 ms | 19.4 ms | 1.7 ms |
RSA (2048 bits) | 953.7 ms | 100.7 ms | 121.3 ms | 4.5 ms |
RSA (3072 bits) | 2773.9 ms | 216.2 ms | 378 ms | 11.3 ms |
RSA (4096 bits) | 6081.3 ms | 383.3 ms | 856.7 ms | 19.4 ms |
DSA (1024 bits) | 97.1 ms | 205.8 ms | 28 ms | 67.6 ms |
DSA (2048 bits) | 469.2 ms | 999.9 ms | 111.5 ms | 284.4 ms |
EC Signature Algorithms
STM32WBA52 @ 100 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using Clang with optimization level 3
Algorithm | Generation (Software) | Verification (Software) | Generation (Hardware) | Verification (Hardware) |
---|---|---|---|---|
ECDSA (secp256r1) | 144.4 ms | 129.7 ms | 27.6 ms | 29.3 ms |
ECDSA (secp384r1) | 346.9 ms | 314.6 ms | 72.2 ms | 80.6 ms |
ECDSA (secp521r1) | 694 ms | 612.3 ms | 167.3 ms | 190.8 ms |
ECDSA (brainpoolP256r1) | 272 ms | 271 ms | 27.7 ms | 29.6 ms |
ECDSA (brainpoolP384r1) | 675.2 ms | 672.9 ms | 71.1 ms | 80.3 ms |
ECDSA (brainpoolP512r1) | 1309.9 ms | 1329.9 ms | 144.8 ms | 167.3 ms |
SM2 | 125.8 ms | 125.8 ms | 37.1 ms | 37.1 ms |
EdDSA (Ed25519) | 35.4 ms | 32.1 ms | - | - |
EdDSA (Ed448) | 181.4 ms | 163.4 ms | - | - |
Key Exchange Algorithms
STM32WBA52 @ 100 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using Clang with optimization level 3
Algorithm | Public Key Generation (Software) | Shared Secret Computation (Software) | Public Key Generation (Hardware) | Shared Secret Computation (Hardware) |
---|---|---|---|---|
Diffie-Hellman (1024 bits) | 383.3 ms | 383.5 ms | 58.2 ms | 58.3 ms |
Diffie-Hellman (2048 bits) | 2690.7 ms | 2691.1 ms | 417.5 ms | 417.4 ms |
EC Key Exchange Algorithms
STM32WBA52 @ 100 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using Clang with optimization level 3
Algorithm | Public Key Generation (Software) | Shared Secret Computation (Software) | Public Key Generation (Hardware) | Shared Secret Computation (Hardware) |
---|---|---|---|---|
ECDH (secp256r1) | 127.7 ms | 127.5 ms | 36.5 ms | 36.3 ms |
ECDH (secp384r1) | 305.7 ms | 305.5 ms | 99.8 ms | 99.5 ms |
ECDH (secp521r1) | 599.9 ms | 599.6 ms | 240.3 ms | 239.8 ms |
ECDH (brainpoolP256r1) | 253 ms | 252.8 ms | 49.9 ms | 49.6 ms |
ECDH (brainpoolP384r1) | 627.4 ms | 627.2 ms | 131.5 ms | 131.3 ms |
ECDH (brainpoolP512r1) | 1214.5 ms | 1214.2 ms | 273.3 ms | 273 ms |
ECDH (SM2) | 125.8 ms | 125.6 ms | 37 ms | 36.8 ms |
ECDH (X25519) | 19.2 ms | 19.2 ms | - | - |
ECDH (X448) | 93.4 ms | 93.4 ms | - | - |