4 #ifndef TOR_CRYPTO_CURVE25519_H 5 #define TOR_CRYPTO_CURVE25519_H 7 #include "testsupport.h" 10 #include "crypto_openssl_mgt.h" 13 #define CURVE25519_PUBKEY_LEN 32 15 #define CURVE25519_SECKEY_LEN 32 17 #define CURVE25519_OUTPUT_LEN 32 25 uint8_t public_key[CURVE25519_PUBKEY_LEN];
34 uint8_t secret_key[CURVE25519_SECKEY_LEN];
71 #ifdef CRYPTO_CURVE25519_PRIVATE 73 const uint8_t *basepoint);
78 #define CURVE25519_BASE64_PADDED_LEN 44 int curve25519_public_key_is_ok(const curve25519_public_key_t *key)
Definition: crypto_curve25519.c:130
int curve25519_keypair_read_from_file(curve25519_keypair_t *keypair_out, char **tag_out, const char *fname)
Definition: crypto_curve25519.c:231
void curve25519_set_impl_params(int use_ed)
Definition: crypto_curve25519.c:116
Header file to define uint32_t and friends.
void curve25519_handshake(uint8_t *output, const curve25519_secret_key_t *skey, const curve25519_public_key_t *pkey)
Definition: crypto_curve25519.c:266
int curve25519_keypair_write_to_file(const curve25519_keypair_t *keypair, const char *fname, const char *tag)
Definition: crypto_curve25519.c:205
int curve25519_secret_key_generate(curve25519_secret_key_t *key_out, int extra_strong)
Definition: crypto_curve25519.c:159
void curve25519_public_key_generate(curve25519_public_key_t *key_out, const curve25519_secret_key_t *seckey)
Definition: crypto_curve25519.c:177
Definition: crypto_curve25519.h:38
Headers for crypto_digest.c.
int curve25519_rand_seckey_bytes(uint8_t *out, int extra_strong)
Definition: crypto_curve25519.c:145
Definition: crypto_curve25519.h:33
Definition: crypto_curve25519.h:24
STATIC int curve25519_impl(uint8_t *output, const uint8_t *secret, const uint8_t *point)
Definition: crypto_curve25519.c:63
int curve25519_keypair_generate(curve25519_keypair_t *keypair_out, int extra_strong)
Definition: crypto_curve25519.c:188
void curve25519_init(void)
Definition: crypto_curve25519.c:355
STATIC int curve25519_basepoint_impl(uint8_t *output, const uint8_t *secret)
Definition: crypto_curve25519.c:88