From 2b0003a13408478844e19263e71eb9117ba39f10 Mon Sep 17 00:00:00 2001 From: Valerio Setti Date: Wed, 12 Aug 2026 15:18:26 +0200 Subject: [PATCH 1/4] scripts: libtestdriver1_rewrite.pl: fix tf-psa-crypto private headers path Generated tf-psa-crypto private includes path in 'crypto_builtin_primitives.h' were wrong. For example the output for 'blake2.h' was: "libtestdriver1/tf-psa-crypto/include/tf-psa-crypto/private/blake2.h" whereas it should have been "libtestdriver1/tf-psa-crypto/drivers/builtin/include/tf-psa-crypto/private/blake2.h" Signed-off-by: Valerio Setti --- tests/scripts/libtestdriver1_rewrite.pl | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/tests/scripts/libtestdriver1_rewrite.pl b/tests/scripts/libtestdriver1_rewrite.pl index 36143b0caf..1fe5bc2d0f 100755 --- a/tests/scripts/libtestdriver1_rewrite.pl +++ b/tests/scripts/libtestdriver1_rewrite.pl @@ -19,6 +19,10 @@ my @private_files = map { basename($_) } glob("../tf-psa-crypto/include/mbedtls/ my $private_files_regex = join('|', map { quotemeta($_) } @private_files); +my @private_builtin_tf_psa_crypto_files = map { basename($_) } glob("../tf-psa-crypto/drivers/builtin/include/tf-psa-crypto/private/*.h"); + +my $private_builtin_tf_psa_crypto_files_regex = join('|', map { quotemeta($_) } @private_builtin_tf_psa_crypto_files); + while (<>) { s!^(\s*#\s*include\s*[\"<])mbedtls/build_info.h!${1}libtestdriver1/include/mbedtls/build_info.h!; s!^(\s*#\s*include\s*[\"<])mbedtls/mbedtls_config.h!${1}libtestdriver1/include/mbedtls/mbedtls_config.h!; @@ -37,6 +41,13 @@ while (<>) { } s!^(\s*#\s*include\s*[\"<])mbedtls/!${1}libtestdriver1/tf-psa-crypto/drivers/builtin/include/mbedtls/!; s!^(\s*#\s*include\s*[\"<])psa/!${1}libtestdriver1/tf-psa-crypto/include/psa/!; + # Files in tf-psa-crypto/include/tf-psa-crypto/private and + # drivers/builtin/include/tf-psa-crypto/private are both included via + # #include tf-psa-crypto/private/.h, so make sure builtin driver + # headers (e.g. blake2.h) are not expanded to the public include path. + if ( $private_builtin_tf_psa_crypto_files_regex ) { + s!^(\s*#\s*include\s*[\"<])tf-psa-crypto/private/($private_builtin_tf_psa_crypto_files_regex)!${1}libtestdriver1/tf-psa-crypto/drivers/builtin/include/tf-psa-crypto/private/${2}!; + } s!^(\s*#\s*include\s*[\"<])tf-psa-crypto/!${1}libtestdriver1/tf-psa-crypto/include/tf-psa-crypto/!; if (/^\s*#\s*include/) { print; From 2f4b6f3bb9cca06e49051dec642a17045c2ba5cc Mon Sep 17 00:00:00 2001 From: Valerio Setti Date: Thu, 13 Aug 2026 16:11:37 +0200 Subject: [PATCH 2/4] tests: configuration-crypto: accelerate Blake2 on tests accelerating EC Signed-off-by: Valerio Setti --- .../components-configuration-crypto.sh | 27 ++++++++++++------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/tests/scripts/components-configuration-crypto.sh b/tests/scripts/components-configuration-crypto.sh index c79467f10e..51ff9f834d 100644 --- a/tests/scripts/components-configuration-crypto.sh +++ b/tests/scripts/components-configuration-crypto.sh @@ -594,7 +594,8 @@ component_test_psa_crypto_config_accel_ecdsa () { # These hashes are needed for some ECDSA signature tests. loc_extra_list="ALG_SHA_1 ALG_SHA_224 ALG_SHA_256 ALG_SHA_384 ALG_SHA_512 \ - ALG_SHA3_224 ALG_SHA3_256 ALG_SHA3_384 ALG_SHA3_512" + ALG_SHA3_224 ALG_SHA3_256 ALG_SHA3_384 ALG_SHA3_512 \ + ALG_BLAKE2S_HASH256 ALG_BLAKE2B_HASH512" helper_libtestdriver1_make_drivers "$loc_accel_list" "$loc_extra_list" @@ -745,7 +746,8 @@ component_test_psa_crypto_config_accel_ecc_some_key_types () { # These hashes are needed for some ECDSA signature tests. loc_extra_list="ALG_SHA_1 ALG_SHA_224 ALG_SHA_256 ALG_SHA_384 ALG_SHA_512 \ - ALG_SHA3_224 ALG_SHA3_256 ALG_SHA3_384 ALG_SHA3_512" + ALG_SHA3_224 ALG_SHA3_256 ALG_SHA3_384 ALG_SHA3_512 \ + ALG_BLAKE2S_HASH256 ALG_BLAKE2B_HASH512" helper_libtestdriver1_make_drivers "$loc_accel_list" "$loc_extra_list" helper_libtestdriver1_make_main "$loc_accel_list" @@ -833,7 +835,8 @@ common_test_psa_crypto_config_accel_ecc_some_curves () { # These hashes are needed for some ECDSA signature tests. loc_extra_list="ALG_SHA_1 ALG_SHA_224 ALG_SHA_256 ALG_SHA_384 ALG_SHA_512 \ - ALG_SHA3_224 ALG_SHA3_256 ALG_SHA3_384 ALG_SHA3_512" + ALG_SHA3_224 ALG_SHA3_256 ALG_SHA3_384 ALG_SHA3_512 \ + ALG_BLAKE2S_HASH256 ALG_BLAKE2B_HASH512" helper_libtestdriver1_make_drivers "$loc_accel_list" "$loc_extra_list" # For grep to work below we need less inlining in ecp.c @@ -908,7 +911,8 @@ component_test_psa_crypto_config_accel_ecc_ecp_light_only () { # These hashes are needed for some ECDSA signature tests. loc_extra_list="ALG_SHA_1 ALG_SHA_224 ALG_SHA_256 ALG_SHA_384 ALG_SHA_512 \ - ALG_SHA3_224 ALG_SHA3_256 ALG_SHA3_384 ALG_SHA3_512" + ALG_SHA3_224 ALG_SHA3_256 ALG_SHA3_384 ALG_SHA3_512 \ + ALG_BLAKE2S_HASH256 ALG_BLAKE2B_HASH512" helper_libtestdriver1_make_drivers "$loc_accel_list" "$loc_extra_list" helper_libtestdriver1_make_main "$loc_accel_list" @@ -964,7 +968,8 @@ component_test_psa_crypto_config_accel_ecc_no_ecp_at_all () { # Things we wanted supported in libtestdriver1, but not accelerated in the main library: # SHA-1 and all SHA-2/3 variants, as they are used by ECDSA deterministic. loc_extra_list="ALG_SHA_1 ALG_SHA_224 ALG_SHA_256 ALG_SHA_384 ALG_SHA_512 \ - ALG_SHA3_224 ALG_SHA3_256 ALG_SHA3_384 ALG_SHA3_512" + ALG_SHA3_224 ALG_SHA3_256 ALG_SHA3_384 ALG_SHA3_512 \ + ALG_BLAKE2S_HASH256 ALG_BLAKE2B_HASH512" helper_libtestdriver1_make_drivers "$loc_accel_list" "$loc_extra_list" @@ -1060,7 +1065,8 @@ common_test_psa_crypto_config_accel_ecc_ffdh_no_bignum () { # Things we wanted supported in libtestdriver1, but not accelerated in the main library: # SHA-1 and all SHA-2/3 variants, as they are used by ECDSA deterministic. loc_extra_list="ALG_SHA_1 ALG_SHA_224 ALG_SHA_256 ALG_SHA_384 ALG_SHA_512 \ - ALG_SHA3_224 ALG_SHA3_256 ALG_SHA3_384 ALG_SHA3_512" + ALG_SHA3_224 ALG_SHA3_256 ALG_SHA3_384 ALG_SHA3_512 \ + ALG_BLAKE2S_HASH256 ALG_BLAKE2B_HASH512" helper_libtestdriver1_make_drivers "$loc_accel_list" "$loc_extra_list" @@ -1247,7 +1253,8 @@ component_test_psa_crypto_config_accel_rsa_crypto () { # These hashes are needed for unit tests. loc_extra_list="ALG_SHA_1 ALG_SHA_224 ALG_SHA_256 ALG_SHA_384 ALG_SHA_512 \ - ALG_SHA3_224 ALG_SHA3_256 ALG_SHA3_384 ALG_SHA3_512 ALG_MD5" + ALG_SHA3_224 ALG_SHA3_256 ALG_SHA3_384 ALG_SHA3_512 ALG_MD5 \ + ALG_BLAKE2S_HASH256 ALG_BLAKE2B_HASH512" helper_libtestdriver1_make_drivers "$loc_accel_list" "$loc_extra_list" helper_libtestdriver1_make_main "$loc_accel_list" @@ -1310,7 +1317,8 @@ component_test_psa_crypto_config_accel_hash () { loc_accel_list="ALG_MD5 ALG_RIPEMD160 ALG_SHA_1 \ ALG_SHA_224 ALG_SHA_256 ALG_SHA_384 ALG_SHA_512 \ - ALG_SHA3_224 ALG_SHA3_256 ALG_SHA3_384 ALG_SHA3_512" + ALG_SHA3_224 ALG_SHA3_256 ALG_SHA3_384 ALG_SHA3_512 \ + ALG_BLAKE2S_HASH256 ALG_BLAKE2B_HASH512" # Configure # --------- @@ -1373,7 +1381,8 @@ component_test_psa_crypto_config_accel_hmac () { loc_accel_list="ALG_HMAC KEY_TYPE_HMAC \ ALG_MD5 ALG_RIPEMD160 ALG_SHA_1 \ ALG_SHA_224 ALG_SHA_256 ALG_SHA_384 ALG_SHA_512 \ - ALG_SHA3_224 ALG_SHA3_256 ALG_SHA3_384 ALG_SHA3_512" + ALG_SHA3_224 ALG_SHA3_256 ALG_SHA3_384 ALG_SHA3_512 \ + ALG_BLAKE2S_HASH256 ALG_BLAKE2B_HASH512" # Configure # --------- From 9b0370e949602e8f125adf7fa171856f13166ed9 Mon Sep 17 00:00:00 2001 From: Valerio Setti Date: Wed, 9 Sep 2026 13:25:20 +0200 Subject: [PATCH 3/4] configuration-crypto: add ALG_SM3 to the components accelerating hash algs Signed-off-by: Valerio Setti --- .../scripts/components-configuration-crypto.sh | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/tests/scripts/components-configuration-crypto.sh b/tests/scripts/components-configuration-crypto.sh index 51ff9f834d..daee313002 100644 --- a/tests/scripts/components-configuration-crypto.sh +++ b/tests/scripts/components-configuration-crypto.sh @@ -595,7 +595,7 @@ component_test_psa_crypto_config_accel_ecdsa () { # These hashes are needed for some ECDSA signature tests. loc_extra_list="ALG_SHA_1 ALG_SHA_224 ALG_SHA_256 ALG_SHA_384 ALG_SHA_512 \ ALG_SHA3_224 ALG_SHA3_256 ALG_SHA3_384 ALG_SHA3_512 \ - ALG_BLAKE2S_HASH256 ALG_BLAKE2B_HASH512" + ALG_BLAKE2S_HASH256 ALG_BLAKE2B_HASH512 ALG_SM3" helper_libtestdriver1_make_drivers "$loc_accel_list" "$loc_extra_list" @@ -747,7 +747,7 @@ component_test_psa_crypto_config_accel_ecc_some_key_types () { # These hashes are needed for some ECDSA signature tests. loc_extra_list="ALG_SHA_1 ALG_SHA_224 ALG_SHA_256 ALG_SHA_384 ALG_SHA_512 \ ALG_SHA3_224 ALG_SHA3_256 ALG_SHA3_384 ALG_SHA3_512 \ - ALG_BLAKE2S_HASH256 ALG_BLAKE2B_HASH512" + ALG_BLAKE2S_HASH256 ALG_BLAKE2B_HASH512 ALG_SM3" helper_libtestdriver1_make_drivers "$loc_accel_list" "$loc_extra_list" helper_libtestdriver1_make_main "$loc_accel_list" @@ -836,7 +836,7 @@ common_test_psa_crypto_config_accel_ecc_some_curves () { # These hashes are needed for some ECDSA signature tests. loc_extra_list="ALG_SHA_1 ALG_SHA_224 ALG_SHA_256 ALG_SHA_384 ALG_SHA_512 \ ALG_SHA3_224 ALG_SHA3_256 ALG_SHA3_384 ALG_SHA3_512 \ - ALG_BLAKE2S_HASH256 ALG_BLAKE2B_HASH512" + ALG_BLAKE2S_HASH256 ALG_BLAKE2B_HASH512 ALG_SM3" helper_libtestdriver1_make_drivers "$loc_accel_list" "$loc_extra_list" # For grep to work below we need less inlining in ecp.c @@ -912,7 +912,7 @@ component_test_psa_crypto_config_accel_ecc_ecp_light_only () { # These hashes are needed for some ECDSA signature tests. loc_extra_list="ALG_SHA_1 ALG_SHA_224 ALG_SHA_256 ALG_SHA_384 ALG_SHA_512 \ ALG_SHA3_224 ALG_SHA3_256 ALG_SHA3_384 ALG_SHA3_512 \ - ALG_BLAKE2S_HASH256 ALG_BLAKE2B_HASH512" + ALG_BLAKE2S_HASH256 ALG_BLAKE2B_HASH512 ALG_SM3" helper_libtestdriver1_make_drivers "$loc_accel_list" "$loc_extra_list" helper_libtestdriver1_make_main "$loc_accel_list" @@ -969,7 +969,7 @@ component_test_psa_crypto_config_accel_ecc_no_ecp_at_all () { # SHA-1 and all SHA-2/3 variants, as they are used by ECDSA deterministic. loc_extra_list="ALG_SHA_1 ALG_SHA_224 ALG_SHA_256 ALG_SHA_384 ALG_SHA_512 \ ALG_SHA3_224 ALG_SHA3_256 ALG_SHA3_384 ALG_SHA3_512 \ - ALG_BLAKE2S_HASH256 ALG_BLAKE2B_HASH512" + ALG_BLAKE2S_HASH256 ALG_BLAKE2B_HASH512 ALG_SM3" helper_libtestdriver1_make_drivers "$loc_accel_list" "$loc_extra_list" @@ -1066,7 +1066,7 @@ common_test_psa_crypto_config_accel_ecc_ffdh_no_bignum () { # SHA-1 and all SHA-2/3 variants, as they are used by ECDSA deterministic. loc_extra_list="ALG_SHA_1 ALG_SHA_224 ALG_SHA_256 ALG_SHA_384 ALG_SHA_512 \ ALG_SHA3_224 ALG_SHA3_256 ALG_SHA3_384 ALG_SHA3_512 \ - ALG_BLAKE2S_HASH256 ALG_BLAKE2B_HASH512" + ALG_BLAKE2S_HASH256 ALG_BLAKE2B_HASH512 ALG_SM3" helper_libtestdriver1_make_drivers "$loc_accel_list" "$loc_extra_list" @@ -1254,7 +1254,7 @@ component_test_psa_crypto_config_accel_rsa_crypto () { # These hashes are needed for unit tests. loc_extra_list="ALG_SHA_1 ALG_SHA_224 ALG_SHA_256 ALG_SHA_384 ALG_SHA_512 \ ALG_SHA3_224 ALG_SHA3_256 ALG_SHA3_384 ALG_SHA3_512 ALG_MD5 \ - ALG_BLAKE2S_HASH256 ALG_BLAKE2B_HASH512" + ALG_BLAKE2S_HASH256 ALG_BLAKE2B_HASH512 ALG_SM3" helper_libtestdriver1_make_drivers "$loc_accel_list" "$loc_extra_list" helper_libtestdriver1_make_main "$loc_accel_list" @@ -1318,7 +1318,7 @@ component_test_psa_crypto_config_accel_hash () { loc_accel_list="ALG_MD5 ALG_RIPEMD160 ALG_SHA_1 \ ALG_SHA_224 ALG_SHA_256 ALG_SHA_384 ALG_SHA_512 \ ALG_SHA3_224 ALG_SHA3_256 ALG_SHA3_384 ALG_SHA3_512 \ - ALG_BLAKE2S_HASH256 ALG_BLAKE2B_HASH512" + ALG_BLAKE2S_HASH256 ALG_BLAKE2B_HASH512 ALG_SM3" # Configure # --------- @@ -1382,7 +1382,7 @@ component_test_psa_crypto_config_accel_hmac () { ALG_MD5 ALG_RIPEMD160 ALG_SHA_1 \ ALG_SHA_224 ALG_SHA_256 ALG_SHA_384 ALG_SHA_512 \ ALG_SHA3_224 ALG_SHA3_256 ALG_SHA3_384 ALG_SHA3_512 \ - ALG_BLAKE2S_HASH256 ALG_BLAKE2B_HASH512" + ALG_BLAKE2S_HASH256 ALG_BLAKE2B_HASH512 ALG_SM3" # Configure # --------- From e24a562fc7b275ed773762248e52549a9ca9ef6e Mon Sep 17 00:00:00 2001 From: Valerio Setti Date: Wed, 12 Aug 2026 15:28:06 +0200 Subject: [PATCH 4/4] framework: update reference Signed-off-by: Valerio Setti --- framework | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/framework b/framework index 122857f784..7d726d145d 160000 --- a/framework +++ b/framework @@ -1 +1 @@ -Subproject commit 122857f784cc439d887f0b276fce798835f764d6 +Subproject commit 7d726d145d678aa7f5a7df3b9e7ee3dbce6ea1bf