11#include <botan/ed25519.h>
12#include <botan/internal/ed25519_internal.h>
13#include <botan/sha2_64.h>
37 const uint8_t m[],
size_t mlen,
39 const uint8_t domain_sep[],
size_t domain_sep_len)
53 sha.
update(domain_sep, domain_sep_len);
61 sha.
update(domain_sep, domain_sep_len);
72 const uint8_t sig[64],
74 const uint8_t domain_sep[],
size_t domain_sep_len)
90 sha.
update(domain_sep, domain_sep_len);
void update(const uint8_t in[], size_t length)
void final(uint8_t out[])
void ed25519_sign(uint8_t sig[64], const uint8_t m[], size_t mlen, const uint8_t sk[64], const uint8_t domain_sep[], size_t domain_sep_len)
void ed25519_gen_keypair(uint8_t *pk, uint8_t *sk, const uint8_t seed[32])
void ge_scalarmult_base(uint8_t out[32], const uint8_t in[32])
void copy_mem(T *out, const T *in, size_t n)
bool constant_time_compare(const uint8_t x[], const uint8_t y[], size_t len)
int ge_frombytes_negate_vartime(ge_p3 *, const uint8_t *)
bool ed25519_verify(const uint8_t *m, size_t mlen, const uint8_t sig[64], const uint8_t *pk, const uint8_t domain_sep[], size_t domain_sep_len)
void sc_reduce(uint8_t *)
void ge_double_scalarmult_vartime(uint8_t out[32], const uint8_t a[], const ge_p3 *A, const uint8_t b[])
void sc_muladd(uint8_t *, const uint8_t *, const uint8_t *, const uint8_t *)