diff --git a/tests/suites/test_suite_ecp.data b/tests/suites/test_suite_ecp.data index d901b88cdc..e68ec77cae 100644 --- a/tests/suites/test_suite_ecp.data +++ b/tests/suites/test_suite_ecp.data @@ -30,135 +30,6 @@ ECP curve info #8 depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED mbedtls_ecp_curve_info:MBEDTLS_ECP_DP_SECP192R1:19:192:"secp192r1" -ECP small addition #1 -ecp_small_add:1:"":"":1:"":"":1:0:0 - -ECP small addition #2 -ecp_small_add:1:"":"":0:"14":"11":0:14:11 - -ECP small addition #3 -ecp_small_add:0:"13":"00":0:"13":"00":1:0:0 - -ECP small addition #4 -ecp_small_add:0:"14":"11":0:"14":"36":1:0:0 - -ECP small addition #5 -ecp_small_add:0:"13":"00":0:"37":"31":0:34:14 - -ECP small addition #6 -ecp_small_add:0:"14":"11":0:"37":"31":0:45:07 - -ECP small addition #7 -ecp_small_add:0:"37":"31":0:"37":"31":0:21:32 - -ECP small addition #8 -ecp_small_add:0:"14":"11":0:"14":"11":0:27:30 - -ECP small subtraction #1 -ecp_small_sub:1:"":"":1:"":"":1:0:0 - -ECP small subtraction #2 -ecp_small_sub:1:"":"":0:"14":"11":0:14:36 - -ECP small subtraction #3 -ecp_small_sub:1:"":"":0:"13":"00":0:13:00 - -ECP small subtraction #4 -ecp_small_sub:0:"13":"00":0:"13":"00":1:0:0 - -ECP small subtraction #5 -ecp_small_sub:0:"14":"11":0:"14":"11":1:0:0 - -ECP small subtraction #6 -ecp_small_sub:0:"13":"00":0:"37":"16":0:34:14 - -ECP small subtraction #7 -ecp_small_sub:0:"14":"11":0:"37":"16":0:45:07 - -ECP small subtraction #8 -ecp_small_sub:0:"37":"31":0:"37":"16":0:21:32 - -ECP small subtraction #9 -ecp_small_sub:0:"14":"11":0:"14":"36":0:27:30 - -ECP small multiplication negative -ecp_small_mul:-1:0:0:0:MBEDTLS_ERR_ECP_INVALID_KEY - -ECP small multiplication #0 -ecp_small_mul:0:1:0:0:MBEDTLS_ERR_ECP_INVALID_KEY - -ECP small multiplication #1 -ecp_small_mul:1:0:17:42:0 - -ECP small multiplication #2 -ecp_small_mul:2:0:20:01:0 - -ECP small multiplication #3 -ecp_small_mul:3:0:14:11:0 - -ECP small multiplication #4 -ecp_small_mul:4:0:34:33:0 - -ECP small multiplication #5 -ecp_small_mul:5:0:21:32:0 - -ECP small multiplication #6 -ecp_small_mul:6:0:27:30:0 - -ECP small multiplication #7 -ecp_small_mul:7:0:27:17:0 - -ECP small multiplication #8 -ecp_small_mul:8:0:21:15:0 - -ECP small multiplication #9 -ecp_small_mul:9:0:34:14:0 - -ECP small multiplication #10 -ecp_small_mul:10:0:14:36:0 - -ECP small multiplication #11 -ecp_small_mul:11:0:20:46:0 - -ECP small multiplication #12 -ecp_small_mul:12:0:17:05:0 - -ECP small multiplication #13 -ecp_small_mul:13:1:0:0:MBEDTLS_ERR_ECP_INVALID_KEY - -ECP small multiplication #14 -ecp_small_mul:14:0:17:42:MBEDTLS_ERR_ECP_INVALID_KEY - -ECP small check pubkey #1 -ecp_small_check_pub:1:1:0:MBEDTLS_ERR_ECP_INVALID_KEY - -ECP small check pubkey #2 -ecp_small_check_pub:9:-1:1:MBEDTLS_ERR_ECP_INVALID_KEY - -ECP small check pubkey #3 -ecp_small_check_pub:9:46:1:0 - -ECP small check pubkey #4 -ecp_small_check_pub:13:47:1:MBEDTLS_ERR_ECP_INVALID_KEY - -ECP small check pubkey #5 -ecp_small_check_pub:13:0:1:0 - -ECP small check pubkey #6 -ecp_small_check_pub:-1:10:1:MBEDTLS_ERR_ECP_INVALID_KEY - -ECP small check pubkey #7 -ecp_small_check_pub:46:10:1:0 - -ECP small check pubkey #8 -ecp_small_check_pub:47:2:1:MBEDTLS_ERR_ECP_INVALID_KEY - -ECP small check pubkey #9 -ecp_small_check_pub:0:2:1:0 - -ECP small check pubkey #10 -ecp_small_check_pub:10:25:1:MBEDTLS_ERR_ECP_INVALID_KEY - ECP check pubkey Montgomery #1 (too big) depends_on:MBEDTLS_ECP_DP_M255_ENABLED ecp_check_pub_mx:MBEDTLS_ECP_DP_M255:"010000000000000000000000000000000000000000000000000000000000000000":MBEDTLS_ERR_ECP_INVALID_KEY diff --git a/tests/suites/test_suite_ecp.function b/tests/suites/test_suite_ecp.function index 5c31c86b79..de56d48780 100644 --- a/tests/suites/test_suite_ecp.function +++ b/tests/suites/test_suite_ecp.function @@ -28,173 +28,6 @@ void mbedtls_ecp_curve_info( int id, int tls_id, int size, char *name ) } /* END_CASE */ -/* BEGIN_CASE */ -void ecp_small_add( int a_zero, char *x_a, char *y_a, int b_zero, char *x_b, - char *y_b, int c_zero, int x_c, int y_c ) -{ - mbedtls_ecp_group grp; - mbedtls_ecp_point A, B, C; - - mbedtls_ecp_group_init( &grp ); - mbedtls_ecp_point_init( &A ); mbedtls_ecp_point_init( &B ); mbedtls_ecp_point_init( &C ); - - TEST_ASSERT( mbedtls_ecp_group_read_string( &grp, 10, - "47", "4", "17", "42", "13" ) == 0 ); - - if( a_zero ) - mbedtls_ecp_set_zero( &A ); - else - TEST_ASSERT( mbedtls_ecp_point_read_string( &A, 10, x_a, y_a ) == 0 ); - - if( b_zero ) - mbedtls_ecp_set_zero( &B ); - else - TEST_ASSERT( mbedtls_ecp_point_read_string( &B, 10, x_b, y_b ) == 0 ); - - TEST_ASSERT( mbedtls_ecp_add( &grp, &C, &A, &B ) == 0 ); - - if( c_zero ) - TEST_ASSERT( mbedtls_mpi_cmp_int( &C.Z, 0 ) == 0 ); - else - { - TEST_ASSERT( mbedtls_mpi_cmp_int( &C.X, x_c ) == 0 ); - TEST_ASSERT( mbedtls_mpi_cmp_int( &C.Y, y_c ) == 0 ); - } - - TEST_ASSERT( mbedtls_ecp_add( &grp, &C, &B, &A ) == 0 ); - - if( c_zero ) - TEST_ASSERT( mbedtls_mpi_cmp_int( &C.Z, 0 ) == 0 ); - else - { - TEST_ASSERT( mbedtls_mpi_cmp_int( &C.X, x_c ) == 0 ); - TEST_ASSERT( mbedtls_mpi_cmp_int( &C.Y, y_c ) == 0 ); - } - -exit: - mbedtls_ecp_group_free( &grp ); - mbedtls_ecp_point_free( &A ); mbedtls_ecp_point_free( &B ); mbedtls_ecp_point_free( &C ); -} -/* END_CASE */ - -/* BEGIN_CASE */ -void ecp_small_sub( int a_zero, char *x_a, char *y_a, int b_zero, char *x_b, - char *y_b, int c_zero, int x_c, int y_c ) -{ - mbedtls_ecp_group grp; - mbedtls_ecp_point A, B, C; - - mbedtls_ecp_group_init( &grp ); - mbedtls_ecp_point_init( &A ); mbedtls_ecp_point_init( &B ); mbedtls_ecp_point_init( &C ); - - TEST_ASSERT( mbedtls_ecp_group_read_string( &grp, 10, - "47", "4", "17", "42", "13" ) == 0 ); - - if( a_zero ) - mbedtls_ecp_set_zero( &A ); - else - TEST_ASSERT( mbedtls_ecp_point_read_string( &A, 10, x_a, y_a ) == 0 ); - - if( b_zero ) - mbedtls_ecp_set_zero( &B ); - else - TEST_ASSERT( mbedtls_ecp_point_read_string( &B, 10, x_b, y_b ) == 0 ); - - TEST_ASSERT( mbedtls_ecp_sub( &grp, &C, &A, &B ) == 0 ); - - if( c_zero ) - TEST_ASSERT( mbedtls_mpi_cmp_int( &C.Z, 0 ) == 0 ); - else - { - TEST_ASSERT( mbedtls_mpi_cmp_int( &C.X, x_c ) == 0 ); - TEST_ASSERT( mbedtls_mpi_cmp_int( &C.Y, y_c ) == 0 ); - } - -exit: - mbedtls_ecp_group_free( &grp ); - mbedtls_ecp_point_free( &A ); mbedtls_ecp_point_free( &B ); mbedtls_ecp_point_free( &C ); -} -/* END_CASE */ - -/* BEGIN_CASE */ -void ecp_small_mul( int m_str, int r_zero, int x_r, int y_r, int ret ) -{ - mbedtls_ecp_group grp; - mbedtls_ecp_point R; - mbedtls_mpi m; - rnd_pseudo_info rnd_info; - - mbedtls_ecp_group_init( &grp ); - mbedtls_ecp_point_init( &R ); - mbedtls_mpi_init( &m ); - memset( &rnd_info, 0x00, sizeof( rnd_pseudo_info ) ); - - TEST_ASSERT( mbedtls_ecp_group_read_string( &grp, 10, - "47", "4", "17", "42", "13" ) == 0 ); - - TEST_ASSERT( mbedtls_mpi_lset( &m, m_str ) == 0 ); - - TEST_ASSERT( mbedtls_ecp_mul( &grp, &R, &m, &grp.G, NULL, NULL ) == ret ); - - if( ret == 0 ) - { - if( r_zero ) - TEST_ASSERT( mbedtls_mpi_cmp_int( &R.Z, 0 ) == 0 ); - else - { - TEST_ASSERT( mbedtls_mpi_cmp_int( &R.X, x_r ) == 0 ); - TEST_ASSERT( mbedtls_mpi_cmp_int( &R.Y, y_r ) == 0 ); - } - } - - /* try again with randomization */ - mbedtls_ecp_point_free( &R ); - - TEST_ASSERT( mbedtls_ecp_mul( &grp, &R, &m, &grp.G, - &rnd_pseudo_rand, &rnd_info ) == ret ); - - if( ret == 0 ) - { - if( r_zero ) - TEST_ASSERT( mbedtls_mpi_cmp_int( &R.Z, 0 ) == 0 ); - else - { - TEST_ASSERT( mbedtls_mpi_cmp_int( &R.X, x_r ) == 0 ); - TEST_ASSERT( mbedtls_mpi_cmp_int( &R.Y, y_r ) == 0 ); - } - } - -exit: - mbedtls_ecp_group_free( &grp ); - mbedtls_ecp_point_free( &R ); - mbedtls_mpi_free( &m ); -} -/* END_CASE */ - -/* BEGIN_CASE */ -void ecp_small_check_pub( int x, int y, int z, int ret ) -{ - mbedtls_ecp_group grp; - mbedtls_ecp_point P; - - mbedtls_ecp_group_init( &grp ); - mbedtls_ecp_point_init( &P ); - - TEST_ASSERT( mbedtls_ecp_group_read_string( &grp, 10, - "47", "4", "17", "42", "13" ) == 0 ); - - TEST_ASSERT( mbedtls_mpi_lset( &P.X, x ) == 0 ); - TEST_ASSERT( mbedtls_mpi_lset( &P.Y, y ) == 0 ); - TEST_ASSERT( mbedtls_mpi_lset( &P.Z, z ) == 0 ); - - TEST_ASSERT( mbedtls_ecp_check_pubkey( &grp, &P ) == ret ); - -exit: - mbedtls_ecp_group_free( &grp ); - mbedtls_ecp_point_free( &P ); -} -/* END_CASE */ - /* BEGIN_CASE */ void ecp_check_pub_mx( int grp_id, char *key_hex, int ret ) {