Crypto Benchmark on ESP32-C6 MCU
RISC-V @ 160 MHz
This benchmark conducted on ESP32-C6-DevKitC-1 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-C6 microcontroller.
ESP32-C6 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-C6 @ 160 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using GCC with optimization level 3
Algorithm | Encryption (Software) | Decryption (Software) | Encryption (Hardware) | Decryption (Hardware) |
---|---|---|---|---|
3DES-CBC | 0.385 MB/s | 0.38 MB/s | - | - |
3DES-CTR | 0.387 MB/s | 0.387 MB/s | - | - |
AES128-CBC | 1.43 MB/s | 1.416 MB/s | 4.629 MB/s | 4.329 MB/s |
AES192-CBC | 1.236 MB/s | 1.228 MB/s | - | - |
AES256-CBC | 1.086 MB/s | 1.084 MB/s | 4.587 MB/s | 4.31 MB/s |
AES128-CTR | 1.426 MB/s | 1.426 MB/s | 4.219 MB/s | 4.237 MB/s |
AES192-CTR | 1.233 MB/s | 1.233 MB/s | - | - |
AES256-CTR | 1.084 MB/s | 1.084 MB/s | 4.219 MB/s | 4.219 MB/s |
SM4-CBC | 1.386 MB/s | 1.349 MB/s | - | - |
SM4-CTR | 1.383 MB/s | 1.385 MB/s | - | - |
AEAD Algorithms
ESP32-C6 @ 160 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using GCC with optimization level 3
Algorithm | Encryption (Software) | Decryption (Software) | Encryption (Hardware) | Decryption (Hardware) |
---|---|---|---|---|
AES128-GCM | 0.875 MB/s | 0.881 MB/s | 0.911 MB/s | 0.905 MB/s |
AES192-GCM | 0.798 MB/s | 0.801 MB/s | - | - |
AES256-GCM | 0.732 MB/s | 0.735 MB/s | 0.875 MB/s | 0.87 MB/s |
AES128-CCM | 0.741 MB/s | 0.737 MB/s | 0.796 MB/s | 0.791 MB/s |
AES192-CCM | 0.634 MB/s | 0.631 MB/s | - | - |
AES256-CCM | 0.554 MB/s | 0.552 MB/s | 0.742 MB/s | 0.738 MB/s |
SM4-GCM | 0.859 MB/s | 0.863 MB/s | - | - |
SM4-CCM | 0.717 MB/s | 0.713 MB/s | - | - |
Ascon-AEAD128 | 1.915 MB/s | 1.845 MB/s | - | - |
ChaCha20Poly1305 | 2.304 MB/s | 2.298 MB/s | - | - |
Hash Algorithms
ESP32-C6 @ 160 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using GCC with optimization level 3
Algorithm | Speed (Software) | Speed (Hardware) |
---|---|---|
MD5 | 8.474 MB/s | - |
SHA-1 | 2.012 MB/s | 12.345 MB/s |
SHA-224 | 1.669 MB/s | 12.345 MB/s |
SHA-256 | 1.669 MB/s | 12.195 MB/s |
SHA-384 | 1.265 MB/s | - |
SHA-512 | 1.265 MB/s | - |
SHA3-224 | 0.765 MB/s | - |
SHA3-256 | 0.722 MB/s | - |
SHA3-384 | 0.555 MB/s | - |
SHA3-512 | 0.386 MB/s | - |
SM3 | 1.472 MB/s | - |
Ascon-Hash256 | 0.723 MB/s | - |
Signature Algorithms
ESP32-C6 @ 160 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using GCC with optimization level 3
Algorithm | Generation (Software) | Verification (Software) | Generation (Hardware) | Verification (Hardware) |
---|---|---|---|---|
RSA (1024 bits) | 118 ms | 15 ms | 32 ms | 10 ms |
RSA (2048 bits) | 733 ms | 57 ms | 147 ms | 38 ms |
RSA (3072 bits) | 2262 ms | 123 ms | 384 ms | 81 ms |
RSA (4096 bits) | 5128 ms | 218 ms | - | - |
DSA (1024 bits) | 71 ms | 143 ms | 25 ms | 51 ms |
DSA (2048 bits) | 367 ms | 753 ms | - | - |
EC Signature Algorithms
ESP32-C6 @ 160 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using GCC with optimization level 3
Algorithm | Generation (Software) | Verification (Software) | Generation (Hardware) | Verification (Hardware) |
---|---|---|---|---|
ECDSA (secp256r1) | 80 ms | 73 ms | 84 ms | 77 ms |
ECDSA (secp384r1) | 208 ms | 190 ms | 182 ms | 164 ms |
ECDSA (secp521r1) | 457 ms | 405 ms | 349 ms | 305 ms |
ECDSA (brainpoolP256r1) | 156 ms | 157 ms | 92 ms | 89 ms |
ECDSA (brainpoolP384r1) | 428 ms | 429 ms | 193 ms | 187 ms |
ECDSA (brainpoolP512r1) | 908 ms | 925 ms | 341 ms | 335 ms |
SM2 | 70 ms | 70 ms | - | - |
EdDSA (Ed25519) | 30 ms | 28 ms | - | - |
EdDSA (Ed448) | 154 ms | 137 ms | - | - |
Key Exchange Algorithms
ESP32-C6 @ 160 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using GCC with optimization level 3
Algorithm | Public Key Generation (Software) | Shared Secret Computation (Software) | Public Key Generation (Hardware) | Shared Secret Computation (Hardware) |
---|---|---|---|---|
Diffie-Hellman (1024 bits) | 321 ms | 320 ms | 41 ms | 41 ms |
Diffie-Hellman (2048 bits) | 2392 ms | 2392 ms | 270 ms | 270 ms |
EC Key Exchange Algorithms
ESP32-C6 @ 160 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using GCC with optimization level 3
Algorithm | Public Key Generation (Software) | Shared Secret Computation (Software) | Public Key Generation (Hardware) | Shared Secret Computation (Hardware) |
---|---|---|---|---|
ECDH (secp256r1) | 70 ms | 70 ms | 80 ms | 80 ms |
ECDH (secp384r1) | 181 ms | 181 ms | 172 ms | 171 ms |
ECDH (secp521r1) | 392 ms | 392 ms | 329 ms | 329 ms |
ECDH (brainpoolP256r1) | 145 ms | 145 ms | 85 ms | 85 ms |
ECDH (brainpoolP384r1) | 397 ms | 397 ms | 181 ms | 180 ms |
ECDH (brainpoolP512r1) | 842 ms | 841 ms | 319 ms | 319 ms |
ECDH (SM2) | 71 ms | 70 ms | - | - |
ECDH (X25519) | 17 ms | 16 ms | - | - |
ECDH (X448) | 78 ms | 77 ms | - | - |