From 9f42c0683c3d757ff5999201879c7e3c66c258ce Mon Sep 17 00:00:00 2001 From: Andrzej Kurek Date: Mon, 8 Aug 2022 03:49:10 -0400 Subject: [PATCH 1/2] Adjust hash dependencies in `test_suite_ecdsa` Only deterministic tests require SHA256 now. Signed-off-by: Andrzej Kurek --- tests/suites/test_suite_ecdsa.function | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/tests/suites/test_suite_ecdsa.function b/tests/suites/test_suite_ecdsa.function index 8f6f310b5..01eeb8e16 100644 --- a/tests/suites/test_suite_ecdsa.function +++ b/tests/suites/test_suite_ecdsa.function @@ -1,5 +1,10 @@ /* BEGIN_HEADER */ #include "mbedtls/ecdsa.h" +#include "legacy_or_psa.h" +#if ( defined(MBEDTLS_ECDSA_DETERMINISTIC) && defined(MBEDTLS_SHA256_C) ) || \ + ( !defined(MBEDTLS_ECDSA_DETERMINISTIC) && defined(MBEDTLS_HAS_ALG_SHA_256_VIA_LOWLEVEL_OR_PSA) ) +#define MBEDTLS_HAS_ALG_SHA_256_VIA_MD_IF_DETERMINISTIC +#endif /* END_HEADER */ /* BEGIN_DEPENDENCIES @@ -224,7 +229,7 @@ exit: } /* END_CASE */ -/* BEGIN_CASE depends_on:MBEDTLS_SHA256_C */ +/* BEGIN_CASE depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_IF_DETERMINISTIC */ void ecdsa_write_read_zero( int id ) { mbedtls_ecdsa_context ctx; @@ -284,7 +289,7 @@ exit: } /* END_CASE */ -/* BEGIN_CASE depends_on:MBEDTLS_SHA256_C */ +/* BEGIN_CASE depends_on:MBEDTLS_HAS_ALG_SHA_256_VIA_MD_IF_DETERMINISTIC */ void ecdsa_write_read_random( int id ) { mbedtls_ecdsa_context ctx; From 1af61cb75be88090c97597f61f1a6a53b64784d4 Mon Sep 17 00:00:00 2001 From: Andrzej Kurek Date: Thu, 11 Aug 2022 09:19:42 -0400 Subject: [PATCH 2/2] Introduce a new macro for hash size in ecdsa tests Previously these tests depended on the definition from inside the MD module, which in turn could be 32 or 64 bytes depending on whether MBEDTLS_SHA512_C was defined. This is unnecessary, so a constant is itnroduced instead. Signed-off-by: Andrzej Kurek --- tests/suites/test_suite_ecdsa.function | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tests/suites/test_suite_ecdsa.function b/tests/suites/test_suite_ecdsa.function index 01eeb8e16..a8b1e45a2 100644 --- a/tests/suites/test_suite_ecdsa.function +++ b/tests/suites/test_suite_ecdsa.function @@ -5,6 +5,7 @@ ( !defined(MBEDTLS_ECDSA_DETERMINISTIC) && defined(MBEDTLS_HAS_ALG_SHA_256_VIA_LOWLEVEL_OR_PSA) ) #define MBEDTLS_HAS_ALG_SHA_256_VIA_MD_IF_DETERMINISTIC #endif +#define MBEDTLS_TEST_HASH_MAX_SIZE 64 /* END_HEADER */ /* BEGIN_DEPENDENCIES @@ -19,7 +20,7 @@ void ecdsa_prim_zero( int id ) mbedtls_ecp_point Q; mbedtls_mpi d, r, s; mbedtls_test_rnd_pseudo_info rnd_info; - unsigned char buf[MBEDTLS_MD_MAX_SIZE]; + unsigned char buf[MBEDTLS_TEST_HASH_MAX_SIZE]; mbedtls_ecp_group_init( &grp ); mbedtls_ecp_point_init( &Q ); @@ -51,7 +52,7 @@ void ecdsa_prim_random( int id ) mbedtls_ecp_point Q; mbedtls_mpi d, r, s; mbedtls_test_rnd_pseudo_info rnd_info; - unsigned char buf[MBEDTLS_MD_MAX_SIZE]; + unsigned char buf[MBEDTLS_TEST_HASH_MAX_SIZE]; mbedtls_ecp_group_init( &grp ); mbedtls_ecp_point_init( &Q );