Crypto Benchmark on ESP32-S2 MCU
Tensilica Xtensa LX7 @ 240 MHz

This benchmark conducted on ESP32-S2-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-S2 microcontroller.

ESP32-S2 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-S2 @ 240 MHz

  • Benchmark generated with CycloneCRYPTO 2.1.2
  • Compiled using GCC with optimization level 2
AlgorithmCBC Encrypt (Software)CBC Decrypt (Software)CCM Encrypt (Software)CCM Decrypt (Software)GCM Encrypt (Software)GCM Decrypt (Software)
3DES0.457 MB/s0.456 MB/s----
AES-1281.733 MB/s1.663 MB/s0.872 MB/s0.875 MB/s1.055 MB/s1.043 MB/s
AES-1921.488 MB/s1.43 MB/s0.744 MB/s0.746 MB/s0.957 MB/s0.947 MB/s
AES-2561.303 MB/s1.253 MB/s0.649 MB/s0.651 MB/s0.876 MB/s0.868 MB/s
AlgorithmCBC Encrypt (Hardware)CBC Decrypt (Hardware)CCM Encrypt (Hardware)CCM Decrypt (Hardware)GCM Encrypt (Hardware)GCM Decrypt (Hardware)
AES-1287.352 MB/s6.849 MB/s0.906 MB/s0.909 MB/s1.081 MB/s1.066 MB/s
AES-1927.299 MB/s6.802 MB/s0.892 MB/s0.896 MB/s1.07 MB/s1.058 MB/s
AES-2567.299 MB/s6.849 MB/s0.88 MB/s0.882 MB/s1.06 MB/s1.048 MB/s

Hash Algorithms

ESP32-S2 @ 240 MHz

  • Benchmark generated with CycloneCRYPTO 2.1.2
  • Compiled using GCC with optimization level 2
AlgorithmSpeed (Software)Speed (Hardware)
MD516.393 MB/s-
SHA-12.785 MB/s27.777 MB/s
SHA-2242.083 MB/s28.571 MB/s
SHA-2562.083 MB/s28.571 MB/s
SHA-3841.25 MB/s31.25 MB/s
SHA-5121.248 MB/s31.25 MB/s
SHA3-2240.887 MB/s-
SHA3-2560.838 MB/s-
SHA3-3840.642 MB/s-
SHA3-5120.446 MB/s-

Signature Algorithms

ESP32-S2 @ 240 MHz

  • Benchmark generated with CycloneCRYPTO 2.1.2
  • Compiled using GCC with optimization level 2
AlgorithmSignature Generation (Software)Signature Verification (Software)
RSA (1024 bits)118 ms17 ms
RSA (2048 bits)720 ms66 ms
RSA (3072 bits)2205 ms142 ms
RSA (4096 bits)4977 ms252 ms
DSA (1024 bits)74 ms149 ms
DSA (2048 bits)371 ms766 ms
AlgorithmSignature Generation (Hardware)Signature Verification (Hardware)
RSA (1024 bits)34 ms13 ms
RSA (2048 bits)138 ms47 ms
RSA (3072 bits)328 ms99 ms
RSA (4096 bits)629 ms177 ms
DSA (1024 bits)27 ms57 ms
DSA (2048 bits)96 ms216 ms

EC Signature Algorithms

ESP32-S2 @ 240 MHz

  • Benchmark generated with CycloneCRYPTO 2.1.2
  • Compiled using GCC with optimization level 2
AlgorithmSignature Generation (Software)Signature Verification (Software)
ECDSA (P-256)225 ms280 ms
ECDSA (P-384)423 ms519 ms
ECDSA (P-521)515 ms611 ms
EdDSA (Ed25519)68 ms133 ms
EdDSA (Ed448)311 ms619 ms
AlgorithmSignature Generation (Hardware)Signature Verification (Hardware)
EdDSA (Ed25519)58 ms116 ms
EdDSA (Ed448)175 ms349 ms

Key Exchange Algorithms

ESP32-S2 @ 240 MHz

  • Benchmark generated with CycloneCRYPTO 2.1.2
  • Compiled using GCC with optimization level 2
AlgorithmPublic Key Generation (Software)Shared Secret Computation (Software)
Diffie-Hellman (1024 bits)309 ms308 ms
Diffie-Hellman (2048 bits)2299 ms2299 ms
AlgorithmPublic Key Generation (Hardware)Shared Secret Computation (Hardware)
Diffie-Hellman (1024 bits)28 ms28 ms
Diffie-Hellman (2048 bits)160 ms160 ms

EC Key Exchange Algorithms

ESP32-S2 @ 240 MHz

  • Benchmark generated with CycloneCRYPTO 2.1.2
  • Compiled using GCC with optimization level 2
AlgorithmPublic Key Generation (Software)Shared Secret Computation (Software)
ECDH (P-256)222 ms221 ms
ECDH (P-384)396 ms397 ms
ECDH (P-521)500 ms500 ms
ECDH (X25519)38 ms37 ms
ECDH (X448)158 ms158 ms
AlgorithmPublic Key Generation (Hardware)Shared Secret Computation (Hardware)
ECDH (X25519)32 ms33 ms
ECDH (X448)92 ms91 ms