1
0
mirror of https://github.com/Mbed-TLS/mbedtls.git synced 2025-08-08 17:42:09 +03:00

- Added mpi_get_bit() and mpi_set_bit() individual bit setter/getter functions.

This commit is contained in:
Paul Bakker
2011-05-18 15:47:11 +00:00
parent 831a755d9e
commit 2f5947e1f6
5 changed files with 120 additions and 0 deletions

View File

@@ -518,6 +518,33 @@ mpi_is_prime:10:"32452867":0
Test mpi_is_prime #20
mpi_is_prime:10:"49979687":0
Test bit getting (Value bit 25)
mpi_get_bit:10:"49979687":25:1
Test bit getting (Larger but same limb)
mpi_get_bit:10:"49979687":26:0
Test bit getting (Larger and non-existing limb)
mpi_get_bit:10:"49979687":500:0
Test bit getting (Value bit 24)
mpi_get_bit:10:"49979687":24:0
Test bit getting (Value bit 23)
mpi_get_bit:10:"49979687":23:1
Test bit set (Change existing value with a 1)
mpi_set_bit:10:"49979687":24:1:10:"66756903"
Test bit set (Change existing value with a 0)
mpi_set_bit:10:"49979687":25:0:10:"16425255"
Test bit set (Add above existing limbs with a 0)
mpi_set_bit:10:"49979687":80:0:10:"49979687"
Test bit set (Add above existing limbs with a 1)
mpi_set_bit:10:"49979687":80:1:10:"1208925819614629224685863"
MPI Selftest
depends_on:POLARSSL_SELF_TEST
mpi_selftest:

View File

@@ -142,6 +142,33 @@ mpi_write_file:radix_X:input_X:output_radix:output_file
}
END_CASE
BEGIN_CASE
mpi_get_bit:radix_X:input_X:pos:val
{
mpi X;
mpi_init( &X );
TEST_ASSERT( mpi_read_string( &X, {radix_X}, {input_X} ) == 0 );
TEST_ASSERT( mpi_get_bit( &X, {pos} ) == {val} );
mpi_free( &X );
}
END_CASE
BEGIN_CASE
mpi_set_bit:radix_X:input_X:pos:val:radix_Y:output_Y
{
mpi X, Y;
mpi_init( &X ); mpi_init( &Y );
TEST_ASSERT( mpi_read_string( &X, {radix_X}, {input_X} ) == 0 );
TEST_ASSERT( mpi_read_string( &Y, {radix_Y}, {output_Y} ) == 0 );
TEST_ASSERT( mpi_set_bit( &X, {pos}, {val} ) == 0 );
TEST_ASSERT( mpi_cmp_mpi( &X, &Y ) == 0 );
mpi_free( &X );
}
END_CASE
BEGIN_CASE
mpi_lsb:radix_X:input_X:nr_bits
{