Add ecp_check_prvkey, with test
Also group key checking and generation functions in ecp.h and ecp.c.
diff --git a/tests/suites/test_suite_ecp.function b/tests/suites/test_suite_ecp.function
index a051bd7..1d3d3df 100644
--- a/tests/suites/test_suite_ecp.function
+++ b/tests/suites/test_suite_ecp.function
@@ -438,6 +438,28 @@
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
{
ecp_group grp;
@@ -455,8 +477,8 @@
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 );