44 #define MBEDTLS_ERR_ECP_BAD_INPUT_DATA -0x4F80
45 #define MBEDTLS_ERR_ECP_BUFFER_TOO_SMALL -0x4F00
46 #define MBEDTLS_ERR_ECP_FEATURE_UNAVAILABLE -0x4E80
47 #define MBEDTLS_ERR_ECP_VERIFY_FAILED -0x4E00
48 #define MBEDTLS_ERR_ECP_ALLOC_FAILED -0x4D80
49 #define MBEDTLS_ERR_ECP_RANDOM_FAILED -0x4D00
50 #define MBEDTLS_ERR_ECP_INVALID_KEY -0x4C80
51 #define MBEDTLS_ERR_ECP_SIG_LEN_MISMATCH -0x4C00
54 #define MBEDTLS_ERR_ECP_HW_ACCEL_FAILED -0x4B80
56 #define MBEDTLS_ERR_ECP_IN_PROGRESS -0x4B00
94 #define MBEDTLS_ECP_DP_MAX 12
126 #if !defined(MBEDTLS_ECP_ALT)
188 #if defined(MBEDTLS_ECP_RESTARTABLE)
195 typedef struct mbedtls_ecp_restart_mul mbedtls_ecp_restart_mul_ctx;
202 typedef struct mbedtls_ecp_restart_muladd mbedtls_ecp_restart_muladd_ctx;
211 mbedtls_ecp_restart_mul_ctx *rsm;
212 mbedtls_ecp_restart_muladd_ctx *ma;
218 #define MBEDTLS_ECP_OPS_CHK 3
219 #define MBEDTLS_ECP_OPS_DBL 8
220 #define MBEDTLS_ECP_OPS_ADD 11
221 #define MBEDTLS_ECP_OPS_INV 120
234 int mbedtls_ecp_check_budget( const mbedtls_ecp_group *grp,
239 #define MBEDTLS_ECP_BUDGET( ops ) \
240 MBEDTLS_MPI_CHK( mbedtls_ecp_check_budget( grp, rs_ctx, \
241 (unsigned) (ops) ) );
245 #define MBEDTLS_ECP_BUDGET( ops )
260 #if !defined(MBEDTLS_ECP_MAX_BITS)
264 #define MBEDTLS_ECP_MAX_BITS 521
267 #define MBEDTLS_ECP_MAX_BYTES ( ( MBEDTLS_ECP_MAX_BITS + 7 ) / 8 )
268 #define MBEDTLS_ECP_MAX_PT_LEN ( 2 * MBEDTLS_ECP_MAX_BYTES + 1 )
270 #if !defined(MBEDTLS_ECP_WINDOW_SIZE)
290 #define MBEDTLS_ECP_WINDOW_SIZE 6
293 #if !defined(MBEDTLS_ECP_FIXED_POINT_OPTIM)
305 #define MBEDTLS_ECP_FIXED_POINT_OPTIM 1
333 #define MBEDTLS_ECP_PF_UNCOMPRESSED 0
334 #define MBEDTLS_ECP_PF_COMPRESSED 1
339 #define MBEDTLS_ECP_TLS_NAMED_CURVE 3
341 #if defined(MBEDTLS_ECP_RESTARTABLE)
399 void mbedtls_ecp_set_max_ops(
unsigned max_ops );
407 int mbedtls_ecp_restart_is_enabled(
void );
506 #if defined(MBEDTLS_ECP_RESTARTABLE)
510 void mbedtls_ecp_restart_init( mbedtls_ecp_restart_ctx *ctx );
515 void mbedtls_ecp_restart_free( mbedtls_ecp_restart_ctx *ctx );
590 const char *x,
const char *y );
607 int format,
size_t *olen,
608 unsigned char *buf,
size_t buflen );
630 const unsigned char *buf,
size_t ilen );
648 const unsigned char **buf,
size_t len );
666 int format,
size_t *olen,
667 unsigned char *buf,
size_t blen );
715 unsigned char *buf,
size_t blen );
747 int (*f_rng)(
void *,
unsigned char *,
size_t),
void *p_rng );
776 int (*f_rng)(
void *,
unsigned char *,
size_t),
void *p_rng,
777 mbedtls_ecp_restart_ctx *rs_ctx );
836 mbedtls_ecp_restart_ctx *rs_ctx );
894 int (*f_rng)(
void *,
unsigned char *,
size_t),
920 int (*f_rng)(
void *,
unsigned char *,
size_t),
942 int (*f_rng)(
void *,
unsigned char *,
size_t),
958 int (*f_rng)(
void *,
unsigned char *,
size_t),
void *p_rng );
977 #if defined(MBEDTLS_SELF_TEST)