[PATCH v8 07/27] mbedtls: Enable smaller implementation for SHA256/512

Ilias Apalodimas ilias.apalodimas at linaro.org
Mon Oct 14 20:01:38 CEST 2024


On Fri, 4 Oct 2024 at 00:55, Raymond Mao <raymond.mao at linaro.org> wrote:
>
> Smaller implementation for SHA256 and SHA512 helps to reduce the
> ROM footprint though it has a certain impact on performance.
> As a trade-off, enable it as a default config when MbedTLS is
> enabled can reduce the target size significantly with acceptable
> performace loss.
>
> Signed-off-by: Raymond Mao <raymond.mao at linaro.org>
> ---
> Changes in v6
> - Initial patch
> Changes in v7
> - Fixed the config dependencies.
> Changes in v8
> - None
>
>  lib/mbedtls/Kconfig              | 24 ++++++++++++++++++++++++
>  lib/mbedtls/mbedtls_def_config.h |  6 ++++++
>  2 files changed, 30 insertions(+)
>
> diff --git a/lib/mbedtls/Kconfig b/lib/mbedtls/Kconfig
> index 262abb2cec7..8e3a94c6f2b 100644
> --- a/lib/mbedtls/Kconfig
> +++ b/lib/mbedtls/Kconfig
> @@ -164,6 +164,18 @@ config SHA256_MBEDTLS
>           This option enables support of hashing using SHA256 algorithm
>           with MbedTLS crypto library.
>
> +if SHA256_MBEDTLS
> +
> +config SHA256_SMALLER
> +       bool "Enable SHA256 smaller implementation with MbedTLS crypto library"
> +       depends on SHA256_MBEDTLS
> +       default y if SHA256_MBEDTLS
> +       help
> +         This option enables support of hashing using SHA256 algorithm
> +         smaller implementation with MbedTLS crypto library.
> +
> +endif
> +
>  config SHA512_MBEDTLS
>         bool "Enable SHA512 support with MbedTLS crypto library"
>         depends on MBEDTLS_LIB_CRYPTO && SHA512
> @@ -172,6 +184,18 @@ config SHA512_MBEDTLS
>           This option enables support of hashing using SHA512 algorithm
>           with MbedTLS crypto library.
>
> +if SHA512_MBEDTLS
> +
> +config SHA512_SMALLER
> +       bool "Enable SHA512 smaller implementation with MbedTLS crypto library"
> +       depends on SHA512_MBEDTLS
> +       default y if SHA512_MBEDTLS
> +       help
> +         This option enables support of hashing using SHA512 algorithm
> +         smaller implementation with MbedTLS crypto library.
> +
> +endif
> +
>  config SHA384_MBEDTLS
>         bool "Enable SHA384 support with MbedTLS crypto library"
>         depends on MBEDTLS_LIB_CRYPTO && SHA384
> diff --git a/lib/mbedtls/mbedtls_def_config.h b/lib/mbedtls/mbedtls_def_config.h
> index 6fba053bd7c..1af911c2003 100644
> --- a/lib/mbedtls/mbedtls_def_config.h
> +++ b/lib/mbedtls/mbedtls_def_config.h
> @@ -35,6 +35,9 @@
>  #if defined CONFIG_MBEDTLS_LIB_CRYPTO_ALT
>  #define MBEDTLS_SHA256_ALT
>  #endif
> +#if CONFIG_IS_ENABLED(SHA256_SMALLER)
> +#define MBEDTLS_SHA256_SMALLER
> +#endif
>  #endif
>
>  #if CONFIG_IS_ENABLED(SHA384)
> @@ -48,6 +51,9 @@
>  #if defined CONFIG_MBEDTLS_LIB_CRYPTO_ALT
>  #define MBEDTLS_SHA512_ALT
>  #endif
> +#if CONFIG_IS_ENABLED(SHA512_SMALLER)
> +#define MBEDTLS_SHA512_SMALLER
> +#endif
>  #endif
>
>  #if defined CONFIG_MBEDTLS_LIB_X509
> --
> 2.25.1
>

Reviewed-by: Ilias Apalodimas <ilias.apalodimas at linaro.org>


More information about the U-Boot mailing list