My Project
|
Go to the source code of this file.
Functions | |
int | wc_curve25519_make_key (WC_RNG *rng, int keysize, curve25519_key *key) |
This function generates a Curve25519 key using the given random number generator, rng, of the size given (keysize), and stores it in the given curve25519_key structure. It should be called after the key structure has been initialized through wc_curve25519_init(). More... | |
int | wc_curve25519_shared_secret (curve25519_key *private_key, curve25519_key *public_key, byte *out, word32 *outlen) |
This function computes a shared secret key given a secret private key and a received public key. It stores the generated secret key in the buffer out and assigns the variable of the secret key to outlen. Only supports big endian. More... | |
int | wc_curve25519_shared_secret_ex (curve25519_key *private_key, curve25519_key *public_key, byte *out, word32 *outlen, int endian) |
This function computes a shared secret key given a secret private key and a received public key. It stores the generated secret key in the buffer out and assigns the variable of the secret key to outlen. Supports both big and little endian. More... | |
int | wc_curve25519_init (curve25519_key *key) |
This function initializes a Curve25519 key. It should be called before generating a key for the structure. More... | |
void | wc_curve25519_free (curve25519_key *key) |
This function frees a Curve25519 object. More... | |
int | wc_curve25519_import_private (const byte *priv, word32 privSz, curve25519_key *key) |
This function imports a curve25519 private key only. (Big endian). More... | |
int | wc_curve25519_import_private_ex (const byte *priv, word32 privSz, curve25519_key *key, int endian) |
curve25519 private key import only. (Big or Little endian). More... | |
int | wc_curve25519_import_private_raw (const byte *priv, word32 privSz, const byte *pub, word32 pubSz, curve25519_key *key) |
This function imports a public-private key pair into a curve25519_key structure. Big endian only. More... | |
int | wc_curve25519_import_private_raw_ex (const byte *priv, word32 privSz, const byte *pub, word32 pubSz, curve25519_key *key, int endian) |
This function imports a public-private key pair into a curve25519_key structure. Supports both big and little endian. More... | |
int | wc_curve25519_export_private_raw (curve25519_key *key, byte *out, word32 *outLen) |
This function exports a private key from a curve25519_key structure and stores it in the given out buffer. It also sets outLen to be the size of the exported key. Big Endian only. More... | |
int | wc_curve25519_export_private_raw_ex (curve25519_key *key, byte *out, word32 *outLen, int endian) |
This function exports a private key from a curve25519_key structure and stores it in the given out buffer. It also sets outLen to be the size of the exported key. Can specify whether it's big or little endian. More... | |
int | wc_curve25519_import_public (const byte *in, word32 inLen, curve25519_key *key) |
This function imports a public key from the given in buffer and stores it in the curve25519_key structure. More... | |
int | wc_curve25519_import_public_ex (const byte *in, word32 inLen, curve25519_key *key, int endian) |
This function imports a public key from the given in buffer and stores it in the curve25519_key structure. More... | |
int | wc_curve25519_check_public (const byte *pub, word32 pubSz, int endian) |
This function checks that a public key buffer holds a valid Curve25519 key value given the endian ordering. More... | |
int | wc_curve25519_export_public (curve25519_key *key, byte *out, word32 *outLen) |
This function exports a public key from the given key structure and stores the result in the out buffer. Big endian only. More... | |
int | wc_curve25519_export_public_ex (curve25519_key *key, byte *out, word32 *outLen, int endian) |
This function exports a public key from the given key structure and stores the result in the out buffer. Supports both big and little endian. More... | |
int | wc_curve25519_export_key_raw (curve25519_key *key, byte *priv, word32 *privSz, byte *pub, word32 *pubSz) |
Export Curve25519 key pair. Big endian only. More... | |
int | wc_curve25519_export_key_raw_ex (curve25519_key *key, byte *priv, word32 *privSz, byte *pub, word32 *pubSz, int endian) |
Export curve25519 key pair. Big or little endian. More... | |
int | wc_curve25519_size (curve25519_key *key) |
This function returns the key size of the given key structure. More... | |