Crypto Benchmark on ESP32-S3 MCU
Tensilica Xtensa LX7 @ 240 MHz
This benchmark conducted on ESP32-S3-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-S3 microcontroller.
ESP32-S3 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-S3 @ 240 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.637 MB/s | 0.63 MB/s | - | - |
3DES-CTR | 0.639 MB/s | 0.638 MB/s | - | - |
AES128-CBC | 2.207 MB/s | 2.164 MB/s | 7.299 MB/s | 8.064 MB/s |
AES192-CBC | 1.904 MB/s | 1.876 MB/s | - | - |
AES256-CBC | 1.675 MB/s | 1.652 MB/s | 7.246 MB/s | 7.692 MB/s |
AES128-CTR | 2.217 MB/s | 2.217 MB/s | 7.518 MB/s | 7.518 MB/s |
AES192-CTR | 1.915 MB/s | 1.912 MB/s | - | - |
AES256-CTR | 1.68 MB/s | 1.683 MB/s | 7.462 MB/s | 7.462 MB/s |
SM4-CBC | 2.457 MB/s | 2.409 MB/s | - | - |
SM4-CTR | 2.475 MB/s | 2.469 MB/s | - | - |
AEAD Algorithms
ESP32-S3 @ 240 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using GCC with optimization level 3
Algorithm | Encryption (Software) | Decryption (Software) |
---|---|---|
AES128-GCM | 1.353 MB/s | 1.349 MB/s |
AES192-GCM | 1.231 MB/s | 1.228 MB/s |
AES256-GCM | 1.129 MB/s | 1.127 MB/s |
AES128-CCM | 1.121 MB/s | 1.122 MB/s |
AES192-CCM | 0.961 MB/s | 0.962 MB/s |
AES256-CCM | 0.841 MB/s | 0.842 MB/s |
SM4-GCM | 1.443 MB/s | 1.438 MB/s |
SM4-CCM | 1.254 MB/s | 1.256 MB/s |
Ascon-AEAD128 | 1.589 MB/s | 1.56 MB/s |
ChaCha20Poly1305 | 3.289 MB/s | 3.289 MB/s |
Hash Algorithms
ESP32-S3 @ 240 MHz
- • Benchmark generated with CycloneCRYPTO 2.5.0
- • Compiled using GCC with optimization level 3
Algorithm | Speed (Software) | Speed (Hardware) |
---|---|---|
MD5 | 13.698 MB/s | - |
SHA-1 | 2.793 MB/s | 25.641 MB/s |
SHA-224 | 2.336 MB/s | 25.641 MB/s |
SHA-256 | 2.341 MB/s | 26.315 MB/s |
SHA-384 | 1.517 MB/s | 28.571 MB/s |
SHA-512 | 1.517 MB/s | 28.571 MB/s |
SHA3-224 | 1.166 MB/s | - |
SHA3-256 | 1.102 MB/s | - |
SHA3-384 | 0.848 MB/s | - |
SHA3-512 | 0.589 MB/s | - |
SM3 | 2.169 MB/s | - |
Ascon-Hash256 | 0.593 MB/s | - |
Signature Algorithms
ESP32-S3 @ 240 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) | 80 ms | 10 ms | 25 ms | 7 ms |
RSA (2048 bits) | 490 ms | 39 ms | 118 ms | 26 ms |
RSA (3072 bits) | 1505 ms | 83 ms | 315 ms | 57 ms |
RSA (4096 bits) | 3398 ms | 147 ms | 660 ms | 101 ms |
DSA (1024 bits) | 48 ms | 97 ms | 19 ms | 39 ms |
DSA (2048 bits) | 246 ms | 504 ms | 73 ms | 157 ms |
EC Signature Algorithms
ESP32-S3 @ 240 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) | 73 ms | 66 ms | 67 ms | 60 ms |
ECDSA (secp384r1) | 191 ms | 177 ms | 134 ms | 122 ms |
ECDSA (secp521r1) | 420 ms | 377 ms | 253 ms | 221 ms |
ECDSA (brainpoolP256r1) | 143 ms | 144 ms | 69 ms | 68 ms |
ECDSA (brainpoolP384r1) | 393 ms | 398 ms | 140 ms | 136 ms |
ECDSA (brainpoolP512r1) | 836 ms | 859 ms | 244 ms | 240 ms |
SM2 | 64 ms | 64 ms | 64 ms | 64 ms |
EdDSA (Ed25519) | 26 ms | 24 ms | - | - |
EdDSA (Ed448) | 103 ms | 92 ms | - | - |
Key Exchange Algorithms
ESP32-S3 @ 240 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) | 214 ms | 214 ms | 36 ms | 36 ms |
Diffie-Hellman (2048 bits) | 1584 ms | 1585 ms | 245 ms | 245 ms |
EC Key Exchange Algorithms
ESP32-S3 @ 240 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) | 64 ms | 63 ms | 63 ms | 62 ms |
ECDH (secp384r1) | 166 ms | 166 ms | 127 ms | 127 ms |
ECDH (secp521r1) | 361 ms | 360 ms | 239 ms | 238 ms |
ECDH (brainpoolP256r1) | 132 ms | 132 ms | 64 ms | 64 ms |
ECDH (brainpoolP384r1) | 364 ms | 364 ms | 131 ms | 131 ms |
ECDH (brainpoolP512r1) | 774 ms | 774 ms | 228 ms | 228 ms |
ECDH (SM2) | 64 ms | 63 ms | 65 ms | 65 ms |
ECDH (X25519) | 14 ms | 15 ms | - | - |
ECDH (X448) | 53 ms | 52 ms | - | - |