More and more customers are asking about the Espressif ESP32 RISC-V SoC products. The answer is an enthusiastic YES. We support all of the Espressif ESP-32 chipsets, including the ESP32-C6 and the ESP32-C3 RISC-V devices.
Check out our recent video: Getting Started with wolfSSL on the ESP32. Our Espressif examples make it easier than ever to take wolfSSL for a test drive. See also the recent blog on the ESP Component Registry and other blogs on the ESP32 topic.
Shown below is an out-of-the-box, default-settings version of wolfSSL running the Benchmark app on the ESP32-C3 in a typical ESP-IDF v5.1 environment. Keep in mind there are numerous wolfSSL settings to fine-tune our libraries to your product.
We currently have RISC-V hardware acceleration in development. This means that some of the performance metrics should improve by upwards of 10x faster.
Interested in other boards as well? Check out our partial and growing list of supported boards.
I (31) boot: chip revision: v0.4 I (35) boot.esp32c3: SPI Speed : 80MHz I (40) boot.esp32c3: SPI Mode : DIO I (44) boot.esp32c3: SPI Flash Size : 2MB ------------------------------------------------------------------------------ wolfSSL version 5.6.3 ------------------------------------------------------------------------------ Math: Multi-Precision: Wolf(SP) word-size=32 bits=3072 sp_int.c wolfCrypt Benchmark (block bytes 1024, min 1.0 sec each) RNG 725 KiB took 1.027 seconds, 705.940 KiB/s Cycles per byte = 55.33 AES-128-CBC-enc 50 KiB took 1.082 seconds, 46.211 KiB/s Cycles per byte = 845.33 AES-128-CBC-dec 50 KiB took 1.088 seconds, 45.956 KiB/s Cycles per byte = 850.03 AES-192-CBC-enc 50 KiB took 1.297 seconds, 38.551 KiB/s Cycles per byte = 1013.13 AES-192-CBC-dec 50 KiB took 1.303 seconds, 38.373 KiB/s Cycles per byte = 1017.77 AES-256-CBC-enc 50 KiB took 1.511 seconds, 33.091 KiB/s Cycles per byte = 1180.73 AES-256-CBC-dec 50 KiB took 1.517 seconds, 32.960 KiB/s Cycles per byte = 1185.42 AES-128-GCM-enc 50 KiB took 1.187 seconds, 42.123 KiB/s Cycles per byte = 927.09 AES-128-GCM-dec 50 KiB took 1.186 seconds, 42.159 KiB/s Cycles per byte = 927.11 AES-192-GCM-enc 50 KiB took 1.405 seconds, 35.587 KiB/s Cycles per byte = 1097.49 AES-192-GCM-dec 50 KiB took 1.405 seconds, 35.587 KiB/s Cycles per byte = 1097.53 AES-256-GCM-enc 50 KiB took 1.623 seconds, 30.807 KiB/s Cycles per byte = 1267.69 AES-256-GCM-dec 50 KiB took 1.623 seconds, 30.807 KiB/s Cycles per byte = 1267.73 GMAC Default 478 KiB took 1.000 seconds, 478.000 KiB/s Cycles per byte = 81.71 3DES 375 KiB took 1.003 seconds, 373.878 KiB/s Cycles per byte = 104.48 MD5 10625 KiB took 1.000 seconds, 10625.000 KiB/s Cycles per byte = 3.67 SHA 5400 KiB took 1.000 seconds, 5400.000 KiB/s Cycles per byte = 7.23 SHA-224 1700 KiB took 1.014 seconds, 1676.529 KiB/s Cycles per byte = 23.30 SHA-256 1700 KiB took 1.014 seconds, 1676.529 KiB/s Cycles per byte = 23.30 SHA-384 1275 KiB took 1.009 seconds, 1263.627 KiB/s Cycles per byte = 30.91 SHA-512 1275 KiB took 1.009 seconds, 1263.627 KiB/s Cycles per byte = 30.91 SHA-512/224 1275 KiB took 1.009 seconds, 1263.627 KiB/s Cycles per byte = 30.91 SHA-512/256 1275 KiB took 1.009 seconds, 1263.627 KiB/s Cycles per byte = 30.91 SHA3-224 925 KiB took 1.006 seconds, 919.483 KiB/s Cycles per byte = 42.47 SHA3-256 875 KiB took 1.008 seconds, 868.056 KiB/s Cycles per byte = 45.02 SHA3-384 675 KiB took 1.010 seconds, 668.317 KiB/s Cycles per byte = 58.47 SHA3-512 475 KiB took 1.019 seconds, 466.143 KiB/s Cycles per byte = 83.77 SHAKE128 1075 KiB took 1.009 seconds, 1065.411 KiB/s Cycles per byte = 36.68 SHAKE256 875 KiB took 1.008 seconds, 868.056 KiB/s Cycles per byte = 45.02 RIPEMD 4325 KiB took 1.005 seconds, 4303.483 KiB/s Cycles per byte = 9.07 HMAC-MD5 10525 KiB took 1.000 seconds, 10525.000 KiB/s Cycles per byte = 3.71 HMAC-SHA 5375 KiB took 1.004 seconds, 5353.586 KiB/s Cycles per byte = 7.30 HMAC-SHA224 1675 KiB took 1.007 seconds, 1663.357 KiB/s Cycles per byte = 23.48 HMAC-SHA256 1675 KiB took 1.006 seconds, 1665.010 KiB/s Cycles per byte = 23.48 HMAC-SHA384 1250 KiB took 1.004 seconds, 1245.020 KiB/s Cycles per byte = 31.38 HMAC-SHA512 1250 KiB took 1.004 seconds, 1245.020 KiB/s Cycles per byte = 31.38 PBKDF2 0 KiB took 1.092 seconds, 0.200 KiB/s Cycles per byte = 194936.64 RSA 2048 public 48 ops took 1.001 sec, avg 20.854 ms, 47.952 ops/sec RSA 2048 private 2 ops took 9.438 sec, avg 4719.000 ms, 0.212 ops/sec ECC [ SECP256R1] 256 key gen 8 ops took 1.159 sec, avg 144.875 ms, 6.903 ops/sec ECDHE [ SECP256R1] 256 agree 8 ops took 1.154 sec, avg 144.250 ms, 6.932 ops/sec ECDSA [ SECP256R1] 256 sign 8 ops took 1.176 sec, avg 147.000 ms, 6.803 ops/sec ECDSA [ SECP256R1] 256 verify 4 ops took 1.119 sec, avg 279.750 ms, 3.575 ops/sec CURVE 25519 key gen 3 ops took 1.136 sec, avg 378.667 ms, 2.641 ops/sec CURVE 25519 agree 4 ops took 1.512 sec, avg 378.000 ms, 2.646 ops/sec ED 25519 key gen 73 ops took 1.004 sec, avg 13.753 ms, 72.709 ops/sec ED 25519 sign 62 ops took 1.007 sec, avg 16.242 ms, 61.569 ops/sec ED 25519 verify 40 ops took 1.033 sec, avg 25.825 ms, 38.722 ops/sec Benchmark complete
If you have any feedback, questions, or require support, please don’t hesitate to reach out to us via facts@wolfSSL.com, call us at +1 425 245 8247, or open an issue on GitHub.
Download wolfSSL