mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2025-07-30 02:37:28 +02:00
Adjust Espressif Examples for Post Quantum ML-KEM
This commit is contained in:
@ -110,7 +110,7 @@
|
||||
/* We don't use WiFi, so don't compile in the esp-sdk-lib WiFi helpers: */
|
||||
/* #define USE_WOLFSSL_ESP_SDK_WIFI */
|
||||
#define TEST_ESPIDF_ALL_WOLFSSL
|
||||
|
||||
#define HAVE_HKDF
|
||||
#elif defined(CONFIG_WOLFSSL_EXAMPLE_NAME_BENCHMARK)
|
||||
/* See https://github.com/wolfSSL/wolfssl/tree/master/IDE/Espressif/ESP-IDF/examples/wolfssl_benchmark */
|
||||
/* We don't use WiFi, so don't compile in the esp-sdk-lib WiFi helpers: */
|
||||
@ -209,18 +209,40 @@
|
||||
/* the code is older or does not have application name defined. */
|
||||
#endif /* Example wolfSSL Configuration app settings */
|
||||
|
||||
/* Experimental Kyber */
|
||||
#ifdef CONFIG_WOLFSSL_ENABLE_KYBER
|
||||
/* Optional MLKEM (Kyber Post Quantum) */
|
||||
/* ./configure --enable-mlkem */
|
||||
/* See Kconfig / menuconfig ESP_WOLFSSL_ENABLE_MLKEM */
|
||||
#ifdef CONFIG_ESP_WOLFSSL_ENABLE_MLKEM
|
||||
/* Kyber typically needs a minimum 10K stack */
|
||||
#define WOLFSSL_EXPERIMENTAL_SETTINGS
|
||||
#define WOLFSSL_HAVE_MLKEM
|
||||
#define WOLFSSL_WC_MLKEM
|
||||
#define WOLFSSL_SHA3
|
||||
#define WOLFSSL_SHAKE128
|
||||
#define WOLFSSL_SHAKE256
|
||||
|
||||
/* Old code points to keep compatibility with Kyber Round 3. */
|
||||
/* ./configure --enable-kyber=all --enable-experimental */
|
||||
#if defined(CONFIG_WOLFSSL_ENABLE_KYBER)
|
||||
#define WOLFSSL_MLKEM_KYBER
|
||||
#define WOLFSSL_EXPERIMENTAL_SETTINGS
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_IDF_TARGET_ESP8266)
|
||||
/* With limited RAM, we'll disable some of the Kyber sizes: */
|
||||
#define WOLFSSL_NO_KYBER1024
|
||||
#define WOLFSSL_NO_KYBER768
|
||||
#define WOLFSSL_NO_ML_KEM_1024
|
||||
#define WOLFSSL_NO_ML_KEM_768
|
||||
#define NO_SESSION_CACHE
|
||||
#else
|
||||
/* Only needed for older wolfssl versions, see mlkem.h */
|
||||
#define WOLFSSL_KYBER1024
|
||||
/* optional alternative sizes: */
|
||||
/* #define WOLFSSL_KYBER768 */
|
||||
/* #define WOLFSSL_KYBER512 */
|
||||
/* -- or disable a specific one: */
|
||||
/* #define WOLFSSL_NO_ML_KEM_1024 */
|
||||
/* #define WOLFSSL_NO_ML_KEM_768 */
|
||||
/* #define WOLFSSL_NO_ML_KEM_512 */
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@ -560,8 +582,6 @@
|
||||
defined(WOLFSSL_SP_RISCV32)
|
||||
#endif
|
||||
|
||||
#define WOLFSSL_SMALL_STACK
|
||||
|
||||
|
||||
#define HAVE_VERSION_EXTENDED_INFO
|
||||
/* #define HAVE_WC_INTROSPECTION */
|
||||
@ -784,6 +804,15 @@
|
||||
#define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI
|
||||
/***** END CONFIG_IDF_TARGET_ESP32H2 *****/
|
||||
|
||||
#elif defined(CONFIG_IDF_TARGET_ESP32P4)
|
||||
#define WOLFSSL_ESP32
|
||||
/* wolfSSL Hardware Acceleration not yet implemented */
|
||||
#define NO_ESP32_CRYPT
|
||||
#define NO_WOLFSSL_ESP32_CRYPT_HASH
|
||||
#define NO_WOLFSSL_ESP32_CRYPT_AES
|
||||
#define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI
|
||||
/***** END CONFIG_IDF_TARGET_ESP32P4 *****/
|
||||
|
||||
#elif defined(CONFIG_IDF_TARGET_ESP8266)
|
||||
#define WOLFSSL_ESP8266
|
||||
|
||||
@ -927,6 +956,8 @@ Turn on timer debugging (used when CPU cycles not available)
|
||||
#define ATCA_WOLFSSL
|
||||
*/
|
||||
|
||||
/* optional SM4 Ciphers. See github.com/wolfSSL/wolfsm */
|
||||
|
||||
/***************************** Certificate Macros *****************************
|
||||
*
|
||||
* The section below defines macros used in typically all of the wolfSSL
|
||||
@ -1018,9 +1049,14 @@ Turn on timer debugging (used when CPU cycles not available)
|
||||
#define WOLFSSL_BASE16
|
||||
#else
|
||||
#if defined(USE_CERT_BUFFERS_2048)
|
||||
#define USE_CERT_BUFFERS_256
|
||||
#ifdef USE_CERT_BUFFERS_1024
|
||||
#error "USE_CERT_BUFFERS_1024 is already defined. Pick one."
|
||||
#endif
|
||||
|
||||
/* Be sure to include in app when using example certs: */
|
||||
/* #include <wolfssl/certs_test.h> */
|
||||
#include <wolfssl/certs_test.h>
|
||||
|
||||
#define USE_CERT_BUFFERS_256
|
||||
#define CTX_CA_CERT ca_cert_der_2048
|
||||
#define CTX_CA_CERT_SIZE sizeof_ca_cert_der_2048
|
||||
#define CTX_CA_CERT_TYPE WOLFSSL_FILETYPE_ASN1
|
||||
@ -1040,9 +1076,14 @@ Turn on timer debugging (used when CPU cycles not available)
|
||||
#define CTX_CLIENT_KEY_TYPE WOLFSSL_FILETYPE_ASN1
|
||||
|
||||
#elif defined(USE_CERT_BUFFERS_1024)
|
||||
#define USE_CERT_BUFFERS_256
|
||||
#ifdef USE_CERT_BUFFERS_2048
|
||||
#error "USE_CERT_BUFFERS_2048 is already defined. Pick one."
|
||||
#endif
|
||||
|
||||
/* Be sure to include in app when using example certs: */
|
||||
/* #include <wolfssl/certs_test.h> */
|
||||
#include <wolfssl/certs_test.h>
|
||||
|
||||
#define USE_CERT_BUFFERS_256
|
||||
#define CTX_CA_CERT ca_cert_der_1024
|
||||
#define CTX_CA_CERT_SIZE sizeof_ca_cert_der_1024
|
||||
#define CTX_CA_CERT_TYPE WOLFSSL_FILETYPE_ASN1
|
||||
|
Reference in New Issue
Block a user