mbedtls/tests/scripts
Manuel Pégourié-Gonnard 047986c2f8 Add support for RESTARTABLE with internal RNG
Currently we draw pseudo-random numbers at the beginning and end of the main
loop. With ECP_RESTARTABLE, it's possible that between those two occasions we
returned from the multiplication function, hence lost our internal DRBG
context that lives in this function's stack frame. This would result in the
same pseudo-random numbers being used for blinding in multiple places. While
it's not immediately clear that this would give rise to an attack, it's also
absolutely not clear that it doesn't. So let's avoid that by using a DRBG
context that lives inside the restart context and persists across
return/resume cycles. That way the RESTARTABLE case uses exactly the
same pseudo-random numbers as the non-restartable case.

Testing and compile-time options:

- The case ECP_RESTARTABLE && !ECP_NO_INTERNAL_RNG is already tested by
  component_test_no_use_psa_crypto_full_cmake_asan.
- The case ECP_RESTARTABLE && ECP_NO_INTERNAL_RNG didn't have a pre-existing
  test so a component is added.

Testing and runtime options: when ECP_RESTARTABLE is enabled, the test suites
already contain cases where restart happens and cases where it doesn't
(because the operation is short enough or because restart is disabled (NULL
restart context)).

Signed-off-by: Manuel Pégourié-Gonnard <manuel.pegourie-gonnard@arm.com>
2020-06-16 10:52:32 +02:00
..
all.sh Add support for RESTARTABLE with internal RNG 2020-06-16 10:52:32 +02:00
basic-build-test.sh Enable branch coverage in basic_build_test.sh 2020-06-04 16:31:59 +01:00
check-doxy-blocks.pl
check-files.py Finish the documentation of normalize_path 2020-05-28 18:31:39 +02:00
check-generated-files.sh Add gen_query_config.pl to check-gen-files and bump_version 2019-02-07 10:32:31 +00:00
check-names.sh Document "check-names.sh -v" 2019-05-22 19:07:36 +02:00
check-python-files.sh Make sure to use a Python 3 pylint 2020-04-11 20:38:21 +02:00
curves.pl
depends-hashes.pl
depends-pkalgs.pl
doxygen.sh
gen_ctr_drbg.pl
gen_gcm_decrypt.pl
gen_gcm_encrypt.pl
gen_pkcs1_v21_sign_verify.pl
generate_test_code.py Pylint: minor code simplifications 2020-04-11 20:51:08 +02:00
generate-afl-tests.sh
key-exchanges.pl
list-enum-consts.pl
list-identifiers.sh Document the scripts behaviour further 2019-04-18 13:18:22 +01:00
list-macros.sh
list-symbols.sh test: Always use make clean by itself 2019-05-31 17:49:25 +01:00
mbedtls_test.py Pylint: minor code simplifications 2020-04-11 20:51:08 +02:00
recursion.pl
run-test-suites.pl 'make test' must fail if Asan fails 2019-10-21 20:48:05 +02:00
tcp_client.pl
test_generate_test_code.py Pylint: minor code simplifications 2020-04-11 20:51:08 +02:00
test_zeroize.gdb Remove hardcoded line number from the zeroize test 2020-06-10 11:13:41 +02:00
test-ref-configs.pl
travis-log-failure.sh