# DEMO program with ATECC608A on ESP-WROOM-32SE ## Overview Running demo programs with ATECC608A on 32SE by setting *WOLFSSL_ESPWROOM32SE* definition Including the following examples: * simple tls_client/tls_server * crypt benchmark The *user_settings.h* file enables some of the hardened settings. ## Requirements 1. ESP-IDF development framework [https://docs.espressif.com/projects/esp-idf/en/latest/get-started/] 2. Microchip CryptoAuthentication Library [https://github.com/MicrochipTech/cryptoauthlib] ## Setup 1. wolfSSL under ESP-IDF. Please see [README.md](https://github.com/wolfSSL/wolfssl/blob/master/IDE/Espressif/ESP-IDF/README.md) 2. CryptoAuthentication Library under ESP-IDF. Please see [README.md](https://github.com/miyazakh/cryptoauthlib_esp_idf/blob/master/README.md) 3. Uncomment out #define WOLFSSL_ESPWROOM32SE in /path/to/wolfssl/wolfssl/wolfcrypt/settings.h Note : Need to enable WOLFSSL_ESPIDF Note : crypt test will fail if enabled WOLFSSL_ESPWROOM32SE ## Configuration 1. The *user_settings.h* can be found in /path/to/esp-idf/components/wolfssl/include/user_settings.h ## Build examples 1. See README in each example folder ## Benchmark w/o atecc608a ``` ECC 256 key gen 4 ops took 1.092 sec, avg 273.000 ms, 3.663 ops/sec ECDHE 256 agree 4 ops took 1.091 sec, avg 272.750 ms, 3.666 ops/sec ECDSA 256 sign 4 ops took 1.102 sec, avg 275.500 ms, 3.630 ops/sec ECDSA 256 verify 2 ops took 1.091 sec, avg 545.500 ms, 1.833 ops/sec ``` w/ atecc608a ``` ECC 256 key gen 11 ops took 1.074 sec, avg 97.636 ms, 10.242 ops/sec ECDHE 256 agree 6 ops took 1.068 sec, avg 178.000 ms, 5.618 ops/sec ECDSA 256 sign 8 ops took 1.009 sec, avg 126.125 ms, 7.929 ops/sec ECDSA 256 verify 14 ops took 1.079 sec, avg 77.071 ms, 12.975 ops/sec ``` ## Support For question please email [support@wolfssl.com] Note: This is tested with the following condition: - Model : ESP32-WROOM-32SE - ESP-IDF : v3.3-beta1-39-g6cb37ecc5(commit hash : 6cb37ecc5) - CryptAuthLib: commit hash : c6b176e - OS : Ubuntu 18.04.1 LTS (Bionic Beaver)