My Project
Functions
ed25519.h File Reference

Go to the source code of this file.

Functions

int wc_ed25519_make_public (ed25519_key *key, unsigned char *pubKey, word32 pubKeySz)
 This function generates the Ed25519 public key from the private key, stored in the ed25519_key object. It stores the public key in the buffer pubKey. More...
 
int wc_ed25519_make_key (WC_RNG *rng, int keysize, ed25519_key *key)
 This function generates a new Ed25519 key and stores it in key. More...
 
int wc_ed25519_sign_msg (const byte *in, word32 inlen, byte *out, word32 *outlen, ed25519_key *key)
 This function signs a message using an ed25519_key object to guarantee authenticity. More...
 
int wc_ed25519ctx_sign_msg (const byte *in, word32 inlen, byte *out, word32 *outlen, ed25519_key *key, const byte *context, byte contextLen)
 This function signs a message using an ed25519_key object to guarantee authenticity. The context is part of the data signed. More...
 
int wc_ed25519ph_sign_hash (const byte *hash, word32 hashLen, byte *out, word32 *outLen, ed25519_key *key, const byte *context, byte contextLen)
 This function signs a message digest using an ed25519_key object to guarantee authenticity. The context is included as part of the data signed. The message is pre-hashed before signature calculation. The hash algorithm used to create message digest must be SHAKE-256. More...
 
int wc_ed25519ph_sign_msg (const byte *in, word32 inlen, byte *out, word32 *outlen, ed25519_key *key, const byte *context, byte contextLen)
 This function signs a message using an ed25519_key object to guarantee authenticity. The context is included as part of the data signed. The message is pre-hashed before signature calculation. More...
 
int wc_ed25519_verify_msg (const byte *sig, word32 siglen, const byte *msg, word32 msgLen, int *ret, ed25519_key *key)
 This function verifies the Ed25519 signature of a message to ensure authenticity. It returns the answer through ret, with 1 corresponding to a valid signature, and 0 corresponding to an invalid signature. More...
 
int wc_ed25519ctx_verify_msg (const byte *sig, word32 siglen, const byte *msg, word32 msgLen, int *ret, ed25519_key *key, const byte *context, byte contextLen)
 This function verifies the Ed25519 signature of a message to ensure authenticity. The context is included as part of the data verified. It returns the answer through ret, with 1 corresponding to a valid signature, and 0 corresponding to an invalid signature. More...
 
int wc_ed25519ph_verify_hash (const byte *sig, word32 siglen, const byte *hash, word32 hashLen, int *ret, ed25519_key *key, const byte *context, byte contextLen)
 This function verifies the Ed25519 signature of the digest of a message to ensure authenticity. The context is included as part of the data verified. The hash is the pre-hashed message before signature calculation. The hash algorithm used to create message digest must be SHA-512. The answer is returned through ret, with 1 corresponding to a valid signature, and 0 corresponding to an invalid signature. More...
 
int wc_ed25519ph_verify_msg (const byte *sig, word32 siglen, const byte *msg, word32 msgLen, int *ret, ed25519_key *key, const byte *context, byte contextLen)
 This function verifies the Ed25519 signature of a message to ensure authenticity. The context is included as part of the data verified. The message is pre-hashed before verification. It returns the answer through ret, with 1 corresponding to a valid signature, and 0 corresponding to an invalid signature. More...
 
int wc_ed25519_init (ed25519_key *key)
 This function initializes an ed25519_key object for future use with message verification. More...
 
void wc_ed25519_free (ed25519_key *key)
 This function frees an Ed25519 object after it has been used. More...
 
int wc_ed25519_import_public (const byte *in, word32 inLen, ed25519_key *key)
 This function imports a public ed25519_key from a buffer containing the public key. This function will handle both compressed and uncompressed keys. The public key is checked that it matches the private key when one is present. More...
 
int wc_ed25519_import_public_ex (const byte *in, word32 inLen, ed25519_key *key, int trusted)
 This function imports a public ed25519_key from a buffer containing the public key. This function will handle both compressed and uncompressed keys. Check public key matches private key, when present, when not trusted. More...
 
int wc_ed25519_import_private_only (const byte *priv, word32 privSz, ed25519_key *key)
 This function imports an Ed25519 private key only from a buffer. More...
 
int wc_ed25519_import_private_key (const byte *priv, word32 privSz, const byte *pub, word32 pubSz, ed25519_key *key)
 This function imports a public/private Ed25519 key pair from a pair of buffers. This function will handle both compressed and uncompressed keys. The public key is assumed to be untrusted and is checked against the private key. More...
 
int wc_ed25519_import_private_key_ex (const byte *priv, word32 privSz, const byte *pub, word32 pubSz, ed25519_key *key, int trusted)
 This function imports a public/private Ed25519 key pair from a pair of buffers. This function will handle both compressed and uncompressed keys. The public is checked against private key if not trusted. More...
 
int wc_ed25519_export_public (ed25519_key *key, byte *out, word32 *outLen)
 This function exports the private key from an ed25519_key structure. It stores the public key in the buffer out, and sets the bytes written to this buffer in outLen. More...
 
int wc_ed25519_export_private_only (ed25519_key *key, byte *out, word32 *outLen)
 This function exports only the private key from an ed25519_key structure. It stores the private key in the buffer out, and sets the bytes written to this buffer in outLen. More...
 
int wc_ed25519_export_private (ed25519_key *key, byte *out, word32 *outLen)
 This function exports the key pair from an ed25519_key structure. It stores the key pair in the buffer out, and sets the bytes written to this buffer in outLen. More...
 
int wc_ed25519_export_key (ed25519_key *key, byte *priv, word32 *privSz, byte *pub, word32 *pubSz)
 This function exports the private and public key separately from an ed25519_key structure. It stores the private key in the buffer priv, and sets the bytes written to this buffer in privSz. It stores the public key in the buffer pub, and sets the bytes written to this buffer in pubSz. More...
 
int wc_ed25519_check_key (ed25519_key *key)
 This function checks the public key in ed25519_key structure matches the private key. More...
 
int wc_ed25519_size (ed25519_key *key)
 This function returns the size of an Ed25519 - 32 bytes. More...
 
int wc_ed25519_priv_size (ed25519_key *key)
 This function returns the private key size (secret + public) in bytes. More...
 
int wc_ed25519_pub_size (ed25519_key *key)
 This function returns the compressed key size in bytes (public key). More...
 
int wc_ed25519_sig_size (ed25519_key *key)
 This function returns the size of an Ed25519 signature (64 in bytes). More...