74WARN_UNUSED_RESULT cx_err_t cx_eddsa_sign_no_throw(
const cx_ecfp_private_key_t *pvkey,
 
   85DEPRECATED 
static inline size_t cx_eddsa_sign(
const cx_ecfp_private_key_t *pvkey,
 
   88                                              const unsigned char         *hash,
 
   89                                              unsigned int                 hash_len,
 
   90                                              const unsigned char         *ctx,
 
  101    CX_THROW(cx_eddsa_sign_no_throw(pvkey, hashID, hash, hash_len, sig, sig_len));
 
  104    CX_THROW(cx_ecdomain_parameters_length(pvkey->curve, &size));
 
  134WARN_UNUSED_RESULT 
bool cx_eddsa_verify_no_throw(
const cx_ecfp_public_key_t *pukey,
 
  174static inline int cx_eddsa_verify(
const cx_ecfp_public_key_t *pukey,
 
  177                                  const unsigned char        *hash,
 
  178                                  unsigned int                hash_len,
 
  179                                  const unsigned char        *ctx,
 
  180                                  unsigned int                ctx_len,
 
  181                                  const unsigned char        *sig,
 
  182                                  unsigned int                sig_len)
 
  188    return cx_eddsa_verify_no_throw(pukey, hashID, hash, hash_len, sig, sig_len);
 
  201void cx_encode_coord(uint8_t *coord, 
int len, 
int sign);
 
  212int cx_decode_coord(uint8_t *coord, 
int len);
 
  227cx_err_t cx_eddsa_sign_init_first_hash(cx_hash_t                   *hash_context,
 
  228                                       const cx_ecfp_private_key_t *private_key,
 
  249cx_err_t cx_eddsa_sign_init_second_hash(cx_hash_t                   *hash_context,
 
  250                                        const cx_ecfp_private_key_t *private_key,
 
  268cx_err_t cx_eddsa_sign_hash(
const cx_ecfp_private_key_t *pv_key,
 
  289cx_err_t cx_eddsa_verify_init_hash(cx_hash_t                  *hash_context,
 
  290                                   const cx_ecfp_public_key_t *public_key,
 
  292                                   const uint8_t              *sig_r,
 
  310cx_err_t cx_eddsa_update_hash(cx_hash_t *hash_context, 
const uint8_t *msg, 
size_t msg_len);
 
  323cx_err_t cx_eddsa_final_hash(cx_hash_t *hash_context, uint8_t *hash, 
size_t hash_len);
 
  337bool cx_eddsa_verify_hash(
const cx_ecfp_public_key_t *public_key,
 
  340                          const uint8_t              *signature,
 
  341                          size_t                      signature_len);
 
  356WARN_UNUSED_RESULT cx_err_t cx_eddsa_get_public_key_internal(
const cx_ecfp_private_key_t *pv_key,
 
  358                                                             cx_ecfp_public_key_t        *pu_key,
 
Key pair generation based on elliptic curves.