Enable mpi_mod_int test case to take full-range MPI integers
Also add commented-out test cases that currently fail Signed-off-by: Tom Cosgrove <tom.cosgrove@arm.com>
This commit is contained in:
parent
b9581824f7
commit
91e35e3c32
2 changed files with 58 additions and 19 deletions
|
@ -959,24 +959,47 @@ exit:
|
|||
/* END_CASE */
|
||||
|
||||
/* BEGIN_CASE */
|
||||
void mpi_mod_int( char * input_X, int input_Y,
|
||||
int input_A, int div_result )
|
||||
void mpi_mod_int( char * input_X, char * input_Y,
|
||||
char * input_A, int mod_result )
|
||||
{
|
||||
mbedtls_mpi X;
|
||||
mbedtls_mpi Y;
|
||||
mbedtls_mpi A;
|
||||
int res;
|
||||
mbedtls_mpi_uint r;
|
||||
mbedtls_mpi_init( &X );
|
||||
|
||||
TEST_ASSERT( mbedtls_test_read_mpi( &X, input_X ) == 0 );
|
||||
res = mbedtls_mpi_mod_int( &r, &X, input_Y );
|
||||
TEST_ASSERT( res == div_result );
|
||||
mbedtls_mpi_init( &X );
|
||||
mbedtls_mpi_init( &Y );
|
||||
mbedtls_mpi_init( &A );
|
||||
|
||||
/* We use MPIs to read Y and A since the test framework limits us to
|
||||
* ints, so we can't have 64-bit values */
|
||||
TEST_EQUAL( mbedtls_test_read_mpi( &X, input_X ), 0 );
|
||||
TEST_EQUAL( mbedtls_test_read_mpi( &Y, input_Y ), 0 );
|
||||
TEST_EQUAL( mbedtls_test_read_mpi( &A, input_A ), 0 );
|
||||
|
||||
TEST_EQUAL( Y.n, 1 );
|
||||
TEST_EQUAL( A.n, 1 );
|
||||
|
||||
/* Convert the MPIs for Y and A to signed mbedtls_mpi_uints */
|
||||
mbedtls_mpi_uint y = Y.p[0];
|
||||
if( Y.s == -1 )
|
||||
y = -y;
|
||||
mbedtls_mpi_uint a = A.p[0];
|
||||
if( A.s == -1 )
|
||||
a = -a;
|
||||
|
||||
res = mbedtls_mpi_mod_int( &r, &X, y );
|
||||
TEST_EQUAL( res, mod_result );
|
||||
if( res == 0 )
|
||||
{
|
||||
TEST_ASSERT( r == (mbedtls_mpi_uint) input_A );
|
||||
TEST_EQUAL( r, a );
|
||||
}
|
||||
|
||||
exit:
|
||||
mbedtls_mpi_free( &X );
|
||||
mbedtls_mpi_free( &Y );
|
||||
mbedtls_mpi_free( &A );
|
||||
}
|
||||
/* END_CASE */
|
||||
|
||||
|
|
|
@ -1205,40 +1205,56 @@ Test mbedtls_mpi_mod_mpi: 0 (null) % -1
|
|||
mpi_mod_mpi:"":"-1":"":MBEDTLS_ERR_MPI_NEGATIVE_VALUE
|
||||
|
||||
Base test mbedtls_mpi_mod_int #1
|
||||
mpi_mod_int:"3e8":13:12:0
|
||||
mpi_mod_int:"3e8":"d":"c":0
|
||||
|
||||
Base test mbedtls_mpi_mod_int #2 (Divide by zero)
|
||||
mpi_mod_int:"3e8":0:0:MBEDTLS_ERR_MPI_DIVISION_BY_ZERO
|
||||
mpi_mod_int:"3e8":"0":"0":MBEDTLS_ERR_MPI_DIVISION_BY_ZERO
|
||||
|
||||
Base test mbedtls_mpi_mod_int #3
|
||||
mpi_mod_int:"-3e8":13:1:0
|
||||
mpi_mod_int:"-3e8":"d":"1":0
|
||||
|
||||
Base test mbedtls_mpi_mod_int #4 (Negative modulo)
|
||||
mpi_mod_int:"3e8":-13:0:MBEDTLS_ERR_MPI_NEGATIVE_VALUE
|
||||
mpi_mod_int:"3e8":"-d":"0":MBEDTLS_ERR_MPI_NEGATIVE_VALUE
|
||||
|
||||
Base test mbedtls_mpi_mod_int #5 (Negative modulo)
|
||||
mpi_mod_int:"-3e8":-13:0:MBEDTLS_ERR_MPI_NEGATIVE_VALUE
|
||||
mpi_mod_int:"-3e8":"-d":"0":MBEDTLS_ERR_MPI_NEGATIVE_VALUE
|
||||
|
||||
Base test mbedtls_mpi_mod_int #6 (By 1)
|
||||
mpi_mod_int:"3e8":1:0:0
|
||||
mpi_mod_int:"3e8":"1":"0":0
|
||||
|
||||
Base test mbedtls_mpi_mod_int #7 (By 2)
|
||||
mpi_mod_int:"3e9":2:1:0
|
||||
mpi_mod_int:"3e9":"2":"1":0
|
||||
|
||||
Base test mbedtls_mpi_mod_int #8 (By 2)
|
||||
mpi_mod_int:"3e8":2:0:0
|
||||
mpi_mod_int:"3e8":"2":"0":0
|
||||
|
||||
Test mbedtls_mpi_mod_int: 0 (null) % 1
|
||||
mpi_mod_int:"":1:0:0
|
||||
mpi_mod_int:"":"1":"0":0
|
||||
|
||||
Test mbedtls_mpi_mod_int: 0 (null) % 2
|
||||
mpi_mod_int:"":2:0:0
|
||||
mpi_mod_int:"":"2":"0":0
|
||||
|
||||
Test mbedtls_mpi_mod_int: 0 (null) % -1
|
||||
mpi_mod_int:"":-1:0:MBEDTLS_ERR_MPI_NEGATIVE_VALUE
|
||||
mpi_mod_int:"":"-1":"0":MBEDTLS_ERR_MPI_NEGATIVE_VALUE
|
||||
|
||||
Test mbedtls_mpi_mod_int: 0 (null) % -2
|
||||
mpi_mod_int:"":-2:0:MBEDTLS_ERR_MPI_NEGATIVE_VALUE
|
||||
mpi_mod_int:"":"-2":"0":MBEDTLS_ERR_MPI_NEGATIVE_VALUE
|
||||
|
||||
# CURRENTLY FAILS
|
||||
#Test mbedtls_mpi_mod_int: 230772460340063000000100500000300000010 % 5178236083361335880 -> 3386266129388798810
|
||||
#depends_on:MBEDTLS_HAVE_INT64
|
||||
#mpi_mod_int:"AD9D28BF6C4E98FDF156BF0980CEE30A":"47DCCA4847DCCA48":"2EFE6F1A7D28035A":0
|
||||
|
||||
Test mbedtls_mpi_mod_mpi: 230772460340063000000100500000300000010 % 5178236083361335880 -> 3386266129388798810
|
||||
mpi_mod_mpi:"AD9D28BF6C4E98FDF156BF0980CEE30A":"47DCCA4847DCCA48":"2EFE6F1A7D28035A":0
|
||||
|
||||
# CURRENTLY FAILS WHEN MPIS ARE 32-BIT: WHEN FIXED, REMOVE "depends_on" LINE
|
||||
Test mbedtls_mpi_mod_int: 230772460340063000000100500000300000010 % 1205652040 -> 3644370
|
||||
depends_on:MBEDTLS_HAVE_INT64
|
||||
mpi_mod_int:"AD9D28BF6C4E98FDF156BF0980CEE30A":"47DCCA48":"379BD2":0
|
||||
|
||||
Test mbedtls_mpi_mod_mpi: 230772460340063000000100500000300000010 % 1205652040 -> 3644370
|
||||
mpi_mod_mpi:"AD9D28BF6C4E98FDF156BF0980CEE30A":"47DCCA48":"379BD2":0
|
||||
|
||||
Base test mbedtls_mpi_exp_mod #1
|
||||
mpi_exp_mod:"17":"d":"1d":"18":0
|
||||
|
|
Loading…
Reference in a new issue