Make some macros/functions public
These will be needed in other modules that already include ecp.h
diff --git a/library/ecp.c b/library/ecp.c
index 9239724..9d4721e 100644
--- a/library/ecp.c
+++ b/library/ecp.c
@@ -214,18 +214,11 @@
}
/*
- * Operation counts
- */
-#define ECP_OPS_DBL 8 /* see ecp_double_jac() */
-#define ECP_OPS_ADD 11 /* see ecp_add_mixed() */
-#define ECP_OPS_INV 120 /* empirical equivalent */
-
-/*
* Check if we can do the next step
*/
-static int ecp_check_budget( const mbedtls_ecp_group *grp,
- mbedtls_ecp_restart_ctx *rs_ctx,
- unsigned ops )
+int mbedtls_ecp_check_budget( const mbedtls_ecp_group *grp,
+ mbedtls_ecp_restart_ctx *rs_ctx,
+ unsigned ops )
{
if( rs_ctx != NULL && ecp_max_ops != 0 )
{
@@ -247,9 +240,6 @@
return( 0 );
}
-#define ECP_BUDGET( ops ) MBEDTLS_MPI_CHK( ecp_check_budget( grp, rs_ctx, ops ) );
-#else
-#define ECP_BUDGET( ops ) /* no-op */
#endif /* MBEDTLS_ECP_RESTARTABLE */
#if defined(MBEDTLS_ECP_DP_SECP192R1_ENABLED) || \
@@ -1437,7 +1427,7 @@
for( ; j < d * ( w - 1 ); j++ )
{
- ECP_BUDGET( ECP_OPS_DBL );
+ MBEDTLS_ECP_BUDGET( MBEDTLS_ECP_OPS_DBL );
i = 1U << ( j / d );
cur = T + i;
@@ -1468,7 +1458,7 @@
for( i = 1; i < T_len; i <<= 1 )
TT[j++] = T + i;
- ECP_BUDGET( ECP_OPS_INV + 6 * j - 2 );
+ MBEDTLS_ECP_BUDGET( MBEDTLS_ECP_OPS_INV + 6 * j - 2 );
MBEDTLS_MPI_CHK( ecp_normalize_jac_many( grp, TT, j ) );
@@ -1485,7 +1475,7 @@
add:
#endif
- ECP_BUDGET( ( T_len - 1 ) * ECP_OPS_ADD );
+ MBEDTLS_ECP_BUDGET( ( T_len - 1 ) * MBEDTLS_ECP_OPS_ADD );
for( i = 1; i < T_len; i <<= 1 )
{
@@ -1511,7 +1501,7 @@
for( j = 0; j + 1 < T_len; j++ )
TT[j] = T + j + 1;
- ECP_BUDGET( ECP_OPS_INV + 6 * j - 2 );
+ MBEDTLS_ECP_BUDGET( MBEDTLS_ECP_OPS_INV + 6 * j - 2 );
MBEDTLS_MPI_CHK( ecp_normalize_jac_many( grp, TT, j ) );
@@ -1602,7 +1592,7 @@
while( i-- != 0 )
{
- ECP_BUDGET( ECP_OPS_DBL + ECP_OPS_ADD );
+ MBEDTLS_ECP_BUDGET( MBEDTLS_ECP_OPS_DBL + MBEDTLS_ECP_OPS_ADD );
MBEDTLS_MPI_CHK( ecp_double_jac( grp, R, R ) );
MBEDTLS_MPI_CHK( ecp_select_comb( grp, &Txi, T, t_len, x[i] ) );
MBEDTLS_MPI_CHK( ecp_add_mixed( grp, R, R, &Txi ) );
@@ -1723,7 +1713,7 @@
#endif
}
- ECP_BUDGET( ECP_OPS_INV );
+ MBEDTLS_ECP_BUDGET( MBEDTLS_ECP_OPS_INV );
MBEDTLS_MPI_CHK( ecp_normalize_jac( grp, RR ) );
#if defined(MBEDTLS_ECP_RESTARTABLE)
@@ -2162,7 +2152,7 @@
MBEDTLS_MPI_CHK( mbedtls_ecp_check_pubkey( grp, P ) );
/* check_privkey is 0M and check_pubkey is 3M */
- ECP_BUDGET( 3 );
+ MBEDTLS_ECP_BUDGET( 3 );
}
ret = MBEDTLS_ERR_ECP_BAD_INPUT_DATA;
@@ -2365,7 +2355,7 @@
add:
#endif
- ECP_BUDGET( ECP_OPS_ADD );
+ MBEDTLS_ECP_BUDGET( MBEDTLS_ECP_OPS_ADD );
MBEDTLS_MPI_CHK( ecp_add_mixed( grp, pR, pmP, pR ) );
#if defined(MBEDTLS_ECP_RESTARTABLE)
if( rs_ctx != NULL && rs_ctx->ma != NULL )
@@ -2373,7 +2363,7 @@
norm:
#endif
- ECP_BUDGET( ECP_OPS_INV );
+ MBEDTLS_ECP_BUDGET( MBEDTLS_ECP_OPS_INV );
MBEDTLS_MPI_CHK( ecp_normalize_jac( grp, pR ) );
#if defined(MBEDTLS_ECP_RESTARTABLE)