Rewrite tests for cond_assign/swap
The cond_swap and cond_assign test functions now requires the same limb size
for the MPI parameters.
Signed-off-by: Gabor Mezei <gabor.mezei@arm.com>
diff --git a/tests/suites/test_suite_mpi.function b/tests/suites/test_suite_mpi.function
index cf22e37..a74136b 100644
--- a/tests/suites/test_suite_mpi.function
+++ b/tests/suites/test_suite_mpi.function
@@ -767,53 +767,49 @@
void mpi_core_cond_assign( data_t * input_X,
data_t * input_Y )
{
- #define MAX_LEN 64
mbedtls_mpi_uint *X = NULL;
mbedtls_mpi_uint *Y = NULL;
size_t limbs_X = CHARS_TO_LIMBS( input_X->len );
size_t limbs_Y = CHARS_TO_LIMBS( input_Y->len );
- size_t len_X = limbs_X * sizeof( mbedtls_mpi_uint );
- size_t len_Y = limbs_Y * sizeof( mbedtls_mpi_uint );
+ size_t limbs = limbs_X;
+ size_t len = limbs * sizeof( mbedtls_mpi_uint );
- TEST_ASSERT( limbs_X <= MAX_LEN );
- TEST_ASSERT( limbs_Y <= MAX_LEN );
+ TEST_ASSERT( limbs_X == limbs_Y );
- ASSERT_ALLOC( X, len_X );
- ASSERT_ALLOC( Y, len_Y );
+ ASSERT_ALLOC( X, len );
+ ASSERT_ALLOC( Y, len );
- TEST_ASSERT( mbedtls_mpi_core_read_be( X, limbs_X, input_X->x, input_X->len )
+ TEST_ASSERT( mbedtls_mpi_core_read_be( X, limbs, input_X->x, input_X->len )
== 0 );
- TEST_ASSERT( mbedtls_mpi_core_read_be( Y, limbs_Y, input_Y->x, input_Y->len )
+ TEST_ASSERT( mbedtls_mpi_core_read_be( Y, limbs, input_Y->x, input_Y->len )
== 0 );
/* condition is false */
- TEST_CF_SECRET( X, len_X );
- TEST_CF_SECRET( Y, len_Y );
+ TEST_CF_SECRET( X, len );
+ TEST_CF_SECRET( Y, len );
- mbedtls_mpi_core_cond_assign( X, Y, limbs_Y, 0 );
+ mbedtls_mpi_core_cond_assign( X, Y, limbs, 0 );
- TEST_CF_PUBLIC( X, len_X );
- TEST_CF_PUBLIC( Y, len_Y );
+ TEST_CF_PUBLIC( X, len );
+ TEST_CF_PUBLIC( Y, len );
- TEST_ASSERT( memcmp( X, Y, MIN( len_X, len_Y ) ) != 0 );
+ TEST_ASSERT( memcmp( X, Y, len ) != 0 );
/* condition is true */
- TEST_CF_SECRET( X, len_X );
- TEST_CF_SECRET( Y, len_Y );
+ TEST_CF_SECRET( X, len );
+ TEST_CF_SECRET( Y, len );
- mbedtls_mpi_core_cond_assign( X, Y, limbs_Y, 1 );
+ mbedtls_mpi_core_cond_assign( X, Y, limbs, 1 );
- TEST_CF_PUBLIC( X, len_X );
- TEST_CF_PUBLIC( Y, len_Y );
+ TEST_CF_PUBLIC( X, len );
+ TEST_CF_PUBLIC( Y, len );
- ASSERT_COMPARE( X, len_Y, Y, len_Y );
+ ASSERT_COMPARE( X, len, Y, len );
exit:
mbedtls_free( X );
mbedtls_free( Y );
-
- #undef MAX_LEN
}
/* END_CASE */
@@ -821,65 +817,61 @@
void mpi_core_cond_swap( data_t * input_X,
data_t * input_Y )
{
- #define MAX_LEN 64
mbedtls_mpi_uint *tmp_X = NULL;
mbedtls_mpi_uint *tmp_Y = NULL;
mbedtls_mpi_uint *X = NULL;
mbedtls_mpi_uint *Y = NULL;
size_t limbs_X = CHARS_TO_LIMBS( input_X->len );
size_t limbs_Y = CHARS_TO_LIMBS( input_Y->len );
- size_t len_X = limbs_X * sizeof( mbedtls_mpi_uint );
- size_t len_Y = limbs_Y * sizeof( mbedtls_mpi_uint );
+ size_t limbs = limbs_X;
+ size_t len = limbs * sizeof( mbedtls_mpi_uint );
- TEST_ASSERT( limbs_X <= MAX_LEN );
- TEST_ASSERT( limbs_Y <= MAX_LEN );
+ TEST_ASSERT( limbs_X == limbs_Y );
- ASSERT_ALLOC( tmp_X, len_X );
- ASSERT_ALLOC( tmp_Y, len_Y );
+ ASSERT_ALLOC( tmp_X, len );
+ ASSERT_ALLOC( tmp_Y, len );
- TEST_ASSERT( mbedtls_mpi_core_read_be( tmp_X, limbs_X,
+ TEST_ASSERT( mbedtls_mpi_core_read_be( tmp_X, limbs,
input_X->x, input_X->len )
== 0 );
- ASSERT_ALLOC( X, len_X );
- memcpy( X, tmp_X, len_X );
+ ASSERT_ALLOC( X, len );
+ memcpy( X, tmp_X, len );
- TEST_ASSERT( mbedtls_mpi_core_read_be( tmp_Y, limbs_Y,
+ TEST_ASSERT( mbedtls_mpi_core_read_be( tmp_Y, limbs,
input_Y->x, input_Y->len )
== 0 );
- ASSERT_ALLOC( Y, len_Y );
- memcpy( Y, tmp_Y, len_Y );
+ ASSERT_ALLOC( Y, len );
+ memcpy( Y, tmp_Y, len );
/* condition is false */
- TEST_CF_SECRET( X, len_X );
- TEST_CF_SECRET( Y, len_Y );
+ TEST_CF_SECRET( X, len );
+ TEST_CF_SECRET( Y, len );
- mbedtls_mpi_core_cond_swap( X, Y, limbs_X, 0 );
+ mbedtls_mpi_core_cond_swap( X, Y, limbs, 0 );
- TEST_CF_PUBLIC( X, len_X );
- TEST_CF_PUBLIC( Y, len_Y );
+ TEST_CF_PUBLIC( X, len );
+ TEST_CF_PUBLIC( Y, len );
- ASSERT_COMPARE( X, len_X, tmp_X, len_X );
- ASSERT_COMPARE( Y, len_Y, tmp_Y, len_Y );
+ ASSERT_COMPARE( X, len, tmp_X, len );
+ ASSERT_COMPARE( Y, len, tmp_Y, len );
/* condition is true */
- TEST_CF_SECRET( X, len_X );
- TEST_CF_SECRET( Y, len_Y );
+ TEST_CF_SECRET( X, len );
+ TEST_CF_SECRET( Y, len );
- mbedtls_mpi_core_cond_swap( X, Y, limbs_X, 1 );
+ mbedtls_mpi_core_cond_swap( X, Y, limbs, 1 );
- TEST_CF_PUBLIC( X, len_X );
- TEST_CF_PUBLIC( Y, len_Y );
+ TEST_CF_PUBLIC( X, len );
+ TEST_CF_PUBLIC( Y, len );
- ASSERT_COMPARE( X, len_Y, tmp_Y, len_Y );
- ASSERT_COMPARE( Y, len_X, tmp_X, len_X );
+ ASSERT_COMPARE( X, len, tmp_Y, len );
+ ASSERT_COMPARE( Y, len, tmp_X, len );
exit:
mbedtls_free( tmp_X );
mbedtls_free( tmp_Y );
mbedtls_free( X );
mbedtls_free( Y );
-
- #undef MAX_LEN
}
/* END_CASE */
@@ -894,54 +886,52 @@
mbedtls_mpi_mod_modulus m;
size_t limbs_X = CHARS_TO_LIMBS( input_X->len );
size_t limbs_Y = CHARS_TO_LIMBS( input_Y->len );
- size_t len_X = limbs_X * sizeof( mbedtls_mpi_uint );
- size_t len_Y = limbs_Y * sizeof( mbedtls_mpi_uint );
- size_t len_m = len_Y;
+ size_t limbs = limbs_X;
+ size_t len = limbs * sizeof( mbedtls_mpi_uint );
- TEST_ASSERT( limbs_X <= MAX_LEN );
- TEST_ASSERT( limbs_Y <= MAX_LEN );
+ TEST_ASSERT( limbs_X == limbs_Y );
- ASSERT_ALLOC( X, len_X );
- ASSERT_ALLOC( Y, len_Y );
+ ASSERT_ALLOC( X, len );
+ ASSERT_ALLOC( Y, len );
- ASSERT_ALLOC( buff_m, len_m );
- memset( buff_m, 0, len_m );
+ ASSERT_ALLOC( buff_m, len );
+ memset( buff_m, 0, len );
mbedtls_mpi_mod_modulus_init( &m );
TEST_ASSERT( mbedtls_mpi_mod_modulus_setup(
- &m, buff_m, limbs_Y,
+ &m, buff_m, limbs,
MBEDTLS_MPI_MOD_EXT_REP_BE,
MBEDTLS_MPI_MOD_REP_MONTGOMERY )
== 0 );
- TEST_ASSERT( mbedtls_mpi_core_read_be( X, limbs_X,
+ TEST_ASSERT( mbedtls_mpi_core_read_be( X, limbs,
input_X->x, input_X->len )
== 0 );
- TEST_ASSERT( mbedtls_mpi_core_read_be( Y, limbs_Y,
+ TEST_ASSERT( mbedtls_mpi_core_read_be( Y, limbs,
input_Y->x, input_Y->len )
== 0 );
/* condition is false */
- TEST_CF_SECRET( X, len_X );
- TEST_CF_SECRET( Y, len_Y );
+ TEST_CF_SECRET( X, len );
+ TEST_CF_SECRET( Y, len );
mbedtls_mpi_mod_raw_cond_assign( X, Y, &m, 0 );
- TEST_CF_PUBLIC( X, len_X );
- TEST_CF_PUBLIC( Y, len_Y );
+ TEST_CF_PUBLIC( X, len );
+ TEST_CF_PUBLIC( Y, len );
TEST_ASSERT( memcmp( X, Y, m.limbs * sizeof( mbedtls_mpi_uint ) ) != 0 );
/* condition is true */
- TEST_CF_SECRET( X, len_X );
- TEST_CF_SECRET( Y, len_Y );
+ TEST_CF_SECRET( X, len );
+ TEST_CF_SECRET( Y, len );
mbedtls_mpi_mod_raw_cond_assign( X, Y, &m, 1 );
- TEST_CF_PUBLIC( X, len_X );
- TEST_CF_PUBLIC( Y, len_Y );
+ TEST_CF_PUBLIC( X, len );
+ TEST_CF_PUBLIC( Y, len );
- ASSERT_COMPARE( X, len_Y, Y, len_Y );
+ ASSERT_COMPARE( X, len, Y, len );
exit:
mbedtls_free( X );
@@ -949,8 +939,6 @@
mbedtls_mpi_mod_modulus_free( &m );
mbedtls_free( buff_m );
-
- #undef MAX_LEN
}
/* END_CASE */
@@ -958,7 +946,6 @@
void mpi_mod_raw_cond_swap( data_t * input_X,
data_t * input_Y )
{
- #define MAX_LEN 64
mbedtls_mpi_uint *tmp_X = NULL;
mbedtls_mpi_uint *tmp_Y = NULL;
mbedtls_mpi_uint *X = NULL;
@@ -967,58 +954,56 @@
mbedtls_mpi_mod_modulus m;
size_t limbs_X = CHARS_TO_LIMBS( input_X->len );
size_t limbs_Y = CHARS_TO_LIMBS( input_Y->len );
- size_t len_X = limbs_X * sizeof( mbedtls_mpi_uint );
- size_t len_Y = limbs_Y * sizeof( mbedtls_mpi_uint );
- size_t len_m = len_X;
+ size_t limbs = limbs_X;
+ size_t len = limbs * sizeof( mbedtls_mpi_uint );
- TEST_ASSERT( limbs_X <= MAX_LEN );
- TEST_ASSERT( limbs_Y <= MAX_LEN );
+ TEST_ASSERT( limbs_X == limbs_Y );
- ASSERT_ALLOC( tmp_X, len_X );
- ASSERT_ALLOC( tmp_Y, len_Y );
+ ASSERT_ALLOC( tmp_X, len );
+ ASSERT_ALLOC( tmp_Y, len );
- ASSERT_ALLOC( buff_m, len_m );
- memset( buff_m, 0, len_m );
+ ASSERT_ALLOC( buff_m, len );
+ memset( buff_m, 0, len );
mbedtls_mpi_mod_modulus_init( &m );
TEST_ASSERT( mbedtls_mpi_mod_modulus_setup(
- &m, buff_m, limbs_X,
+ &m, buff_m, limbs,
MBEDTLS_MPI_MOD_EXT_REP_BE,
MBEDTLS_MPI_MOD_REP_MONTGOMERY )
== 0 );
- TEST_ASSERT( mbedtls_mpi_core_read_be( tmp_X, limbs_X, input_X->x, input_X->len )
+ TEST_ASSERT( mbedtls_mpi_core_read_be( tmp_X, limbs, input_X->x, input_X->len )
== 0 );
- ASSERT_ALLOC( X, len_X );
- memcpy( X, tmp_X, len_X );
+ ASSERT_ALLOC( X, len );
+ memcpy( X, tmp_X, len );
- TEST_ASSERT( mbedtls_mpi_core_read_be( tmp_Y, limbs_Y, input_Y->x, input_Y->len )
+ TEST_ASSERT( mbedtls_mpi_core_read_be( tmp_Y, limbs, input_Y->x, input_Y->len )
== 0 );
- ASSERT_ALLOC( Y, len_Y );
- memcpy( Y, tmp_Y, len_Y );
+ ASSERT_ALLOC( Y, len );
+ memcpy( Y, tmp_Y, len );
/* condition is false */
- TEST_CF_SECRET( X, len_X );
- TEST_CF_SECRET( Y, len_Y );
+ TEST_CF_SECRET( X, len );
+ TEST_CF_SECRET( Y, len );
mbedtls_mpi_mod_raw_cond_swap( X, Y, &m, 0 );
- TEST_CF_PUBLIC( X, len_X );
- TEST_CF_PUBLIC( Y, len_Y );
+ TEST_CF_PUBLIC( X, len );
+ TEST_CF_PUBLIC( Y, len );
- ASSERT_COMPARE( X, len_X, tmp_X, len_X );
- ASSERT_COMPARE( Y, len_Y, tmp_Y, len_Y );
+ ASSERT_COMPARE( X, len, tmp_X, len );
+ ASSERT_COMPARE( Y, len, tmp_Y, len );
/* condition is true */
- TEST_CF_SECRET( X, len_X );
- TEST_CF_SECRET( Y, len_Y );
+ TEST_CF_SECRET( X, len );
+ TEST_CF_SECRET( Y, len );
mbedtls_mpi_mod_raw_cond_swap( X, Y, &m, 1 );
- TEST_CF_PUBLIC( X, len_X );
- TEST_CF_PUBLIC( Y, len_Y );
+ TEST_CF_PUBLIC( X, len );
+ TEST_CF_PUBLIC( Y, len );
- ASSERT_COMPARE( X, len_m, tmp_Y, len_Y );
- ASSERT_COMPARE( Y, len_m, tmp_X, len_X );
+ ASSERT_COMPARE( X, len, tmp_Y, len );
+ ASSERT_COMPARE( Y, len, tmp_X, len );
exit:
mbedtls_free( tmp_X );
@@ -1028,8 +1013,6 @@
mbedtls_mpi_mod_modulus_free( &m );
mbedtls_free( buff_m );
-
- #undef MAX_LEN
}
/* END_CASE */