1
0
mirror of https://github.com/Mbed-TLS/mbedtls.git synced 2025-07-29 11:41:15 +03:00

Add test for mpi_gen_prime()

This commit is contained in:
Manuel Pégourié-Gonnard
2014-06-16 17:12:40 +02:00
parent fab2a3c3d6
commit 15f58a86f7
2 changed files with 46 additions and 0 deletions

View File

@ -719,6 +719,36 @@ void mpi_is_prime( int radix_X, char *input_X, int div_result )
}
/* END_CASE */
/* BEGIN_CASE depends_on:POLARSSL_GENPRIME */
void mpi_gen_prime( int bits, int safe, int ref_ret )
{
mpi X;
int my_ret;
mpi_init( &X );
my_ret = mpi_gen_prime( &X, bits, safe, rnd_std_rand, NULL );
TEST_ASSERT( my_ret == ref_ret );
if( ref_ret == 0 )
{
size_t actual_bits = mpi_msb( &X );
TEST_ASSERT( actual_bits >= (size_t) bits );
TEST_ASSERT( actual_bits <= (size_t) bits + 1 );
TEST_ASSERT( mpi_is_prime( &X, rnd_std_rand, NULL ) == 0 );
if( safe )
{
mpi_shift_r( &X, 1 ); /* X = ( X - 1 ) / 2 */
TEST_ASSERT( mpi_is_prime( &X, rnd_std_rand, NULL ) == 0 );
}
}
mpi_free( &X );
}
/* END_CASE */
/* BEGIN_CASE */
void mpi_shift_l( int radix_X, char *input_X, int shift_X, int radix_A,
char *input_A)