sc25519
void ge25519_double_scalarmult_vartime(ge25519 *r, const ge25519 *p1, const sc25519 *s1, const ge25519 *p2, const sc25519 *s2);
void ge25519_scalarmult_base(ge25519 *r, const sc25519 *s);
sc25519 schram, scs;
sc25519 scsk;
sc25519 sck, scs, scsk;
void ge25519_double_scalarmult_vartime(ge25519_p3 *r, const ge25519_p3 *p1, const sc25519 *s1, const ge25519_p3 *p2, const sc25519 *s2)
void ge25519_scalarmult_base(ge25519_p3 *r, const sc25519 *s)
void sc25519_from32bytes(sc25519 *r, const unsigned char x[32])
void sc25519_from64bytes(sc25519 *r, const unsigned char x[64])
void sc25519_from_shortsc(sc25519 *r, const shortsc25519 *x)
void sc25519_to32bytes(unsigned char r[32], const sc25519 *x)
int sc25519_iszero_vartime(const sc25519 *x)
int sc25519_isshort_vartime(const sc25519 *x)
int sc25519_lt_vartime(const sc25519 *x, const sc25519 *y)
void sc25519_add(sc25519 *r, const sc25519 *x, const sc25519 *y)
void sc25519_sub_nored(sc25519 *r, const sc25519 *x, const sc25519 *y)
void sc25519_mul(sc25519 *r, const sc25519 *x, const sc25519 *y)
void sc25519_mul_shortsc(sc25519 *r, const sc25519 *x, const shortsc25519 *y)
sc25519 t;
void sc25519_window3(signed char r[85], const sc25519 *s)
void sc25519_window5(signed char r[51], const sc25519 *s)
static void reduce_add_sub(sc25519 *r)
void sc25519_2interleave2(unsigned char r[127], const sc25519 *s1, const sc25519 *s2)
static void barrett_reduce(sc25519 *r, const crypto_uint32 x[64])
void sc25519_from32bytes(sc25519 *r, const unsigned char x[32]);
void sc25519_from64bytes(sc25519 *r, const unsigned char x[64]);
void sc25519_from_shortsc(sc25519 *r, const shortsc25519 *x);
void sc25519_to32bytes(unsigned char r[32], const sc25519 *x);
int sc25519_iszero_vartime(const sc25519 *x);
int sc25519_isshort_vartime(const sc25519 *x);
int sc25519_lt_vartime(const sc25519 *x, const sc25519 *y);
void sc25519_add(sc25519 *r, const sc25519 *x, const sc25519 *y);
void sc25519_sub_nored(sc25519 *r, const sc25519 *x, const sc25519 *y);
void sc25519_mul(sc25519 *r, const sc25519 *x, const sc25519 *y);
void sc25519_mul_shortsc(sc25519 *r, const sc25519 *x, const shortsc25519 *y);
void sc25519_window3(signed char r[85], const sc25519 *s);
void sc25519_window5(signed char r[51], const sc25519 *s);
void sc25519_2interleave2(unsigned char r[127], const sc25519 *s1, const sc25519 *s2);
static void ge25519_double_scalarmult_vartime(ge25519_p3 *r, const ge25519_p3 *p1, const sc25519 *s1, const ge25519_p3 *p2, const sc25519 *s2)
static void ge25519_scalarmult_base(ge25519_p3 *r, const sc25519 *s)
sc25519 scsk;
sc25519 sck, scs, scsk;
sc25519 schram, scs;
static void sc25519_from32bytes(sc25519 *r, const unsigned char x[32]);
static void sc25519_from64bytes(sc25519 *r, const unsigned char x[64]);
static void sc25519_to32bytes(unsigned char r[32], const sc25519 *x);
static void sc25519_add(sc25519 *r, const sc25519 *x, const sc25519 *y);
static void sc25519_mul(sc25519 *r, const sc25519 *x, const sc25519 *y);
static void sc25519_window3(signed char r[85], const sc25519 *s);
static void sc25519_2interleave2(unsigned char r[127], const sc25519 *s1, const sc25519 *s2);
static void sc25519_reduce_add_sub(sc25519 *r)
static void barrett_reduce(sc25519 *r, const crypto_uint32 x[64])
static void sc25519_from32bytes(sc25519 *r, const unsigned char x[32])
static void sc25519_from64bytes(sc25519 *r, const unsigned char x[64])
static void sc25519_to32bytes(unsigned char r[32], const sc25519 *x)
static void sc25519_add(sc25519 *r, const sc25519 *x, const sc25519 *y)
static void sc25519_mul(sc25519 *r, const sc25519 *x, const sc25519 *y)
static void sc25519_window3(signed char r[85], const sc25519 *s)
static void sc25519_2interleave2(unsigned char r[127], const sc25519 *s1, const sc25519 *s2)
static void ge25519_double_scalarmult_vartime(ge25519 *r, const ge25519 *p1, const sc25519 *s1, const ge25519 *p2, const sc25519 *s2);
static void ge25519_scalarmult_base(ge25519 *r, const sc25519 *s);