Crypto Benchmark on STM32F0 MCU
ARM Cortex-M0 @ 48 MHz

This benchmark conducted on NUCLEO-F091RC evaluation board with STM32F091RC 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 STM32F0 microcontroller.

Cipher Algorithms

STM32F091 @ 48 MHz

  • Benchmark generated with CycloneCRYPTO 2.6.2
  • Compiled using ARMCC with optimization level 3
AlgorithmEncryption
(Software)
Decryption
(Software)
3DES-CBC0.065 MB/s0.065 MB/s
3DES-CTR0.065 MB/s0.065 MB/s
AES128-CBC0.297 MB/s0.284 MB/s
AES192-CBC0.257 MB/s0.247 MB/s
AES256-CBC0.226 MB/s0.218 MB/s
AES128-CTR0.285 MB/s0.285 MB/s
AES192-CTR0.248 MB/s0.247 MB/s
AES256-CTR0.219 MB/s0.219 MB/s
SM4-CBC0.313 MB/s0.295 MB/s
SM4-CTR0.3 MB/s0.3 MB/s

AEAD Algorithms

STM32F091 @ 48 MHz

  • Benchmark generated with CycloneCRYPTO 2.6.2
  • Compiled using ARMCC with optimization level 3
AlgorithmEncryption
(Software)
Decryption
(Software)
AES128-GCM0.171 MB/s0.17 MB/s
AES192-GCM0.156 MB/s0.156 MB/s
AES256-GCM0.144 MB/s0.144 MB/s
AES128-CCM0.152 MB/s0.152 MB/s
AES192-CCM0.13 MB/s0.13 MB/s
AES256-CCM0.114 MB/s0.114 MB/s
SM4-GCM0.176 MB/s0.176 MB/s
SM4-CCM0.161 MB/s0.161 MB/s
Ascon-AEAD1280.285 MB/s0.282 MB/s
ChaCha20Poly13050.225 MB/s0.224 MB/s

Hash Algorithms

STM32F091 @ 48 MHz

  • Benchmark generated with CycloneCRYPTO 2.6.2
  • Compiled using ARMCC with optimization level 3
AlgorithmSpeed
(Software)
MD51.83 MB/s
SHA-10.434 MB/s
SHA-2240.321 MB/s
SHA-2560.321 MB/s
SHA-3840.201 MB/s
SHA-5120.201 MB/s
SHA3-2240.135 MB/s
SHA3-2560.128 MB/s
SHA3-3840.098 MB/s
SHA3-5120.068 MB/s
SM30.294 MB/s
Ascon-Hash2560.106 MB/s

Signature Algorithms

STM32F091 @ 48 MHz

  • Benchmark generated with CycloneCRYPTO 2.6.2
  • Compiled using ARMCC with optimization level 3
AlgorithmGeneration
(Software)
Verification
(Software)
RSA (1024 bits)1306.4 ms141.2 ms
RSA (2048 bits)8847.7 ms533.3 ms
DSA (1024 bits)777.2 ms1568.7 ms
DSA (2048 bits)4384.4 ms8914.8 ms

EC Signature Algorithms

STM32F091 @ 48 MHz

  • Benchmark generated with CycloneCRYPTO 2.6.2
  • Compiled using ARMCC with optimization level 3
AlgorithmGeneration
(Software)
Verification
(Software)
ECDSA (secp256r1)732.9 ms667.7 ms
ECDSA (secp384r1)2123.4 ms1941.8 ms
ECDSA (secp521r1)5168.1 ms4566.3 ms
ECDSA (brainpoolP256r1)1760.3 ms1780.4 ms
ECDSA (brainpoolP384r1)5224 ms5254.3 ms
ECDSA (brainpoolP512r1)11612.3 ms11840.9 ms
SM21391.8 ms539.4 ms
EdDSA (Ed25519)534.2 ms492.4 ms
EdDSA (Ed448)2121.8 ms1927 ms

Key Exchange Algorithms

STM32F091 @ 48 MHz

  • Benchmark generated with CycloneCRYPTO 2.6.2
  • Compiled using ARMCC with optimization level 3
AlgorithmPublic Key Generation
(Software)
Shared Secret Computation
(Software)
Diffie-Hellman (1024 bits)4022.1 ms4018.4 ms

EC Key Exchange Algorithms

STM32F091 @ 48 MHz

  • Benchmark generated with CycloneCRYPTO 2.6.2
  • Compiled using ARMCC with optimization level 3
AlgorithmPublic Key Generation
(Software)
Shared Secret Computation
(Software)
ECDH (secp256r1)620 ms619 ms
ECDH (secp384r1)1797.5 ms1796.3 ms
ECDH (secp521r1)4377.6 ms4375.6 ms
ECDH (brainpoolP256r1)1629.4 ms1628.5 ms
ECDH (brainpoolP384r1)4835.3 ms4834 ms
ECDH (brainpoolP512r1)10750.3 ms10748.8 ms
ECDH (SM2)620.2 ms619.3 ms
ECDH (X25519)297.8 ms297.8 ms
ECDH (X448)1072.5 ms1072.4 ms