27#ifndef __NILOREA_ECC_HEADER
28#define __NILOREA_ECC_HEADER
46#define N_ECC_KEY_LEN 32
48#define N_ECC_SIG_LEN 64
57#define N_ECC_AVAILABLE N_OSSL_HAVE_RAW_EVP_25519
64int n_x25519_derive(
const unsigned char* priv,
const unsigned char* peer_pub,
unsigned char* shared);
66int n_ed25519_sign(
const unsigned char* priv,
const unsigned char* msg,
size_t len,
unsigned char* sig);
68int n_ed25519_verify(
const unsigned char* pub,
const unsigned char* msg,
size_t len,
const unsigned char* sig);
int n_ed25519_keypair(unsigned char *priv, unsigned char *pub)
generate an Ed25519 keypair as N_ECC_KEY_LEN-byte raw private and public keys.
int n_ed25519_verify(const unsigned char *pub, const unsigned char *msg, size_t len, const unsigned char *sig)
Ed25519 verify the N_ECC_SIG_LEN-byte sig over len bytes of msg under the N_ECC_KEY_LEN-byte raw publ...
int n_x25519_keypair(unsigned char *priv, unsigned char *pub)
generate an X25519 keypair as N_ECC_KEY_LEN-byte raw private and public keys.
int n_ed25519_sign(const unsigned char *priv, const unsigned char *msg, size_t len, unsigned char *sig)
Ed25519 sign len bytes of msg with the N_ECC_KEY_LEN-byte raw private key into sig (N_ECC_SIG_LEN byt...
int n_x25519_derive(const unsigned char *priv, const unsigned char *peer_pub, unsigned char *shared)
X25519 ECDH: derive the N_ECC_KEY_LEN-byte shared secret from our raw private key and the peer's raw ...
One place deciding which OpenSSL/LibreSSL features the build can use.