Crypto Benchmark on ESP32-C3 MCU
RISC-V @ 160 MHz
This benchmark conducted on ESP32-C3-DevKitC-02 Development 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 Espressif ESP32-C3 microcontroller.
ESP32-C3 MCU also includes crypto hardware acceleration. In the following comparison charts, both hardware and software performance are presented in the relevant sections.
Cipher Algorithms
ESP32-C3 @ 160 MHz
- • Benchmark generated with CycloneCRYPTO 2.1.4
- • Compiled using GCC with optimization level 2
Algorithm | CBC Encrypt (Software) | CBC Decrypt (Software) | CCM Encrypt (Software) | CCM Decrypt (Software) | GCM Encrypt (Software) | GCM Decrypt (Software) |
---|---|---|---|---|---|---|
3DES | 0.373 MB/s | 0.367 MB/s | - | - | - | - |
AES-128 | 1.459 MB/s | 1.351 MB/s | 0.752 MB/s | 0.751 MB/s | 0.868 MB/s | 0.866 MB/s |
AES-192 | 1.264 MB/s | 1.172 MB/s | 0.645 MB/s | 0.645 MB/s | 0.793 MB/s | 0.792 MB/s |
AES-256 | 1.114 MB/s | 1.035 MB/s | 0.565 MB/s | 0.565 MB/s | 0.73 MB/s | 0.729 MB/s |
Algorithm | CBC Encrypt (Hardware) | CBC Decrypt (Hardware) | CCM Encrypt (Hardware) | CCM Decrypt (Hardware) | GCM Encrypt (Hardware) | GCM Decrypt (Hardware) |
---|---|---|---|---|---|---|
AES-128 | 6.25 MB/s | 5.882 MB/s | 0.811 MB/s | 0.81 MB/s | 0.904 MB/s | 0.904 MB/s |
AES-256 | 6.024 MB/s | 5.714 MB/s | 0.783 MB/s | 0.783 MB/s | 0.888 MB/s | 0.887 MB/s |
Hash Algorithms
ESP32-C3 @ 160 MHz
- • Benchmark generated with CycloneCRYPTO 2.1.4
- • Compiled using GCC with optimization level 2
Algorithm | Speed (Software) | Speed (Hardware) |
---|---|---|
MD5 | 10.204 MB/s | - |
SHA-1 | 2.15 MB/s | 20.833 MB/s |
SHA-224 | 1.589 MB/s | 20.833 MB/s |
SHA-256 | 1.589 MB/s | 21.276 MB/s |
SHA-384 | 1.197 MB/s | - |
SHA-512 | 1.196 MB/s | - |
SHA3-224 | 0.808 MB/s | - |
SHA3-256 | 0.762 MB/s | - |
SHA3-384 | 0.584 MB/s | - |
SHA3-512 | 0.406 MB/s | - |
Signature Algorithms
ESP32-C3 @ 160 MHz
- • Benchmark generated with CycloneCRYPTO 2.1.4
- • Compiled using GCC with optimization level 2
Algorithm | Signature Generation (Software) | Signature Verification (Software) |
---|---|---|
RSA (1024 bits) | 135 ms | 19 ms |
RSA (2048 bits) | 834 ms | 73 ms |
RSA (3072 bits) | 2567 ms | 158 ms |
DSA (1024 bits) | 83 ms | 171 ms |
DSA (2048 bits) | 429 ms | 888 ms |
Algorithm | Signature Generation (Hardware) | Signature Verification (Hardware) |
---|---|---|
RSA (1024 bits) | 40 ms | 14 ms |
RSA (2048 bits) | 173 ms | 51 ms |
RSA (3072 bits) | 436 ms | 109 ms |
DSA (1024 bits) | 31 ms | 66 ms |
EC Signature Algorithms
ESP32-C3 @ 160 MHz
- • Benchmark generated with CycloneCRYPTO 2.1.4
- • Compiled using GCC with optimization level 2
Algorithm | Signature Generation (Software) | Signature Verification (Software) |
---|---|---|
ECDSA (P-256) | 246 ms | 304 ms |
ECDSA (P-384) | 476 ms | 567 ms |
ECDSA (P-521) | 577 ms | 681 ms |
EdDSA (Ed25519) | 66 ms | 132 ms |
EdDSA (Ed448) | 321 ms | 641 ms |
Algorithm | Signature Generation (Hardware) | Signature Verification (Hardware) |
---|---|---|
EdDSA (Ed25519) | 58 ms | 116 ms |
EdDSA (Ed448) | 172 ms | 342 ms |
Key Exchange Algorithms
ESP32-C3 @ 160 MHz
- • Benchmark generated with CycloneCRYPTO 2.1.4
- • Compiled using GCC with optimization level 2
Algorithm | Public Key Generation (Software) | Shared Secret Computation (Software) |
---|---|---|
Diffie-Hellman (1024 bits) | 361 ms | 361 ms |
Diffie-Hellman (2048 bits) | 2696 ms | 2696 ms |
Algorithm | Public Key Generation (Hardware) | Shared Secret Computation (Hardware) |
---|---|---|
Diffie-Hellman (1024 bits) | 42 ms | 42 ms |
Diffie-Hellman (2048 bits) | 269 ms | 269 ms |
EC Key Exchange Algorithms
ESP32-C3 @ 160 MHz
- • Benchmark generated with CycloneCRYPTO 2.1.4
- • Compiled using GCC with optimization level 2
Algorithm | Public Key Generation (Software) | Shared Secret Computation (Software) |
---|---|---|
ECDH (P-256) | 242 ms | 243 ms |
ECDH (P-384) | 443 ms | 447 ms |
ECDH (P-521) | 561 ms | 562 ms |
ECDH (X25519) | 37 ms | 37 ms |
ECDH (X448) | 165 ms | 165 ms |
Algorithm | Public Key Generation (Hardware) | Shared Secret Computation (Hardware) |
---|---|---|
ECDH (X25519) | 32 ms | 33 ms |
ECDH (X448) | 91 ms | 90 ms |