My Project
Loading...
Searching...
No Matches
ed25519.h File Reference

Go to the source code of this file.

Data Structures

struct  ed25519_key
 

Functions

WOLFSSL_API int wc_ed25519_make_public (ed25519_key *key, unsigned char *pubKey, word32 pubKeySz)
 
WOLFSSL_API 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.
 
WOLFSSL_API int wc_ed25519_sign_msg (const byte *in, word32 inLen, byte *out, word32 *outLen, ed25519_key *key)
 This function signs a message digest using an ed25519_key object to guarantee authenticity.
 
WOLFSSL_API int wc_ed25519ctx_sign_msg (const byte *in, word32 inLen, byte *out, word32 *outLen, ed25519_key *key, const byte *context, byte contextLen)
 
WOLFSSL_API int wc_ed25519ph_sign_hash (const byte *hash, word32 hashLen, byte *out, word32 *outLen, ed25519_key *key, const byte *context, byte contextLen)
 
WOLFSSL_API int wc_ed25519ph_sign_msg (const byte *in, word32 inLen, byte *out, word32 *outLen, ed25519_key *key, const byte *context, byte contextLen)
 
WOLFSSL_API int wc_ed25519_verify_msg (const byte *sig, word32 sigLen, const byte *msg, word32 msgLen, int *stat, ed25519_key *key)
 This function verifies the ed25519 signature of a message to ensure authenticity. It returns the answer through stat, with 1 corresponding to a valid signature, and 0 corresponding to an invalid signature.
 
WOLFSSL_API int wc_ed25519ctx_verify_msg (const byte *sig, word32 sigLen, const byte *msg, word32 msgLen, int *stat, ed25519_key *key, const byte *context, byte contextLen)
 
WOLFSSL_API int wc_ed25519ph_verify_hash (const byte *sig, word32 sigLen, const byte *hash, word32 hashLen, int *stat, ed25519_key *key, const byte *context, byte contextLen)
 
WOLFSSL_API int wc_ed25519ph_verify_msg (const byte *sig, word32 sigLen, const byte *msg, word32 msgLen, int *stat, ed25519_key *key, const byte *context, byte contextLen)
 
WOLFSSL_API int wc_ed25519_init (ed25519_key *key)
 This function initializes an ed25519_key object for future use with message verification.
 
WOLFSSL_API void wc_ed25519_free (ed25519_key *key)
 This function frees an ed25519 object after it has been used.
 
WOLFSSL_API int wc_ed25519_import_public (const byte *in, word32 inLen, ed25519_key *key)
 This function imports a public ed25519_key pair from a buffer containing the public key. This function will handle both compressed and uncompressed keys.
 
WOLFSSL_API int wc_ed25519_import_private_only (const byte *priv, word32 privSz, ed25519_key *key)
 
WOLFSSL_API 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.
 
WOLFSSL_API int wc_ed25519_export_public (ed25519_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.
 
WOLFSSL_API 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.
 
WOLFSSL_API int wc_ed25519_export_private (ed25519_key *key, byte *out, word32 *outLen)
 Export the private key, including public part.
 
WOLFSSL_API int wc_ed25519_export_key (ed25519_key *key, byte *priv, word32 *privSz, byte *pub, word32 *pubSz)
 Export full private key and public key.
 
WOLFSSL_API int wc_ed25519_check_key (ed25519_key *key)
 
WOLFSSL_API int wc_ed25519_size (ed25519_key *key)
 This function returns the key size of an ed25519_key structure, or 32 bytes.
 
WOLFSSL_API int wc_ed25519_priv_size (ed25519_key *key)
 Returns the private key size (secret + public) in bytes.
 
WOLFSSL_API int wc_ed25519_pub_size (ed25519_key *key)
 Returns the compressed key size in bytes (public key).
 
WOLFSSL_API int wc_ed25519_sig_size (ed25519_key *key)
 This function returns the size of an ed25519 signature (64 in bytes).
 

Variables

 C
 

Variable Documentation

◆ C

C
extern
Initial value:
{
#endif
#define ED25519_KEY_SIZE 32
#define ED25519_SIG_SIZE 64
#define ED25519_PUB_KEY_SIZE 32
#define ED25519_PRV_KEY_SIZE (ED25519_PUB_KEY_SIZE+ED25519_KEY_SIZE)
enum {
Ed25519 = -1,
Ed25519ctx = 0,
Ed25519ph = 1,
}