Crypto Benchmark on STM32F3 MCU
ARM Cortex-M4 @ 64 MHz

This benchmark conducted on NUCLEO-F303RE development board with STM32F303RE 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 STM32F3 microcontroller.

Cipher Algorithms

STM32F303 @ 64 MHz

  • Benchmark generated with CycloneCRYPTO 2.6.2
  • Compiled using ARMCC with optimization level 3
AlgorithmEncryption
(Software)
Decryption
(Software)
3DES-CBC0.081 MB/s0.084 MB/s
3DES-CTR0.08 MB/s0.08 MB/s
AES128-CBC0.417 MB/s0.412 MB/s
AES192-CBC0.36 MB/s0.358 MB/s
AES256-CBC0.317 MB/s0.316 MB/s
AES128-CTR0.387 MB/s0.387 MB/s
AES192-CTR0.337 MB/s0.337 MB/s
AES256-CTR0.299 MB/s0.299 MB/s
SM4-CBC0.449 MB/s0.43 MB/s
SM4-CTR0.413 MB/s0.413 MB/s

AEAD Algorithms

STM32F303 @ 64 MHz

  • Benchmark generated with CycloneCRYPTO 2.6.2
  • Compiled using ARMCC with optimization level 3
AlgorithmEncryption
(Software)
Decryption
(Software)
AES128-GCM0.249 MB/s0.248 MB/s
AES192-GCM0.227 MB/s0.227 MB/s
AES256-GCM0.209 MB/s0.208 MB/s
AES128-CCM0.212 MB/s0.212 MB/s
AES192-CCM0.181 MB/s0.181 MB/s
AES256-CCM0.159 MB/s0.159 MB/s
SM4-GCM0.26 MB/s0.259 MB/s
SM4-CCM0.228 MB/s0.228 MB/s
Ascon-AEAD1280.543 MB/s0.542 MB/s
ChaCha20Poly13050.554 MB/s0.553 MB/s

Hash Algorithms

STM32F303 @ 64 MHz

  • Benchmark generated with CycloneCRYPTO 2.6.2
  • Compiled using ARMCC with optimization level 3
AlgorithmSpeed
(Software)
MD52.532 MB/s
SHA-10.62 MB/s
SHA-2240.591 MB/s
SHA-2560.591 MB/s
SHA-3840.373 MB/s
SHA-5120.373 MB/s
SHA3-2240.263 MB/s
SHA3-2560.249 MB/s
SHA3-3840.191 MB/s
SHA3-5120.133 MB/s
SM30.525 MB/s
Ascon-Hash2560.202 MB/s

Signature Algorithms

STM32F303 @ 64 MHz

  • Benchmark generated with CycloneCRYPTO 2.6.2
  • Compiled using ARMCC with optimization level 3
AlgorithmGeneration
(Software)
Verification
(Software)
RSA (1024 bits)329.8 ms61.8 ms
RSA (2048 bits)1689.8 ms228.3 ms
DSA (1024 bits)186.8 ms391.4 ms
DSA (2048 bits)843.4 ms1792.7 ms

EC Signature Algorithms

STM32F303 @ 64 MHz

  • Benchmark generated with CycloneCRYPTO 2.6.2
  • Compiled using ARMCC with optimization level 3
AlgorithmGeneration
(Software)
Verification
(Software)
ECDSA (secp256r1)275.1 ms246.6 ms
ECDSA (secp384r1)674.6 ms607.8 ms
ECDSA (secp521r1)1430.4 ms1253.4 ms
ECDSA (brainpoolP256r1)571 ms569.6 ms
ECDSA (brainpoolP384r1)1503.1 ms1500 ms
ECDSA (brainpoolP512r1)3112.5 ms3159.7 ms
SM2528.6 ms207.7 ms
EdDSA (Ed25519)55.4 ms46.2 ms
EdDSA (Ed448)253.8 ms214.5 ms

Key Exchange Algorithms

STM32F303 @ 64 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)639.6 ms637 ms
Diffie-Hellman (2048 bits)4309.6 ms4306.1 ms

EC Key Exchange Algorithms

STM32F303 @ 64 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)240.9 ms240.1 ms
ECDH (secp384r1)585.2 ms584.1 ms
ECDH (secp521r1)1224 ms1222.2 ms
ECDH (brainpoolP256r1)531.6 ms530.8 ms
ECDH (brainpoolP384r1)1397.2 ms1396.1 ms
ECDH (brainpoolP512r1)2890.8 ms2889.5 ms
ECDH (SM2)241.6 ms240.8 ms
ECDH (X25519)29 ms29 ms
ECDH (X448)121.4 ms121.3 ms