Monero
Loading...
Searching...
No Matches
ge25519.h File Reference
#include "fe25519.h"
#include "sc25519.h"
Include dependency graph for ge25519.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  ge25519
struct  ge25519_p1p1
struct  ge25519_p2
struct  ge25519_niels
struct  ge25519_pniels

Macros

#define ge25519   crypto_sign_ed25519_amd64_64_ge25519
#define ge25519_base   crypto_sign_ed25519_amd64_64_ge25519_base
#define ge25519_unpackneg_vartime   crypto_sign_ed25519_amd64_64_unpackneg_vartime
#define ge25519_pack   crypto_sign_ed25519_amd64_64_pack
#define ge25519_isneutral_vartime   crypto_sign_ed25519_amd64_64_isneutral_vartime
#define ge25519_add   crypto_sign_ed25519_amd64_64_ge25519_add
#define ge25519_double   crypto_sign_ed25519_amd64_64_ge25519_double
#define ge25519_double_scalarmult_vartime   crypto_sign_ed25519_amd64_64_double_scalarmult_vartime
#define ge25519_multi_scalarmult_vartime   crypto_sign_ed25519_amd64_64_ge25519_multi_scalarmult_vartime
#define ge25519_scalarmult_base   crypto_sign_ed25519_amd64_64_scalarmult_base
#define ge25519_p1p1_to_p2   crypto_sign_ed25519_amd64_64_ge25519_p1p1_to_p2
#define ge25519_p1p1_to_p3   crypto_sign_ed25519_amd64_64_ge25519_p1p1_to_p3
#define ge25519_add_p1p1   crypto_sign_ed25519_amd64_64_ge25519_add_p1p1
#define ge25519_dbl_p1p1   crypto_sign_ed25519_amd64_64_ge25519_dbl_p1p1
#define choose_t   crypto_sign_ed25519_amd64_64_choose_t
#define ge25519_nielsadd2   crypto_sign_ed25519_amd64_64_ge25519_nielsadd2
#define ge25519_nielsadd_p1p1   crypto_sign_ed25519_amd64_64_ge25519_nielsadd_p1p1
#define ge25519_pnielsadd_p1p1   crypto_sign_ed25519_amd64_64_ge25519_pnielsadd_p1p1
#define ge25519_p3   ge25519

Functions

void ge25519_p1p1_to_p2 (ge25519_p2 *r, const ge25519_p1p1 *p)
void ge25519_p1p1_to_p3 (ge25519_p3 *r, const ge25519_p1p1 *p)
void ge25519_add_p1p1 (ge25519_p1p1 *r, const ge25519_p3 *p, const ge25519_p3 *q)
void ge25519_dbl_p1p1 (ge25519_p1p1 *r, const ge25519_p2 *p)
void choose_t (ge25519_niels *t, unsigned long long pos, signed long long b, const ge25519_niels *base_multiples)
void ge25519_nielsadd2 (ge25519_p3 *r, const ge25519_niels *q)
void ge25519_nielsadd_p1p1 (ge25519_p1p1 *r, const ge25519_p3 *p, const ge25519_niels *q)
void ge25519_pnielsadd_p1p1 (ge25519_p1p1 *r, const ge25519_p3 *p, const ge25519_pniels *q)
int ge25519_unpackneg_vartime (ge25519 *r, const unsigned char p[32])
void ge25519_pack (unsigned char r[32], const ge25519 *p)
int ge25519_isneutral_vartime (const ge25519 *p)
void ge25519_add (ge25519 *r, const ge25519 *p, const ge25519 *q)
void ge25519_double (ge25519 *r, const ge25519 *p)
void ge25519_double_scalarmult_vartime (ge25519 *r, const ge25519 *p1, const sc25519 *s1, const sc25519 *s2)
void ge25519_multi_scalarmult_vartime (ge25519 *r, ge25519 *p, sc25519 *s, const unsigned long long npoints)
void ge25519_scalarmult_base (ge25519 *r, const sc25519 *s)

Variables

const ge25519 ge25519_base

Macro Definition Documentation

◆ choose_t

#define choose_t   crypto_sign_ed25519_amd64_64_choose_t

◆ ge25519

#define ge25519   crypto_sign_ed25519_amd64_64_ge25519

◆ ge25519_add

#define ge25519_add   crypto_sign_ed25519_amd64_64_ge25519_add

◆ ge25519_add_p1p1

#define ge25519_add_p1p1   crypto_sign_ed25519_amd64_64_ge25519_add_p1p1

◆ ge25519_base

#define ge25519_base   crypto_sign_ed25519_amd64_64_ge25519_base

◆ ge25519_dbl_p1p1

#define ge25519_dbl_p1p1   crypto_sign_ed25519_amd64_64_ge25519_dbl_p1p1

◆ ge25519_double

#define ge25519_double   crypto_sign_ed25519_amd64_64_ge25519_double

◆ ge25519_double_scalarmult_vartime

#define ge25519_double_scalarmult_vartime   crypto_sign_ed25519_amd64_64_double_scalarmult_vartime

◆ ge25519_isneutral_vartime

#define ge25519_isneutral_vartime   crypto_sign_ed25519_amd64_64_isneutral_vartime

◆ ge25519_multi_scalarmult_vartime

#define ge25519_multi_scalarmult_vartime   crypto_sign_ed25519_amd64_64_ge25519_multi_scalarmult_vartime

◆ ge25519_nielsadd2

#define ge25519_nielsadd2   crypto_sign_ed25519_amd64_64_ge25519_nielsadd2

◆ ge25519_nielsadd_p1p1

#define ge25519_nielsadd_p1p1   crypto_sign_ed25519_amd64_64_ge25519_nielsadd_p1p1

◆ ge25519_p1p1_to_p2

#define ge25519_p1p1_to_p2   crypto_sign_ed25519_amd64_64_ge25519_p1p1_to_p2

◆ ge25519_p1p1_to_p3

#define ge25519_p1p1_to_p3   crypto_sign_ed25519_amd64_64_ge25519_p1p1_to_p3

◆ ge25519_p3

#define ge25519_p3   ge25519

◆ ge25519_pack

#define ge25519_pack   crypto_sign_ed25519_amd64_64_pack

◆ ge25519_pnielsadd_p1p1

#define ge25519_pnielsadd_p1p1   crypto_sign_ed25519_amd64_64_ge25519_pnielsadd_p1p1

◆ ge25519_scalarmult_base

#define ge25519_scalarmult_base   crypto_sign_ed25519_amd64_64_scalarmult_base

◆ ge25519_unpackneg_vartime

#define ge25519_unpackneg_vartime   crypto_sign_ed25519_amd64_64_unpackneg_vartime

Function Documentation

◆ choose_t()

void choose_t ( ge25519_niels * t,
unsigned long long pos,
signed long long b,
const ge25519_niels * base_multiples )
extern

◆ ge25519_add()

void ge25519_add ( ge25519 * r,
const ge25519 * p,
const ge25519 * q )
extern

◆ ge25519_add_p1p1()

void ge25519_add_p1p1 ( ge25519_p1p1 * r,
const ge25519_p3 * p,
const ge25519_p3 * q )
extern

◆ ge25519_dbl_p1p1()

void ge25519_dbl_p1p1 ( ge25519_p1p1 * r,
const ge25519_p2 * p )
extern

◆ ge25519_double()

void ge25519_double ( ge25519 * r,
const ge25519 * p )
extern

◆ ge25519_double_scalarmult_vartime()

void ge25519_double_scalarmult_vartime ( ge25519 * r,
const ge25519 * p1,
const sc25519 * s1,
const sc25519 * s2 )
extern

◆ ge25519_isneutral_vartime()

int ge25519_isneutral_vartime ( const ge25519 * p)
extern

◆ ge25519_multi_scalarmult_vartime()

void ge25519_multi_scalarmult_vartime ( ge25519 * r,
ge25519 * p,
sc25519 * s,
const unsigned long long npoints )
extern

◆ ge25519_nielsadd2()

void ge25519_nielsadd2 ( ge25519_p3 * r,
const ge25519_niels * q )
extern

◆ ge25519_nielsadd_p1p1()

void ge25519_nielsadd_p1p1 ( ge25519_p1p1 * r,
const ge25519_p3 * p,
const ge25519_niels * q )
extern

◆ ge25519_p1p1_to_p2()

void ge25519_p1p1_to_p2 ( ge25519_p2 * r,
const ge25519_p1p1 * p )
extern

◆ ge25519_p1p1_to_p3()

void ge25519_p1p1_to_p3 ( ge25519_p3 * r,
const ge25519_p1p1 * p )
extern

◆ ge25519_pack()

void ge25519_pack ( unsigned char r[32],
const ge25519 * p )
extern

◆ ge25519_pnielsadd_p1p1()

void ge25519_pnielsadd_p1p1 ( ge25519_p1p1 * r,
const ge25519_p3 * p,
const ge25519_pniels * q )
extern

◆ ge25519_scalarmult_base()

void ge25519_scalarmult_base ( ge25519 * r,
const sc25519 * s )
extern

◆ ge25519_unpackneg_vartime()

int ge25519_unpackneg_vartime ( ge25519 * r,
const unsigned char p[32] )
extern

Variable Documentation

◆ ge25519_base

const ge25519 ge25519_base
extern