From 3f2746688cef30d002f9c3fa29d347b211de079b Mon Sep 17 00:00:00 2001 From: Jiang Guang Ming Date: Wed, 2 Aug 2023 17:56:02 +0800 Subject: [PATCH] feat(mbedtls): support ecp fixed-point multiplication configurable --- components/mbedtls/Kconfig | 10 ++++++++++ .../mbedtls/port/include/mbedtls/esp_config.h | 13 +++++++++++++ 2 files changed, 23 insertions(+) diff --git a/components/mbedtls/Kconfig b/components/mbedtls/Kconfig index b76e29a4d9a8..34d5f790134c 100644 --- a/components/mbedtls/Kconfig +++ b/components/mbedtls/Kconfig @@ -982,6 +982,16 @@ menu "mbedTLS" Disabling this option saves some code size. + config MBEDTLS_ECP_FIXED_POINT_OPTIM + bool "Enable fixed-point multiplication optimisations" + depends on MBEDTLS_ECP_C + default y + help + This configuration option enables optimizations to speedup (about 3 ~ 4 times) the ECP + fixed point multiplication using pre-computed tables in the flash memory. + Disabling this configuration option saves flash footprint (about 29KB if all Elliptic Curve selected) + in the application binary. + # end of Elliptic Curve options config MBEDTLS_POLY1305_C diff --git a/components/mbedtls/port/include/mbedtls/esp_config.h b/components/mbedtls/port/include/mbedtls/esp_config.h index 488063b17224..b8d3be3798b7 100644 --- a/components/mbedtls/port/include/mbedtls/esp_config.h +++ b/components/mbedtls/port/include/mbedtls/esp_config.h @@ -488,6 +488,19 @@ #undef MBEDTLS_ECP_NIST_OPTIM #endif +/** + * \def MBEDTLS_ECP_FIXED_POINT_OPTIM + * + * Enable speed up fixed-point multiplication. + * + * Comment this macro to disable FIXED POINT curves optimisation. + */ +#ifdef CONFIG_MBEDTLS_ECP_FIXED_POINT_OPTIM +#define MBEDTLS_ECP_FIXED_POINT_OPTIM 1 +#else +#define MBEDTLS_ECP_FIXED_POINT_OPTIM 0 +#endif + /** * \def MBEDTLS_ECDSA_DETERMINISTIC *