Crypto Benchmark on STM32L4 MCU
ARM Cortex-M4 @ 80 MHz

This benchmark conducted on NUCLEO-L4A6ZG development board with STM32L4A6ZG 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 STM32L4 microcontroller.

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

Cipher Algorithms

STM32L4A6 @ 80 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.126 MB/s0.127 MB/s--
3DES-CTR0.127 MB/s0.127 MB/s--
AES128-CBC0.669 MB/s0.687 MB/s5.109 MB/s5.109 MB/s
AES192-CBC0.578 MB/s0.597 MB/s--
AES256-CBC0.508 MB/s0.528 MB/s3.776 MB/s3.776 MB/s
AES128-CTR0.697 MB/s0.693 MB/s5.007 MB/s4.992 MB/s
AES192-CTR0.602 MB/s0.599 MB/s--
AES256-CTR0.528 MB/s0.524 MB/s3.699 MB/s3.699 MB/s
SM4-CBC0.894 MB/s0.86 MB/s--
SM4-CTR0.859 MB/s0.859 MB/s--

AEAD Algorithms

STM32L4A6 @ 80 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.395 MB/s0.394 MB/s4.793 MB/s4.743 MB/s
AES192-GCM0.361 MB/s0.36 MB/s--
AES256-GCM0.334 MB/s0.333 MB/s3.563 MB/s3.537 MB/s
AES128-CCM0.365 MB/s0.366 MB/s--
AES192-CCM0.31 MB/s0.31 MB/s--
AES256-CCM0.271 MB/s0.271 MB/s--
SM4-GCM0.481 MB/s0.479 MB/s--
SM4-CCM0.471 MB/s0.471 MB/s--
Ascon-AEAD1281.035 MB/s1.03 MB/s--
ChaCha20Poly13050.789 MB/s0.787 MB/s--

Hash Algorithms

STM32L4A6 @ 80 MHz

  • Benchmark generated with CycloneCRYPTO 2.5.0
  • Compiled using ARMCC with optimization level 3
AlgorithmSpeed
(Software)
Speed
(Hardware)
MD52.506 MB/s46.728 MB/s
SHA-11.107 MB/s40.65 MB/s
SHA-2241.035 MB/s44.642 MB/s
SHA-2561.035 MB/s44.642 MB/s
SHA-3840.529 MB/s-
SHA-5120.529 MB/s-
SHA3-2240.209 MB/s-
SHA3-2560.197 MB/s-
SHA3-3840.151 MB/s-
SHA3-5120.105 MB/s-
SM30.933 MB/s-
Ascon-Hash2560.399 MB/s-

Signature Algorithms

STM32L4A6 @ 80 MHz

  • Benchmark generated with CycloneCRYPTO 2.5.0
  • Compiled using ARMCC with optimization level 3
AlgorithmGeneration
(Software)
Verification
(Software)
RSA (1024 bits)225.3 ms40.8 ms
RSA (2048 bits)1131.5 ms148.6 ms
DSA (1024 bits)126.1 ms262.9 ms
DSA (2048 bits)562.9 ms1192.7 ms

EC Signature Algorithms

STM32L4A6 @ 80 MHz

  • Benchmark generated with CycloneCRYPTO 2.5.0
  • Compiled using ARMCC with optimization level 3
AlgorithmGeneration
(Software)
Verification
(Software)
ECDSA (secp256r1)173.6 ms156.7 ms
ECDSA (secp384r1)398.2 ms360.5 ms
ECDSA (secp521r1)814.6 ms715.8 ms
ECDSA (brainpoolP256r1)272.7 ms271.7 ms
ECDSA (brainpoolP384r1)716.9 ms713.5 ms
ECDSA (brainpoolP512r1)1483.4 ms1501.4 ms
SM2158.6 ms158.6 ms
EdDSA (Ed25519)65.7 ms60.4 ms
EdDSA (Ed448)228.8 ms202.8 ms

Key Exchange Algorithms

STM32L4A6 @ 80 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)428.9 ms429.2 ms
Diffie-Hellman (2048 bits)2885.3 ms2885.5 ms

EC Key Exchange Algorithms

STM32L4A6 @ 80 MHz

  • Benchmark generated with CycloneCRYPTO 2.5.0
  • Compiled using ARMCC with optimization level 3
AlgorithmPublic Key Generation
(Software)
Shared Secret Computation
(Software)
ECDH (secp256r1)157.6 ms157.2 ms
ECDH (secp384r1)355.9 ms355.5 ms
ECDH (secp521r1)709.6 ms708.7 ms
ECDH (brainpoolP256r1)254.4 ms254 ms
ECDH (brainpoolP384r1)666.9 ms666.4 ms
ECDH (brainpoolP512r1)1378.3 ms1377.7 ms
ECDH (SM2)158.7 ms158.2 ms
ECDH (X25519)36.6 ms36.7 ms
ECDH (X448)116.8 ms116.8 ms