Crypto Benchmark on STM32WL MCU
ARM Cortex-M4 @ 48 MHz

This benchmark conducted on NUCLEO-WL55JC development board with STM32WL55JC 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 STM32WL microcontroller.

STM32WL MCU also includes crypto hardware acceleration. In the following comparison charts, both hardware and software performance are presented in the relevant sections.

Cipher Algorithms

STM32WL55 @ 48 MHz

  • Benchmark generated with CycloneCRYPTO 2.5.0
  • Compiled using ARMCC with optimization level 3
AlgorithmEncryption
(Software)
Decryption
(Software)
Encryption
(Hardware)
Decryption
(Hardware)
3DES-CBC0.102 MB/s0.101 MB/s--
3DES-CTR0.101 MB/s0.102 MB/s--
AES128-CBC0.494 MB/s0.507 MB/s7.836 MB/s7.71 MB/s
AES192-CBC0.43 MB/s0.444 MB/s--
AES256-CBC0.38 MB/s0.395 MB/s6.426 MB/s6.329 MB/s
AES128-CTR0.493 MB/s0.491 MB/s7.53 MB/s7.535 MB/s
AES192-CTR0.43 MB/s0.428 MB/s--
AES256-CTR0.38 MB/s0.378 MB/s6.226 MB/s6.226 MB/s
SM4-CBC0.591 MB/s0.566 MB/s--
SM4-CTR0.571 MB/s0.571 MB/s--

AEAD Algorithms

STM32WL55 @ 48 MHz

  • Benchmark generated with CycloneCRYPTO 2.5.0
  • Compiled using ARMCC with optimization level 3
AlgorithmEncryption
(Software)
Decryption
(Software)
Encryption
(Hardware)
Decryption
(Hardware)
AES128-GCM0.292 MB/s0.289 MB/s7.541 MB/s7.49 MB/s
AES192-GCM0.267 MB/s0.265 MB/s--
AES256-GCM0.247 MB/s0.245 MB/s6.188 MB/s6.146 MB/s
AES128-CCM0.264 MB/s0.264 MB/s4.401 MB/s4.401 MB/s
AES192-CCM0.226 MB/s0.226 MB/s--
AES256-CCM0.199 MB/s0.198 MB/s3.359 MB/s3.348 MB/s
SM4-GCM0.315 MB/s0.31 MB/s--
SM4-CCM0.317 MB/s0.316 MB/s--
Ascon-AEAD1280.624 MB/s0.622 MB/s--
ChaCha20Poly13050.493 MB/s0.493 MB/s--

Hash Algorithms

STM32WL55 @ 48 MHz

  • Benchmark generated with CycloneCRYPTO 2.5.0
  • Compiled using ARMCC with optimization level 3
AlgorithmSpeed
(Software)
MD52.207 MB/s
SHA-10.661 MB/s
SHA-2240.63 MB/s
SHA-2560.63 MB/s
SHA-3840.321 MB/s
SHA-5120.321 MB/s
SHA3-2240.176 MB/s
SHA3-2560.166 MB/s
SHA3-3840.128 MB/s
SHA3-5120.089 MB/s
SM30.555 MB/s
Ascon-Hash2560.237 MB/s

Signature Algorithms

STM32WL55 @ 48 MHz

  • Benchmark generated with CycloneCRYPTO 2.5.0
  • Compiled using ARMCC with optimization level 3
AlgorithmGeneration
(Software)
Verification
(Software)
Generation
(Hardware)
Verification
(Hardware)
RSA (1024 bits)367.9 ms67.7 ms81.4 ms7 ms
RSA (2048 bits)1876.2 ms247.1 ms509 ms18.9 ms
RSA (3072 bits)5268 ms530.9 ms1581.5 ms46.9 ms
DSA (1024 bits)207.7 ms434.4 ms--
DSA (2048 bits)935.3 ms1984.9 ms--

EC Signature Algorithms

STM32WL55 @ 48 MHz

  • Benchmark generated with CycloneCRYPTO 2.5.0
  • Compiled using ARMCC with optimization level 3
AlgorithmGeneration
(Software)
Verification
(Software)
Generation
(Hardware)
Verification
(Hardware)
ECDSA (secp256r1)257.8 ms231.2 ms106.5 ms220.4 ms
ECDSA (secp384r1)617 ms556.6 ms305 ms615.9 ms
ECDSA (secp521r1)1296.4 ms1136.9 ms730.1 ms1459.8 ms
ECDSA (brainpoolP256r1)447.1 ms444.3 ms111.6 ms219.5 ms
ECDSA (brainpoolP384r1)1182.3 ms1175.9 ms302.4 ms604.1 ms
ECDSA (brainpoolP512r1)2455.3 ms2483.7 ms643.1 ms1275.1 ms
SM2235 ms235 ms114.8 ms114.8 ms
EdDSA (Ed25519)75.4 ms68.2 ms--
EdDSA (Ed448)313.4 ms276.6 ms--

Key Exchange Algorithms

STM32WL55 @ 48 MHz

  • Benchmark generated with CycloneCRYPTO 2.5.0
  • Compiled using ARMCC with optimization level 3
AlgorithmPublic Key Generation
(Software)
Shared Secret Computation
(Software)
Diffie-Hellman (1024 bits)709.6 ms709.9 ms
Diffie-Hellman (2048 bits)4813.9 ms4814.6 ms

EC Key Exchange Algorithms

STM32WL55 @ 48 MHz

  • Benchmark generated with CycloneCRYPTO 2.5.0
  • Compiled using ARMCC with optimization level 3
AlgorithmPublic Key Generation
(Software)
Shared Secret Computation
(Software)
Public Key Generation
(Hardware)
Shared Secret Computation
(Hardware)
ECDH (secp256r1)231.3 ms230.7 ms110.6 ms109.9 ms
ECDH (secp384r1)547.2 ms546.3 ms314.8 ms314 ms
ECDH (secp521r1)1125.7 ms1124.3 ms747.1 ms745.6 ms
ECDH (brainpoolP256r1)416.7 ms416 ms132.3 ms131.6 ms
ECDH (brainpoolP384r1)1099.8 ms1098.9 ms368 ms367.1 ms
ECDH (brainpoolP512r1)2281.1 ms2280.2 ms772.8 ms771.7 ms
ECDH (SM2)235.1 ms234.4 ms114.1 ms113.4 ms
ECDH (X25519)41.7 ms41.7 ms--
ECDH (X448)160.5 ms160.5 ms--