Update ECP hardware abstraction interface
With this commit the Elliptic Curve Point interface is rewised. Two
compile time options has been removed to simplify the interface and
the function names got a new prefix that indicates that these functions
are for internal use and not part of the public interface.
diff --git a/library/ecp.c b/library/ecp.c
index 6d8c897..cf57a6b 100644
--- a/library/ecp.c
+++ b/library/ecp.c
@@ -754,9 +754,9 @@
return( 0 );
#if defined(MBEDTLS_ECP_NORMALIZE_JAC_ALT)
- if ( mbedtls_ecp_alt_grp_capable( grp ) )
+ if ( mbedtls_int_ecp_grp_capable( grp ) )
{
- return mbedtls_ecp_normalize_jac_alt( grp, pt );
+ return mbedtls_int_ecp_normalize_jac( grp, pt );
}
#endif /* MBEDTLS_ECP_NORMALIZE_JAC_ALT */
mbedtls_mpi_init( &Zi ); mbedtls_mpi_init( &ZZi );
@@ -808,9 +808,9 @@
return( ecp_normalize_jac( grp, *T ) );
#if defined(MBEDTLS_ECP_NORMALIZE_JAC_MANY_ALT)
- if ( mbedtls_ecp_alt_grp_capable( grp ) )
+ if ( mbedtls_int_ecp_grp_capable( grp ) )
{
- return mbedtls_ecp_normalize_jac_many_alt(grp, T, t_len);
+ return mbedtls_int_ecp_normalize_jac_many(grp, T, t_len);
}
#endif
@@ -931,9 +931,9 @@
#endif
#if defined(MBEDTLS_ECP_DOUBLE_JAC_ALT)
- if ( mbedtls_ecp_alt_grp_capable( grp ) )
+ if ( mbedtls_int_ecp_grp_capable( grp ) )
{
- return mbedtls_ecp_double_jac_alt( grp, R, P );
+ return mbedtls_int_ecp_double_jac( grp, R, P );
}
#endif /* MBEDTLS_ECP_DOUBLE_JAC_ALT */
@@ -1029,9 +1029,9 @@
#endif
#if defined(MBEDTLS_ECP_ADD_MIXED_ALT)
- if ( mbedtls_ecp_alt_grp_capable( grp ) )
+ if ( mbedtls_int_ecp_grp_capable( grp ) )
{
- return mbedtls_ecp_add_mixed_alt( grp, R, P, Q );
+ return mbedtls_int_ecp_add_mixed( grp, R, P, Q );
}
#endif /* MBEDTLS_ECP_ADD_MIXED_ALT */
@@ -1116,9 +1116,9 @@
int count = 0;
#if defined(MBEDTLS_ECP_RANDOMIZE_JAC_ALT)
- if ( mbedtls_ecp_alt_grp_capable( grp ) )
+ if ( mbedtls_int_ecp_grp_capable( grp ) )
{
- return mbedtls_ecp_randomize_jac_alt( grp, pt, f_rng, p_rng );
+ return mbedtls_int_ecp_randomize_jac( grp, pt, f_rng, p_rng );
}
#endif /* MBEDTLS_ECP_RANDOMIZE_JAC_ALT */
@@ -1484,9 +1484,9 @@
int ret;
#if defined(MBEDTLS_ECP_NORMALIZE_MXZ_ALT)
- if ( mbedtls_ecp_alt_grp_capable( grp ) )
+ if ( mbedtls_int_ecp_grp_capable( grp ) )
{
- return mbedtls_ecp_normalize_mxz_alt( grp, P );
+ return mbedtls_int_ecp_normalize_mxz( grp, P );
}
#endif /* MBEDTLS_ECP_NORMALIZE_MXZ_ALT */
@@ -1515,9 +1515,9 @@
int count = 0;
#if defined(MBEDTLS_ECP_RANDOMIZE_MXZ_ALT)
- if ( mbedtls_ecp_alt_grp_capable( grp ) )
+ if ( mbedtls_int_ecp_grp_capable( grp ) )
{
- return mbedtls_ecp_randomize_mxz_alt( grp, P, f_rng, p_rng );
+ return mbedtls_int_ecp_randomize_mxz( grp, P, f_rng, p_rng );
}
#endif /* MBEDTLS_ECP_RANDOMIZE_MXZ_ALT */
@@ -1570,9 +1570,9 @@
mbedtls_mpi A, AA, B, BB, E, C, D, DA, CB;
#if defined(MBEDTLS_ECP_DOUBLE_ADD_MXZ_ALT)
- if ( mbedtls_ecp_alt_grp_capable( grp ) )
+ if ( mbedtls_int_ecp_grp_capable( grp ) )
{
- return mbedtls_ecp_double_add_mxz_alt( grp, R, S, P, Q, d );
+ return mbedtls_int_ecp_double_add_mxz( grp, R, S, P, Q, d );
}
#endif /* MBEDTLS_ECP_DOUBLE_ADD_MXZ_ALT */
@@ -1686,18 +1686,18 @@
( ret = mbedtls_ecp_check_pubkey( grp, P ) ) != 0 )
return( ret );
-#if defined(MBEDTLS_ECP_FUNCTION_ALT) && defined(MBEDTLS_THREADING_C)
+#if defined(MBEDTLS_ECP_FUNCTION_ALT)
+#if defined(MBEDTLS_THREADING_C)
if( mbedtls_mutex_lock( &mbedtls_threading_cryptohw_asym_mutex ) != 0 )
return ( MBEDTLS_ERR_THREADING_MUTEX_ERROR );
#endif
-#if defined(MBEDTLS_ECP_INIT_ALT)
- if ( mbedtls_ecp_alt_grp_capable( grp ) )
+ if ( mbedtls_int_ecp_grp_capable( grp ) )
{
- MBEDTLS_MPI_CHK( mbedtls_ecp_alt_init( grp ) );
+ MBEDTLS_MPI_CHK( mbedtls_int_ecp_init( grp ) );
}
-#endif
+#endif /* MBEDTLS_ECP_FUNCTION_ALT */
#if defined(ECP_MONTGOMERY)
if( ecp_get_type( grp ) == ECP_TYPE_MONTGOMERY )
ret = ecp_mul_mxz( grp, R, m, P, f_rng, p_rng );
@@ -1708,22 +1708,20 @@
ret = ecp_mul_comb( grp, R, m, P, f_rng, p_rng );
#endif
-#if defined(MBEDTLS_ECP_INIT_ALT)
+#if defined(MBEDTLS_ECP_FUNCTION_ALT)
cleanup:
-#endif
-#if defined(MBEDTLS_ECP_DEINIT_ALT)
- if ( mbedtls_ecp_alt_grp_capable( grp ) )
+ if ( mbedtls_int_ecp_grp_capable( grp ) )
{
- mbedtls_ecp_alt_deinit( grp );
+ mbedtls_int_ecp_deinit( grp );
}
-#endif
-#if defined(MBEDTLS_ECP_FUNCTION_ALT) && defined(MBEDTLS_THREADING_C)
+#if defined(MBEDTLS_THREADING_C)
if( mbedtls_mutex_unlock( &mbedtls_threading_cryptohw_asym_mutex ) != 0 )
return ( MBEDTLS_ERR_THREADING_MUTEX_ERROR );
#endif
+#endif /* MBEDTLS_ECP_FUNCTION_ALT */
return( ret );
}
@@ -1826,35 +1824,35 @@
MBEDTLS_MPI_CHK( mbedtls_ecp_mul_shortcuts( grp, &mP, m, P ) );
MBEDTLS_MPI_CHK( mbedtls_ecp_mul_shortcuts( grp, R, n, Q ) );
-#if defined(MBEDTLS_ECP_FUNCTION_ALT) && defined(MBEDTLS_THREADING_C)
+#if defined(MBEDTLS_ECP_FUNCTION_ALT)
+#if defined(MBEDTLS_THREADING_C)
if( mbedtls_mutex_lock( &mbedtls_threading_cryptohw_asym_mutex ) != 0 )
return ( MBEDTLS_ERR_THREADING_MUTEX_ERROR );
#endif
-#if defined(MBEDTLS_ECP_INIT_ALT)
- if ( mbedtls_ecp_alt_grp_capable( grp ) )
+ if ( mbedtls_int_ecp_grp_capable( grp ) )
{
- MBEDTLS_MPI_CHK( mbedtls_ecp_alt_init( grp ) );
+ MBEDTLS_MPI_CHK( mbedtls_int_ecp_init( grp ) );
}
-#endif
+#endif /* MBEDTLS_ECP_FUNCTION_ALT */
MBEDTLS_MPI_CHK( ecp_add_mixed( grp, R, &mP, R ) );
MBEDTLS_MPI_CHK( ecp_normalize_jac( grp, R ) );
cleanup:
-#if defined(MBEDTLS_ECP_DEINIT_ALT)
- if ( mbedtls_ecp_alt_grp_capable( grp ) )
+#if defined(MBEDTLS_ECP_FUNCTION_ALT)
+ if ( mbedtls_int_ecp_grp_capable( grp ) )
{
- mbedtls_ecp_alt_deinit( grp );
+ mbedtls_int_ecp_deinit( grp );
}
-#endif
-#if defined(MBEDTLS_ECP_FUNCTION_ALT) && defined(MBEDTLS_THREADING_C)
+#if defined(MBEDTLS_THREADING_C)
if( mbedtls_mutex_unlock( &mbedtls_threading_cryptohw_asym_mutex ) != 0 )
return ( MBEDTLS_ERR_THREADING_MUTEX_ERROR );
#endif
+#endif /* MBEDTLS_ECP_FUNCTION_ALT */
mbedtls_ecp_point_free( &mP );
return( ret );