Allowed point at infinity, supressed ecp_double()
diff --git a/include/polarssl/ecp.h b/include/polarssl/ecp.h
index d9e6ed6..e76cd9e 100644
--- a/include/polarssl/ecp.h
+++ b/include/polarssl/ecp.h
@@ -38,8 +38,9 @@
*/
typedef struct
{
- mpi X; /*!< the point's X coordinate */
- mpi Y; /*!< the point's Y coordinate */
+ char is_zero; /*!< true if point at infinity */
+ mpi X; /*!< the point's X coordinate */
+ mpi Y; /*!< the point's Y coordinate */
}
ecp_point;
@@ -157,18 +158,6 @@
const ecp_point *P, const ecp_point *Q );
/**
- * \brief Duplication: R = 2 P
- *
- * \param grp ECP group
- * \param R Destination point
- * \param P Point to double
- *
- * \return 0 if successful, or an POLARSSL_ERR_ECP_XXX error code
- */
-int ecp_double( const ecp_group *grp, ecp_point *R,
- const ecp_point *P );
-
-/**
* \brief Multiplication by an integer: R = m * P
*
* \param grp ECP group
@@ -178,8 +167,8 @@
*
* \return 0 if successful, or an POLARSSL_ERR_ECP_XXX error code
*/
-int ecp_multiply( const ecp_group *grp, ecp_point *R,
- const mpi *m, const ecp_point *P );
+int ecp_mul( const ecp_group *grp, ecp_point *R,
+ const mpi *m, const ecp_point *P );
/**
* \brief Free the components of a point