27#include "curve25519.h"
35#define HAVE_SNTRUP761 1
38extern void crypto_hash_sha512(
unsigned char *out,
39 const unsigned char *in,
40 unsigned long long inlen);
53#define SNTRUP761_SECRETKEY_SIZE 1763
54#define SNTRUP761_PUBLICKEY_SIZE 1158
55#define SNTRUP761_CIPHERTEXT_SIZE 1039
56#define SNTRUP761_SIZE 32
58typedef void sntrup761_random_func(
void *ctx,
size_t length, uint8_t *dst);
60void sntrup761_keypair(uint8_t *pk,
63 sntrup761_random_func *random);
64void sntrup761_enc(uint8_t *c,
68 sntrup761_random_func *random);
69void sntrup761_dec(uint8_t *k,
const uint8_t *c,
const uint8_t *sk);
71typedef unsigned char ssh_sntrup761_pubkey[SNTRUP761_PUBLICKEY_SIZE];
72typedef unsigned char ssh_sntrup761_privkey[SNTRUP761_SECRETKEY_SIZE];
73typedef unsigned char ssh_sntrup761_ciphertext[SNTRUP761_CIPHERTEXT_SIZE];
75int ssh_client_sntrup761x25519_init(ssh_session session);
76void ssh_client_sntrup761x25519_remove_callbacks(ssh_session session);
79void ssh_server_sntrup761x25519_init(ssh_session session);