The wolfSSL team continues to embrace the open source community for the ever expanding product line of Espressif chips with support for the RISC-V architecture of the ESP32-C3.
Do you want to use world-class encryption software on your next ESP32 project? Check out the fully open-source wolfSSL codebase. The code continues to be free to use for makers under the terms of GPLv2. Commercial users for any size project are encouraged to contact us for licensing, professional support, and engineering development services.
Try out the wolfSSL encryption libraries today! Wondering which board to use? Check out our friends creating the ICE-V Wireless RISC-V ESP32-C3 and ice40 FPGA board. There’s a community example using this board for the wolfSSL SSH to UART Server.
We are currently working on adding RISC-V cryptographic hardware acceleration and support for the Espressif ESP-IDF Version 5.0.
For the RISC-V ESP32-C3 with software only running at 160MHz here are our current wolfSSL benchmarks:
ESP-ROM:esp32c3-api1-20210207 Build:Feb 7 2021 rst:0x1 (POWERON),boot:0xf (SPI_FAST_FLASH_BOOT) SPIWP:0xee mode:DIO, clock div:1 I (30) boot: ESP-IDF v4.4.1-dirty 2nd stage bootloader I (30) boot: compile time 10:13:40 I (30) boot: chip revision: 3 I (32) boot.esp32c3: SPI Speed : 80MHz I (37) boot.esp32c3: SPI Mode : DIO I (42) boot.esp32c3: SPI Flash Size : 4MB I (47) boot: Enabling RNG early entropy source... I (216) cpu_start: cpu freq: 160000000 I (216) cpu_start: Application information: I (218) cpu_start: Project name: wolfSSL_esp32_benchmark I (225) cpu_start: App version: v0.1-925-g935ebfd I (231) cpu_start: Compile time: Aug 3 2022 10:12:05 I (237) cpu_start: ELF file SHA256: 900d509ee08c8d01... I (243) cpu_start: ESP-IDF: v4.4.1-dirty I (249) heap_init: Initializing. RAM available for dynamic allocation: I (255) heap_init: At 3FC8DB60 len 000324A0 (201 KiB): DRAM I (261) heap_init: At 3FCC0000 len 0001F060 (124 KiB): STACK/DRAM I (268) heap_init: At 50000020 len 00001FE0 (7 KiB): RTCRAM I (275) spi_flash: detected chip: generic I (279) spi_flash: flash io: dio AES-128-CBC-enc 10 MB took 1.000 seconds, 10.376 MB/s AES-128-CBC-dec 11 MB took 1.001 seconds, 10.561 MB/s AES-192-CBC-enc 9 MB took 1.000 seconds, 9.399 MB/s AES-192-CBC-dec 10 MB took 1.000 seconds, 9.546 MB/s AES-256-CBC-enc 9 MB took 1.000 seconds, 8.594 MB/s AES-256-CBC-dec 9 MB took 1.002 seconds, 8.723 MB/s AES-128-GCM-enc 3 MB took 1.007 seconds, 2.546 MB/s AES-128-GCM-dec 3 MB took 1.007 seconds, 2.546 MB/s AES-192-GCM-enc 2 MB took 1.004 seconds, 2.480 MB/s AES-192-GCM-dec 2 MB took 1.004 seconds, 2.480 MB/s AES-256-GCM-enc 2 MB took 1.008 seconds, 2.422 MB/s AES-256-GCM-dec 2 MB took 1.009 seconds, 2.420 MB/s GMAC Default 3 MB took 1.000 seconds, 3.397 MB/s 3DES 3 MB took 1.003 seconds, 3.164 MB/s MD5 102 MB took 1.000 seconds, 101.978 MB/s SHA 49 MB took 1.000 seconds, 48.730 MB/s SHA-256 15 MB took 1.000 seconds, 14.941 MB/s SHA-512 13 MB took 1.001 seconds, 12.731 MB/s HMAC-MD5 101 MB took 1.000 seconds, 100.977 MB/s HMAC-SHA 48 MB took 1.000 seconds, 48.291 MB/s HMAC-SHA256 15 MB took 1.001 seconds, 14.805 MB/s HMAC-SHA512 13 MB took 1.001 seconds, 12.536 MB/s PBKDF2 2 KB took 1.008 seconds, 1.829 KB/s RSA 2048 public 394 ops took 1.000 sec, avg 2.538 ms, 394.000 ops/sec RSA 2048 private 8 ops took 1.293 sec, avg 161.625 ms, 6.187 ops/sec ECC [ SECP256R1] 256 key gen 50 ops took 1.039 sec, avg 20.780 m s, 48.123 ops/sec ECDHE [ SECP256R1] 256 agree 50 ops took 1.038 sec, avg 20.760 m s, 48.170 ops/sec ECDSA [ SECP256R1] 256 sign 48 ops took 1.010 sec, avg 21.042 m s, 47.525 ops/sec ECDSA [ SECP256R1] 256 verify 26 ops took 1.045 sec, avg 40.192 m s, 24.880 ops/sec CURVE 25519 key gen 20 ops took 1.003 sec, avg 50.150 ms, 19.940 ops/sec CURVE 25519 agree 20 ops took 1.002 sec, avg 50.100 ms, 19.960 ops/sec ED 25519 key gen 529 ops took 1.001 sec, avg 1.892 ms, 528.472 ops/sec ED 25519 sign 470 ops took 1.000 sec, avg 2.128 ms, 470.000 ops/sec ED 25519 verify 254 ops took 1.002 sec, avg 3.945 ms, 253.493 ops/sec Benchmark complete I (467072) wolfbenchmark: wolfssl_check: 0
See also:
For questions please email facts@wolfssl.com