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.5.0
  • Compiled using GCC with optimization level 3
AlgorithmEncryption
(Software)
Decryption
(Software)
Encryption
(Hardware)
Decryption
(Hardware)
3DES-CBC0.386 MB/s0.379 MB/s--
3DES-CTR0.385 MB/s0.385 MB/s--
AES128-CBC1.406 MB/s1.394 MB/s6.25 MB/s5.617 MB/s
AES192-CBC1.215 MB/s1.212 MB/s--
AES256-CBC1.068 MB/s1.07 MB/s6.097 MB/s5.464 MB/s
AES128-CTR1.373 MB/s1.371 MB/s5.025 MB/s5 MB/s
AES192-CTR1.189 MB/s1.189 MB/s--
AES256-CTR1.049 MB/s1.05 MB/s4.901 MB/s4.878 MB/s
SM4-CBC1.366 MB/s1.329 MB/s--
SM4-CTR1.335 MB/s1.335 MB/s--

AEAD Algorithms

ESP32-C3 @ 160 MHz

  • Benchmark generated with CycloneCRYPTO 2.5.0
  • Compiled using GCC with optimization level 3
AlgorithmEncryption
(Software)
Decryption
(Software)
Encryption
(Hardware)
Decryption
(Hardware)
AES128-GCM0.846 MB/s0.841 MB/s1.029 MB/s1.036 MB/s
AES192-GCM0.771 MB/s0.768 MB/s--
AES256-GCM0.709 MB/s0.705 MB/s1.009 MB/s1.014 MB/s
AES128-CCM0.722 MB/s0.725 MB/s1.047 MB/s1.054 MB/s
AES192-CCM0.618 MB/s0.621 MB/s--
AES256-CCM0.541 MB/s0.543 MB/s1.003 MB/s1.01 MB/s
SM4-GCM0.831 MB/s0.826 MB/s--
SM4-CCM0.7 MB/s0.703 MB/s--
Ascon-AEAD1281.879 MB/s1.814 MB/s--
ChaCha20Poly13052.044 MB/s2.044 MB/s--

Hash Algorithms

ESP32-C3 @ 160 MHz

  • Benchmark generated with CycloneCRYPTO 2.5.0
  • Compiled using GCC with optimization level 3
AlgorithmSpeed
(Software)
Speed
(Hardware)
MD58.064 MB/s-
SHA-11.988 MB/s21.739 MB/s
SHA-2241.626 MB/s22.222 MB/s
SHA-2561.623 MB/s21.739 MB/s
SHA-3841.25 MB/s-
SHA-5121.25 MB/s-
SHA3-2240.763 MB/s-
SHA3-2560.721 MB/s-
SHA3-3840.554 MB/s-
SHA3-5120.386 MB/s-
SM31.449 MB/s-
Ascon-Hash2560.71 MB/s-

Signature Algorithms

ESP32-C3 @ 160 MHz

  • Benchmark generated with CycloneCRYPTO 2.5.0
  • Compiled using GCC with optimization level 3
AlgorithmGeneration
(Software)
Verification
(Software)
Generation
(Hardware)
Verification
(Hardware)
RSA (1024 bits)139 ms19 ms37 ms13 ms
RSA (2048 bits)884 ms71 ms162 ms47 ms
RSA (3072 bits)2743 ms153 ms415 ms100 ms
RSA (4096 bits)6239 ms272 ms--
DSA (1024 bits)85 ms170 ms27 ms58 ms
DSA (2048 bits)445 ms916 ms--

EC Signature Algorithms

ESP32-C3 @ 160 MHz

  • Benchmark generated with CycloneCRYPTO 2.5.0
  • Compiled using GCC with optimization level 3
AlgorithmGeneration
(Software)
Verification
(Software)
Generation
(Hardware)
Verification
(Hardware)
ECDSA (secp256r1)92 ms83 ms65 ms58 ms
ECDSA (secp384r1)247 ms225 ms142 ms126 ms
ECDSA (secp521r1)560 ms494 ms276 ms236 ms
ECDSA (brainpoolP256r1)187 ms188 ms72 ms68 ms
ECDSA (brainpoolP384r1)528 ms530 ms152 ms143 ms
ECDSA (brainpoolP512r1)1138 ms1158 ms270 ms259 ms
SM280 ms80 ms70 ms70 ms
EdDSA (Ed25519)38 ms36 ms--
EdDSA (Ed448)186 ms167 ms--

Key Exchange Algorithms

ESP32-C3 @ 160 MHz

  • Benchmark generated with CycloneCRYPTO 2.5.0
  • Compiled using GCC with optimization level 3
AlgorithmPublic Key Generation
(Software)
Shared Secret Computation
(Software)
Public Key Generation
(Hardware)
Shared Secret Computation
(Hardware)
Diffie-Hellman (1024 bits)385 ms386 ms41 ms41 ms
Diffie-Hellman (2048 bits)2904 ms2904 ms264 ms265 ms

EC Key Exchange Algorithms

ESP32-C3 @ 160 MHz

  • Benchmark generated with CycloneCRYPTO 2.5.0
  • Compiled using GCC with optimization level 3
AlgorithmPublic Key Generation
(Software)
Shared Secret Computation
(Software)
Public Key Generation
(Hardware)
Shared Secret Computation
(Hardware)
ECDH (secp256r1)81 ms80 ms62 ms62 ms
ECDH (secp384r1)214 ms214 ms135 ms135 ms
ECDH (secp521r1)480 ms479 ms261 ms262 ms
ECDH (brainpoolP256r1)174 ms173 ms67 ms66 ms
ECDH (brainpoolP384r1)490 ms490 ms142 ms142 ms
ECDH (brainpoolP512r1)1055 ms1054 ms254 ms253 ms
ECDH (SM2)80 ms81 ms71 ms70 ms
ECDH (X25519)21 ms21 ms--
ECDH (X448)94 ms94 ms--