Crypto Benchmark on RP2040 MCU
ARM Cortex-M0+ @ 125 MHz

This benchmark conducted on Raspberry Pi Pico board 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 Raspberry Pi RP2040 microcontroller.

Cipher Algorithms

RP2040 @ 125 MHz

  • Benchmark generated with CycloneCRYPTO 2.5.0
  • Compiled using Clang with optimization level 3
AlgorithmEncryption
(Software)
Decryption
(Software)
3DES-CBC0.221 MB/s0.212 MB/s
3DES-CTR0.22 MB/s0.22 MB/s
AES128-CBC0.803 MB/s0.791 MB/s
AES192-CBC0.692 MB/s0.684 MB/s
AES256-CBC0.609 MB/s0.603 MB/s
AES128-CTR0.799 MB/s0.793 MB/s
AES192-CTR0.691 MB/s0.685 MB/s
AES256-CTR0.607 MB/s0.604 MB/s
SM4-CBC0.803 MB/s0.794 MB/s
SM4-CTR0.803 MB/s0.802 MB/s

AEAD Algorithms

RP2040 @ 125 MHz

  • Benchmark generated with CycloneCRYPTO 2.5.0
  • Compiled using Clang with optimization level 3
AlgorithmEncryption
(Software)
Decryption
(Software)
AES128-GCM0.44 MB/s0.437 MB/s
AES192-GCM0.405 MB/s0.402 MB/s
AES256-GCM0.374 MB/s0.372 MB/s
AES128-CCM0.42 MB/s0.416 MB/s
AES192-CCM0.359 MB/s0.357 MB/s
AES256-CCM0.313 MB/s0.311 MB/s
SM4-GCM0.441 MB/s0.441 MB/s
SM4-CCM0.42 MB/s0.421 MB/s
Ascon-AEAD1280.76 MB/s0.746 MB/s
ChaCha20Poly13050.757 MB/s0.758 MB/s

Hash Algorithms

RP2040 @ 125 MHz

  • Benchmark generated with CycloneCRYPTO 2.5.0
  • Compiled using Clang with optimization level 3
AlgorithmSpeed
(Software)
MD55.13 MB/s
SHA-11.113 MB/s
SHA-2240.742 MB/s
SHA-2560.743 MB/s
SHA-3840.571 MB/s
SHA-5120.572 MB/s
SHA3-2240.587 MB/s
SHA3-2560.555 MB/s
SHA3-3840.428 MB/s
SHA3-5120.298 MB/s
SM30.769 MB/s
Ascon-Hash2560.284 MB/s

Signature Algorithms

RP2040 @ 125 MHz

  • Benchmark generated with CycloneCRYPTO 2.5.0
  • Compiled using Clang with optimization level 3
AlgorithmGeneration
(Software)
Verification
(Software)
RSA (1024 bits)416.1 ms42.1 ms
RSA (2048 bits)2842.2 ms160.4 ms
DSA (1024 bits)246.4 ms498.2 ms
DSA (2048 bits)1400.3 ms2853.1 ms

EC Signature Algorithms

RP2040 @ 125 MHz

  • Benchmark generated with CycloneCRYPTO 2.5.0
  • Compiled using Clang with optimization level 3
AlgorithmGeneration
(Software)
Verification
(Software)
ECDSA (secp256r1)319.4 ms281.7 ms
ECDSA (secp384r1)860.3 ms769.4 ms
ECDSA (secp521r1)2183.3 ms1895.8 ms
ECDSA (brainpoolP256r1)686.2 ms677 ms
ECDSA (brainpoolP384r1)1914 ms1907.3 ms
ECDSA (brainpoolP512r1)4117.9 ms4191.1 ms
EdDSA (Ed25519)183 ms174.1 ms
EdDSA (Ed448)761.3 ms693.1 ms

Key Exchange Algorithms

RP2040 @ 125 MHz

  • Benchmark generated with CycloneCRYPTO 2.5.0
  • Compiled using Clang with optimization level 3
AlgorithmPublic Key Generation
(Software)
Shared Secret Computation
(Software)
Diffie-Hellman (1024 bits)1305.1 ms1304.9 ms

EC Key Exchange Algorithms

RP2040 @ 125 MHz

  • Benchmark generated with CycloneCRYPTO 2.5.0
  • Compiled using Clang with optimization level 3
AlgorithmPublic Key Generation
(Software)
Shared Secret Computation
(Software)
ECDH (secp256r1)276.3 ms275.8 ms
ECDH (secp384r1)738.8 ms738.2 ms
ECDH (secp521r1)1894.9 ms1894.5 ms
ECDH (brainpoolP256r1)636.8 ms636.2 ms
ECDH (brainpoolP384r1)1771.7 ms1771.2 ms
ECDH (brainpoolP512r1)3809.6 ms3809 ms
ECDH (SM2)367 ms366.8 ms
ECDH (X25519)102.5 ms101.9 ms
ECDH (X448)385.5 ms384.9 ms