37struct cx_ecfp_public_key_s {
44struct cx_ecfp_private_key_s {
51struct cx_ecfp_256_public_key_s {
57struct cx_ecfp_256_private_key_s {
63struct cx_ecfp_256_extended_private_key_s {
69typedef struct cx_ecfp_256_public_key_s cx_ecfp_256_public_key_t;
71typedef struct cx_ecfp_256_private_key_s cx_ecfp_256_private_key_t;
73typedef struct cx_ecfp_256_extended_private_key_s cx_ecfp_256_extended_private_key_t;
76typedef struct cx_ecfp_256_public_key_s cx_ecfp_public_key_t;
77typedef struct cx_ecfp_256_private_key_s cx_ecfp_private_key_t;
80struct cx_ecfp_384_public_key_s {
86struct cx_ecfp_384_private_key_s {
92typedef struct cx_ecfp_384_private_key_s cx_ecfp_384_private_key_t;
94typedef struct cx_ecfp_384_public_key_s cx_ecfp_384_public_key_t;
97struct cx_ecfp_512_public_key_s {
103struct cx_ecfp_512_private_key_s {
109struct cx_ecfp_512_extented_private_key_s {
115typedef struct cx_ecfp_512_public_key_s cx_ecfp_512_public_key_t;
117typedef struct cx_ecfp_512_private_key_s cx_ecfp_512_private_key_t;
119typedef struct cx_ecfp_512_extented_private_key_s cx_ecfp_512_extented_private_key_t;
122struct cx_ecfp_640_public_key_s {
128struct cx_ecfp_640_private_key_s {
134typedef struct cx_ecfp_640_public_key_s cx_ecfp_640_public_key_t;
136typedef struct cx_ecfp_640_private_key_s cx_ecfp_640_private_key_t;
163WARN_UNUSED_RESULT cx_err_t cx_ecfp_add_point_no_throw(cx_curve_t curve,
172DEPRECATED
static inline size_t cx_ecfp_add_point(cx_curve_t curve,
174 const unsigned char *P,
175 const unsigned char *Q,
180 CX_THROW(cx_ecfp_add_point_no_throw(curve, R, P, Q));
183 CX_THROW(cx_ecdomain_parameters_length(curve, &size));
213WARN_UNUSED_RESULT cx_err_t cx_ecfp_scalar_mult_no_throw(cx_curve_t curve,
222DEPRECATED
static inline size_t cx_ecfp_scalar_mult(cx_curve_t curve,
225 const unsigned char *k,
230 CX_THROW(cx_ecfp_scalar_mult_no_throw(curve, P, k, k_len));
233 CX_THROW(cx_ecdomain_parameters_length(curve, &size));
261WARN_UNUSED_RESULT cx_err_t cx_ecfp_init_public_key_no_throw(cx_curve_t curve,
264 cx_ecfp_public_key_t *key);
270DEPRECATED
static inline size_t cx_ecfp_init_public_key(cx_curve_t curve,
271 const unsigned char *rawkey,
272 unsigned int key_len,
273 cx_ecfp_public_key_t *key)
275 CX_THROW(cx_ecfp_init_public_key_no_throw(curve, rawkey, key_len, key));
299WARN_UNUSED_RESULT cx_err_t cx_ecfp_init_private_key_no_throw(cx_curve_t curve,
302 cx_ecfp_private_key_t *pvkey);
308DEPRECATED
static inline size_t cx_ecfp_init_private_key(cx_curve_t curve,
309 const unsigned char *rawkey,
311 cx_ecfp_private_key_t *pvkey)
313 CX_THROW(cx_ecfp_init_private_key_no_throw(curve, rawkey, key_len, pvkey));
342WARN_UNUSED_RESULT cx_err_t cx_ecfp_generate_pair_no_throw(cx_curve_t curve,
343 cx_ecfp_public_key_t *pubkey,
344 cx_ecfp_private_key_t *privkey,
351DEPRECATED
static inline int cx_ecfp_generate_pair(cx_curve_t curve,
352 cx_ecfp_public_key_t *pubkey,
353 cx_ecfp_private_key_t *privkey,
356 CX_THROW(cx_ecfp_generate_pair_no_throw(curve, pubkey, privkey, keepprivate));
387WARN_UNUSED_RESULT cx_err_t cx_ecfp_generate_pair2_no_throw(cx_curve_t curve,
388 cx_ecfp_public_key_t *pubkey,
389 cx_ecfp_private_key_t *privkey,
397DEPRECATED
static inline int cx_ecfp_generate_pair2(cx_curve_t curve,
398 cx_ecfp_public_key_t *pubkey,
399 cx_ecfp_private_key_t *privkey,
403 CX_THROW(cx_ecfp_generate_pair2_no_throw(curve, pubkey, privkey, keepprivate, hashID));
407#ifdef HAVE_ECC_TWISTED_EDWARDS
443WARN_UNUSED_RESULT cx_err_t cx_eddsa_get_public_key_no_throw(
const cx_ecfp_private_key_t *pvkey,
445 cx_ecfp_public_key_t *pukey,
455DEPRECATED
static inline void cx_eddsa_get_public_key(
const cx_ecfp_private_key_t *pvkey,
457 cx_ecfp_public_key_t *pukey,
463 CX_THROW(cx_eddsa_get_public_key_no_throw(pvkey, hashID, pukey, a, a_len, h, h_len));
488WARN_UNUSED_RESULT cx_err_t cx_edwards_compress_point_no_throw(cx_curve_t curve,
496DEPRECATED
static inline void cx_edwards_compress_point(cx_curve_t curve,
uint8_t *p,
size_t p_len)
498 CX_THROW(cx_edwards_compress_point_no_throw(curve, p, p_len));
525WARN_UNUSED_RESULT cx_err_t cx_edwards_decompress_point_no_throw(cx_curve_t curve,
533DEPRECATED
static inline void cx_edwards_decompress_point(cx_curve_t curve,
537 CX_THROW(cx_edwards_decompress_point_no_throw(curve, p, p_len));
544DEPRECATED
static inline void cx_edward_compress_point(cx_curve_t curve,
uint8_t *p,
size_t p_len)
546 CX_THROW(cx_edwards_compress_point_no_throw(curve, p, p_len));
553DEPRECATED
static inline void cx_edward_decompress_point(cx_curve_t curve,
uint8_t *p,
size_t p_len)
555 CX_THROW(cx_edwards_decompress_point_no_throw(curve, p, p_len));