mirror of
https://github.com/cuberite/polarssl.git
synced 2025-09-30 00:46:22 -04:00
Change mpi_core_exp_mod() constant time testing to be clearer
Signed-off-by: Waleed Elmelegy <waleed.elmelegy@arm.com>
This commit is contained in:
parent
7b3024e791
commit
7ac7f82053
@ -1302,18 +1302,16 @@ void mpi_core_exp_mod(char *input_N, char *input_A,
|
|||||||
working_limbs);
|
working_limbs);
|
||||||
|
|
||||||
TEST_CALLOC(T, working_limbs);
|
TEST_CALLOC(T, working_limbs);
|
||||||
|
|
||||||
|
/* Temporary because MEMSAN doesn't support assembly implementation see #1243 */
|
||||||
#if !defined(MBEDTLS_TEST_CONSTANT_FLOW_MEMSAN)
|
#if !defined(MBEDTLS_TEST_CONSTANT_FLOW_MEMSAN)
|
||||||
TEST_CF_SECRET(A, A_limbs * sizeof(mbedtls_mpi_uint));
|
TEST_CF_SECRET(A, A_limbs * sizeof(mbedtls_mpi_uint));
|
||||||
TEST_CF_SECRET(N, N_limbs * sizeof(mbedtls_mpi_uint));
|
TEST_CF_SECRET(N, N_limbs * sizeof(mbedtls_mpi_uint));
|
||||||
TEST_CF_SECRET(E, E_limbs * sizeof(mbedtls_mpi_uint));
|
TEST_CF_SECRET(E, E_limbs * sizeof(mbedtls_mpi_uint));
|
||||||
#endif
|
#endif
|
||||||
mbedtls_mpi_core_exp_mod(Y, A, N, N_limbs, E, E_limbs, R2, T);
|
mbedtls_mpi_core_exp_mod(Y, A, N, N_limbs, E, E_limbs, R2, T);
|
||||||
#if !defined(MBEDTLS_TEST_CONSTANT_FLOW_MEMSAN)
|
|
||||||
TEST_CF_PUBLIC(Y, N_limbs * sizeof(mbedtls_mpi_uint));
|
TEST_CF_PUBLIC(Y, N_limbs * sizeof(mbedtls_mpi_uint));
|
||||||
TEST_CF_PUBLIC(A, A_limbs * sizeof(mbedtls_mpi_uint));
|
|
||||||
TEST_CF_PUBLIC(N, N_limbs * sizeof(mbedtls_mpi_uint));
|
|
||||||
TEST_CF_PUBLIC(E, E_limbs * sizeof(mbedtls_mpi_uint));
|
|
||||||
#endif
|
|
||||||
|
|
||||||
TEST_EQUAL(0, memcmp(X, Y, N_limbs * sizeof(mbedtls_mpi_uint)));
|
TEST_EQUAL(0, memcmp(X, Y, N_limbs * sizeof(mbedtls_mpi_uint)));
|
||||||
|
|
||||||
@ -1324,10 +1322,8 @@ void mpi_core_exp_mod(char *input_N, char *input_A,
|
|||||||
#endif
|
#endif
|
||||||
/* Check when output aliased to input */
|
/* Check when output aliased to input */
|
||||||
mbedtls_mpi_core_exp_mod(A, A, N, N_limbs, E, E_limbs, R2, T);
|
mbedtls_mpi_core_exp_mod(A, A, N, N_limbs, E, E_limbs, R2, T);
|
||||||
#if !defined(MBEDTLS_TEST_CONSTANT_FLOW_MEMSAN)
|
|
||||||
TEST_CF_PUBLIC(A, A_limbs * sizeof(mbedtls_mpi_uint));
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
TEST_CF_PUBLIC(A, A_limbs * sizeof(mbedtls_mpi_uint));
|
||||||
TEST_EQUAL(0, memcmp(X, A, N_limbs * sizeof(mbedtls_mpi_uint)));
|
TEST_EQUAL(0, memcmp(X, A, N_limbs * sizeof(mbedtls_mpi_uint)));
|
||||||
|
|
||||||
exit:
|
exit:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user