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
Algorithm | Encryption (Software) | Decryption (Software) |
---|---|---|
3DES-CBC | 0.221 MB/s | 0.212 MB/s |
3DES-CTR | 0.22 MB/s | 0.22 MB/s |
AES128-CBC | 0.803 MB/s | 0.791 MB/s |
AES192-CBC | 0.692 MB/s | 0.684 MB/s |
AES256-CBC | 0.609 MB/s | 0.603 MB/s |
AES128-CTR | 0.799 MB/s | 0.793 MB/s |
AES192-CTR | 0.691 MB/s | 0.685 MB/s |
AES256-CTR | 0.607 MB/s | 0.604 MB/s |
SM4-CBC | 0.803 MB/s | 0.794 MB/s |
SM4-CTR | 0.803 MB/s | 0.802 MB/s |
AEAD Algorithms
RP2040 @ 125 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using Clang with optimization level 3
Algorithm | Encryption (Software) | Decryption (Software) |
---|---|---|
AES128-GCM | 0.44 MB/s | 0.437 MB/s |
AES192-GCM | 0.405 MB/s | 0.402 MB/s |
AES256-GCM | 0.374 MB/s | 0.372 MB/s |
AES128-CCM | 0.42 MB/s | 0.416 MB/s |
AES192-CCM | 0.359 MB/s | 0.357 MB/s |
AES256-CCM | 0.313 MB/s | 0.311 MB/s |
SM4-GCM | 0.441 MB/s | 0.441 MB/s |
SM4-CCM | 0.42 MB/s | 0.421 MB/s |
Ascon-AEAD128 | 0.76 MB/s | 0.746 MB/s |
ChaCha20Poly1305 | 0.757 MB/s | 0.758 MB/s |
Hash Algorithms
RP2040 @ 125 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using Clang with optimization level 3
Algorithm | Speed (Software) |
---|---|
MD5 | 5.13 MB/s |
SHA-1 | 1.113 MB/s |
SHA-224 | 0.742 MB/s |
SHA-256 | 0.743 MB/s |
SHA-384 | 0.571 MB/s |
SHA-512 | 0.572 MB/s |
SHA3-224 | 0.587 MB/s |
SHA3-256 | 0.555 MB/s |
SHA3-384 | 0.428 MB/s |
SHA3-512 | 0.298 MB/s |
SM3 | 0.769 MB/s |
Ascon-Hash256 | 0.284 MB/s |
Signature Algorithms
RP2040 @ 125 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using Clang with optimization level 3
Algorithm | Generation (Software) | Verification (Software) |
---|---|---|
RSA (1024 bits) | 416.1 ms | 42.1 ms |
RSA (2048 bits) | 2842.2 ms | 160.4 ms |
DSA (1024 bits) | 246.4 ms | 498.2 ms |
DSA (2048 bits) | 1400.3 ms | 2853.1 ms |
EC Signature Algorithms
RP2040 @ 125 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using Clang with optimization level 3
Algorithm | Generation (Software) | Verification (Software) |
---|---|---|
ECDSA (secp256r1) | 319.4 ms | 281.7 ms |
ECDSA (secp384r1) | 860.3 ms | 769.4 ms |
ECDSA (secp521r1) | 2183.3 ms | 1895.8 ms |
ECDSA (brainpoolP256r1) | 686.2 ms | 677 ms |
ECDSA (brainpoolP384r1) | 1914 ms | 1907.3 ms |
ECDSA (brainpoolP512r1) | 4117.9 ms | 4191.1 ms |
EdDSA (Ed25519) | 183 ms | 174.1 ms |
EdDSA (Ed448) | 761.3 ms | 693.1 ms |
Key Exchange Algorithms
RP2040 @ 125 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using Clang with optimization level 3
Algorithm | Public Key Generation (Software) | Shared Secret Computation (Software) |
---|---|---|
Diffie-Hellman (1024 bits) | 1305.1 ms | 1304.9 ms |
EC Key Exchange Algorithms
RP2040 @ 125 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using Clang with optimization level 3
Algorithm | Public Key Generation (Software) | Shared Secret Computation (Software) |
---|---|---|
ECDH (secp256r1) | 276.3 ms | 275.8 ms |
ECDH (secp384r1) | 738.8 ms | 738.2 ms |
ECDH (secp521r1) | 1894.9 ms | 1894.5 ms |
ECDH (brainpoolP256r1) | 636.8 ms | 636.2 ms |
ECDH (brainpoolP384r1) | 1771.7 ms | 1771.2 ms |
ECDH (brainpoolP512r1) | 3809.6 ms | 3809 ms |
ECDH (SM2) | 367 ms | 366.8 ms |
ECDH (X25519) | 102.5 ms | 101.9 ms |
ECDH (X448) | 385.5 ms | 384.9 ms |