Add ecp_check_prvkey, with test

Also group key checking and generation functions in ecp.h and ecp.c.
This commit is contained in:
Manuel Pégourié-Gonnard 2013-07-01 14:06:13 +02:00
parent b8c6e0e3e9
commit c8dc295e83
4 changed files with 126 additions and 66 deletions

View file

@ -245,6 +245,9 @@ ECP tls write-read group #2
depends_on:POLARSSL_ECP_DP_SECP521R1_ENABLED
ecp_tls_write_read_group:SECP521R1
ECP check prvkey
ecp_check_prvkey:SECP192R1
ECP gen keypair
depends_on:POLARSSL_ECP_DP_SECP192R1_ENABLED
ecp_gen_keypair:SECP192R1

View file

@ -437,6 +437,28 @@ ecp_tls_write_read_group:id
}
END_CASE
BEGIN_CASE
ecp_check_prvkey:id
{
ecp_group grp;
mpi d;
ecp_group_init( &grp );
mpi_init( &d );
TEST_ASSERT( ecp_use_known_dp( &grp, POLARSSL_ECP_DP_{id} ) == 0 );
TEST_ASSERT( mpi_lset( &d, 0 ) == 0 );
TEST_ASSERT( ecp_check_prvkey( &grp, &d ) == POLARSSL_ERR_ECP_GENERIC );
TEST_ASSERT( mpi_copy( &d, &grp.N ) == 0 );
TEST_ASSERT( ecp_check_prvkey( &grp, &d ) == POLARSSL_ERR_ECP_GENERIC );
ecp_group_free( &grp );
mpi_free( &d );
}
END_CASE
BEGIN_CASE
ecp_gen_keypair:id
{
@ -455,8 +477,8 @@ ecp_gen_keypair:id
TEST_ASSERT( ecp_gen_keypair( &grp, &d, &Q, &rnd_pseudo_rand, &rnd_info )
== 0 );
TEST_ASSERT( mpi_cmp_mpi( &d, &grp.N ) < 0 );
TEST_ASSERT( mpi_cmp_int( &d, 1 ) >= 0 );
TEST_ASSERT( ecp_check_pubkey( &grp, &Q ) == 0 );
TEST_ASSERT( ecp_check_prvkey( &grp, &d ) == 0 );
ecp_group_free( &grp );
ecp_point_free( &Q );