ed25519.h
1 
28 WOLFSSL_API
29 int wc_ed25519_make_key(WC_RNG* rng, int keysize, ed25519_key* key);
30 
73 WOLFSSL_API
74 int wc_ed25519_sign_msg(const byte* in, word32 inlen, byte* out,
75  word32 *outlen, ed25519_key* key);
76 
121 WOLFSSL_API
122 int wc_ed25519_verify_msg(const byte* sig, word32 siglen, const byte* msg,
123  word32 msglen, int* stat, ed25519_key* key);
124 
145 WOLFSSL_API
146 int wc_ed25519_init(ed25519_key* key);
147 
167 WOLFSSL_API
168 void wc_ed25519_free(ed25519_key* key);
169 
202 WOLFSSL_API
203 int wc_ed25519_import_public(const byte* in, word32 inLen, ed25519_key* key);
204 
241 WOLFSSL_API
242 int wc_ed25519_import_private_key(const byte* priv, word32 privSz,
243  const byte* pub, word32 pubSz, ed25519_key* key);
244 
283 WOLFSSL_API
284 int wc_ed25519_export_public(ed25519_key*, byte* out, word32* outLen);
285 
322 WOLFSSL_API
323 int wc_ed25519_export_private_only(ed25519_key* key, byte* out, word32* outLen);
324 
360 WOLFSSL_API
361 int wc_ed25519_export_private(ed25519_key* key, byte* out, word32* outLen);
362 
399 WOLFSSL_API
401  byte* priv, word32 *privSz,
402  byte* pub, word32 *pubSz);
403 
429 WOLFSSL_API
430 int wc_ed25519_size(ed25519_key* key);
431 
456 WOLFSSL_API
458 
482 WOLFSSL_API
484 
510 WOLFSSL_API
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 answ...
Definition: ed25519.c:439
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...
Definition: ed25519.c:572
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.
Definition: ed25519.c:263
WOLFSSL_API int wc_ed25519_priv_size(ed25519_key *key)
Returns the private key size (secret + public) in bytes.
Definition: ed25519.c:787
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 i...
Definition: ed25519.c:699
WOLFSSL_API int wc_ed25519_export_private(ed25519_key *key, byte *out, word32 *outLen)
Export the private key, including public part.
Definition: ed25519.c:722
WOLFSSL_API int wc_ed25519_pub_size(ed25519_key *key)
Returns the compressed key size in bytes (public key).
Definition: ed25519.c:796
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 ha...
Definition: ed25519.c:663
WOLFSSL_API int wc_ed25519_init(ed25519_key *key)
This function initializes an ed25519_key object for future use with message verification.
Definition: ed25519.c:513
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.
Definition: ed25519.c:94
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 ...
Definition: ed25519.c:545
WOLFSSL_API void wc_ed25519_free(ed25519_key *key)
This function frees an ed25519 object after it has been used.
Definition: ed25519.c:529
WOLFSSL_API int wc_ed25519_sig_size(ed25519_key *key)
This function returns the size of an ed25519 signature (64 in bytes).
Definition: ed25519.c:805
Definition: random.h:153
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.
Definition: ed25519.c:742
Definition: ed25519.h:78
WOLFSSL_API int wc_ed25519_size(ed25519_key *key)
This function returns the key size of an ed25519_key structure, or 32 bytes.
Definition: ed25519.c:778