Remove ecp_sub()

This commit is contained in:
Manuel Pégourié-Gonnard 2015-05-11 18:18:32 +02:00
parent aff37e5aa1
commit 6dde596a03
3 changed files with 1 additions and 45 deletions

View file

@ -61,6 +61,7 @@ API Changes
Removals Removals
* Removed mbedtls_ecp_group_read_string(). Only named groups are supported. * Removed mbedtls_ecp_group_read_string(). Only named groups are supported.
* Removed mbedtls_ecp_sub().
* Removed individual mdX_hmac and shaX_hmac functions (use generic * Removed individual mdX_hmac and shaX_hmac functions (use generic
md_hmac functions from md.h) md_hmac functions from md.h)
* Removed the PBKDF2 module (use PKCS5). * Removed the PBKDF2 module (use PKCS5).

View file

@ -498,23 +498,6 @@ int mbedtls_ecp_tls_write_group( const mbedtls_ecp_group *grp, size_t *olen,
int mbedtls_ecp_add( const mbedtls_ecp_group *grp, mbedtls_ecp_point *R, int mbedtls_ecp_add( const mbedtls_ecp_group *grp, mbedtls_ecp_point *R,
const mbedtls_ecp_point *P, const mbedtls_ecp_point *Q ); const mbedtls_ecp_point *P, const mbedtls_ecp_point *Q );
/**
* \brief Subtraction: R = P - Q
*
* \param grp ECP group
* \param R Destination point
* \param P Left-hand point
* \param Q Right-hand point
*
* \return 0 if successful,
* MBEDTLS_ERR_MPI_MALLOC_FAILED if memory allocation failed
*
* \note This function does not support Montgomery curves, such as
* Curve25519.
*/
int mbedtls_ecp_sub( const mbedtls_ecp_group *grp, mbedtls_ecp_point *R,
const mbedtls_ecp_point *P, const mbedtls_ecp_point *Q );
/** /**
* \brief Multiplication by an integer: R = m * P * \brief Multiplication by an integer: R = m * P
* (Not thread-safe to use same group in multiple threads) * (Not thread-safe to use same group in multiple threads)

View file

@ -1066,34 +1066,6 @@ cleanup:
return( ret ); return( ret );
} }
/*
* Subtraction: R = P - Q, result's coordinates normalized
*/
int mbedtls_ecp_sub( const mbedtls_ecp_group *grp, mbedtls_ecp_point *R,
const mbedtls_ecp_point *P, const mbedtls_ecp_point *Q )
{
int ret;
mbedtls_ecp_point mQ;
mbedtls_ecp_point_init( &mQ );
if( ecp_get_type( grp ) != ECP_TYPE_SHORT_WEIERSTRASS )
return( MBEDTLS_ERR_ECP_FEATURE_UNAVAILABLE );
/* mQ = - Q */
MBEDTLS_MPI_CHK( mbedtls_ecp_copy( &mQ, Q ) );
if( mbedtls_mpi_cmp_int( &mQ.Y, 0 ) != 0 )
MBEDTLS_MPI_CHK( mbedtls_mpi_sub_mpi( &mQ.Y, &grp->P, &mQ.Y ) );
MBEDTLS_MPI_CHK( ecp_add_mixed( grp, R, P, &mQ ) );
MBEDTLS_MPI_CHK( ecp_normalize_jac( grp, R ) );
cleanup:
mbedtls_ecp_point_free( &mQ );
return( ret );
}
/* /*
* Randomize jacobian coordinates: * Randomize jacobian coordinates:
* (X, Y, Z) -> (l^2 X, l^3 Y, l Z) for random l * (X, Y, Z) -> (l^2 X, l^3 Y, l Z) for random l