Monero
Classes | Macros | Functions | Variables
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 
)

◆ ge25519_add()

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

◆ ge25519_add_p1p1()

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

◆ ge25519_dbl_p1p1()

void ge25519_dbl_p1p1 ( ge25519_p1p1 r,
const ge25519_p2 p 
)

◆ ge25519_double()

void ge25519_double ( ge25519 r,
const ge25519 p 
)

◆ ge25519_double_scalarmult_vartime()

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

◆ ge25519_isneutral_vartime()

int ge25519_isneutral_vartime ( const ge25519 p)

◆ ge25519_multi_scalarmult_vartime()

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

◆ ge25519_nielsadd2()

void ge25519_nielsadd2 ( ge25519_p3 r,
const ge25519_niels q 
)

◆ ge25519_nielsadd_p1p1()

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

◆ ge25519_p1p1_to_p2()

void ge25519_p1p1_to_p2 ( ge25519_p2 r,
const ge25519_p1p1 p 
)

◆ ge25519_p1p1_to_p3()

void ge25519_p1p1_to_p3 ( ge25519_p3 r,
const ge25519_p1p1 p 
)

◆ ge25519_pack()

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

◆ ge25519_pnielsadd_p1p1()

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

◆ ge25519_scalarmult_base()

void ge25519_scalarmult_base ( ge25519 r,
const sc25519 s 
)

◆ ge25519_unpackneg_vartime()

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

Variable Documentation

◆ ge25519_base

const ge25519 ge25519_base