From 631b491cbf7de025d4a0c670789ab8b5e42f4e8d Mon Sep 17 00:00:00 2001 From: Minos Galanakis Date: Mon, 7 Nov 2022 15:53:23 +0000 Subject: [PATCH] bignum_tests: Added test for `mbedtls_mpi_mod_raw_to_mont_rep()` Signed-off-by: Minos Galanakis --- .../suites/test_suite_bignum_mod_raw.function | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/tests/suites/test_suite_bignum_mod_raw.function b/tests/suites/test_suite_bignum_mod_raw.function index 4b906751f2..026b49d13c 100644 --- a/tests/suites/test_suite_bignum_mod_raw.function +++ b/tests/suites/test_suite_bignum_mod_raw.function @@ -294,7 +294,43 @@ exit: /* END MERGE SLOT 6 */ /* BEGIN MERGE SLOT 7 */ +/* BEGIN_CASE */ +void mpi_mod_raw_to_mont_rep( char * input_N, char * input_A, char * input_X ) +{ + mbedtls_mpi N, A, X; + mbedtls_mpi_mod_modulus m; + mbedtls_mpi_init( &N ); + mbedtls_mpi_init( &A ); + mbedtls_mpi_init( &X ); + + /* Read inputs */ + TEST_EQUAL( 0, mbedtls_test_read_mpi( &N, input_N ) ); + TEST_EQUAL( 0, mbedtls_test_read_mpi( &A, input_A ) ); + TEST_EQUAL( 0, mbedtls_test_read_mpi( &X, input_X ) ); + + /* All of the inputs are +ve (or zero) */ + TEST_EQUAL( 1, X.s ); + TEST_EQUAL( 1, A.s ); + + mbedtls_mpi_mod_modulus_init( &m ); + TEST_EQUAL( 0, mbedtls_mpi_mod_modulus_setup( &m, N.p, N.n, MBEDTLS_MPI_MOD_EXT_REP_BE, MBEDTLS_MPI_MOD_REP_MONTGOMERY ) ); + + TEST_EQUAL(0, mbedtls_mpi_mod_raw_to_mont_rep( A.p ,&m ) ); + + /* Calculated matches expected value */ + TEST_ASSERT( mbedtls_mpi_cmp_mpi( &A, &X ) == 0 ); + + /* Output is +ve (or zero) */ + TEST_EQUAL( 1, A.s ); + +exit: + mbedtls_mpi_mod_modulus_free( &m ); + mbedtls_mpi_free( &N ); + mbedtls_mpi_free( &A ); + mbedtls_mpi_free( &X ); +} +/* END_CASE */ /* END MERGE SLOT 7 */ /* BEGIN MERGE SLOT 8 */