9 #ifndef TOR_CRYPTO_CURVE25519_H
10 #define TOR_CRYPTO_CURVE25519_H
71 #ifdef CRYPTO_CURVE25519_PRIVATE
73 const uint8_t *basepoint);
STATIC int curve25519_impl(uint8_t *output, const uint8_t *secret, const uint8_t *point)
STATIC int curve25519_basepoint_impl(uint8_t *output, const uint8_t *secret)
int curve25519_public_key_is_ok(const curve25519_public_key_t *)
int curve25519_secret_key_generate(curve25519_secret_key_t *key_out, int extra_strong)
int curve25519_public_from_base64(curve25519_public_key_t *pkey, const char *input)
int curve25519_rand_seckey_bytes(uint8_t *out, int extra_strong)
void curve25519_public_key_generate(curve25519_public_key_t *key_out, const curve25519_secret_key_t *seckey)
int curve25519_keypair_write_to_file(const curve25519_keypair_t *keypair, const char *fname, const char *tag)
int curve25519_keypair_read_from_file(curve25519_keypair_t *keypair_out, char **tag_out, const char *fname)
int curve25519_keypair_generate(curve25519_keypair_t *keypair_out, int extra_strong)
void curve25519_public_to_base64(char *output, const curve25519_public_key_t *pkey, bool pad)
void curve25519_init(void)
void curve25519_handshake(uint8_t *output, const curve25519_secret_key_t *, const curve25519_public_key_t *)
void curve25519_set_impl_params(int use_ed)
Headers for crypto_digest.c.
Headers for crypto_openssl_mgt.c.
Macros to implement mocking and selective exposure for the test code.
Integer definitions used throughout Tor.
Definitions for sizes of x25519 keys and elements.
#define CURVE25519_PUBKEY_LEN
#define CURVE25519_SECKEY_LEN