Electroneum
crypto-ops.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  ge_p2
 
struct  ge_p3
 
struct  ge_p1p1
 
struct  ge_precomp
 
struct  ge_cached
 

Typedefs

typedef int32_t fe[10]
 
typedef ge_cached ge_dsmp[8]
 

Functions

void ge_add (ge_p1p1 *, const ge_p3 *, const ge_cached *)
 
void ge_dsm_precomp (ge_dsmp r, const ge_p3 *s)
 
void ge_double_scalarmult_base_vartime (ge_p2 *, const unsigned char *, const ge_p3 *, const unsigned char *)
 
void ge_double_scalarmult_base_vartime_p3 (ge_p3 *, const unsigned char *, const ge_p3 *, const unsigned char *)
 
int ge_frombytes_vartime (ge_p3 *, const unsigned char *)
 
void ge_p1p1_to_p2 (ge_p2 *, const ge_p1p1 *)
 
void ge_p1p1_to_p3 (ge_p3 *, const ge_p1p1 *)
 
void ge_p2_dbl (ge_p1p1 *, const ge_p2 *)
 
void ge_p3_to_cached (ge_cached *, const ge_p3 *)
 
void ge_p3_to_p2 (ge_p2 *, const ge_p3 *)
 
void ge_p3_tobytes (unsigned char *, const ge_p3 *)
 
void ge_scalarmult_base (ge_p3 *, const unsigned char *)
 
void ge_tobytes (unsigned char *, const ge_p2 *)
 
void sc_reduce (unsigned char *)
 
void ge_scalarmult (ge_p2 *, const unsigned char *, const ge_p3 *)
 
void ge_scalarmult_p3 (ge_p3 *, const unsigned char *, const ge_p3 *)
 
void ge_double_scalarmult_precomp_vartime (ge_p2 *, const unsigned char *, const ge_p3 *, const unsigned char *, const ge_dsmp)
 
void ge_double_scalarmult_precomp_vartime2 (ge_p2 *, const unsigned char *, const ge_dsmp, const unsigned char *, const ge_dsmp)
 
void ge_double_scalarmult_precomp_vartime2_p3 (ge_p3 *, const unsigned char *, const ge_dsmp, const unsigned char *, const ge_dsmp)
 
void ge_mul8 (ge_p1p1 *, const ge_p2 *)
 
void ge_fromfe_frombytes_vartime (ge_p2 *, const unsigned char *)
 
void sc_0 (unsigned char *)
 
void sc_reduce32 (unsigned char *)
 
void sc_add (unsigned char *, const unsigned char *, const unsigned char *)
 
void sc_sub (unsigned char *, const unsigned char *, const unsigned char *)
 
void sc_mulsub (unsigned char *, const unsigned char *, const unsigned char *, const unsigned char *)
 
void sc_mul (unsigned char *, const unsigned char *, const unsigned char *)
 
void sc_muladd (unsigned char *s, const unsigned char *a, const unsigned char *b, const unsigned char *c)
 
int sc_check (const unsigned char *)
 
int sc_isnonzero (const unsigned char *)
 
uint64_t load_3 (const unsigned char *in)
 
uint64_t load_4 (const unsigned char *in)
 
void ge_sub (ge_p1p1 *r, const ge_p3 *p, const ge_cached *q)
 
void fe_add (fe h, const fe f, const fe g)
 
void fe_tobytes (unsigned char *, const fe)
 
void fe_invert (fe out, const fe z)
 
int ge_p3_is_point_at_infinity (const ge_p3 *p)
 

Variables

const ge_precomp ge_Bi [8]
 
const fe fe_sqrtm1
 
const fe fe_d
 
const fe fe_d2
 
const ge_precomp ge_base [32][8]
 
const fe fe_ma2
 
const fe fe_ma
 
const fe fe_fffb1
 
const fe fe_fffb2
 
const fe fe_fffb3
 
const fe fe_fffb4
 
const ge_p3 ge_p3_identity
 
const ge_p3 ge_p3_H
 

Typedef Documentation

◆ fe

typedef int32_t fe[10]

Definition at line 36 of file crypto-ops.h.

◆ ge_dsmp

typedef ge_cached ge_dsmp[8]

Definition at line 79 of file crypto-ops.h.

Function Documentation

◆ fe_add()

void fe_add ( fe  h,
const fe  f,
const fe  g 
)

◆ fe_invert()

void fe_invert ( fe  out,
const fe  z 
)

◆ fe_tobytes()

void fe_tobytes ( unsigned char *  ,
const fe   
)

◆ ge_add()

void ge_add ( ge_p1p1 ,
const ge_p3 ,
const ge_cached  
)

◆ ge_double_scalarmult_base_vartime()

void ge_double_scalarmult_base_vartime ( ge_p2 ,
const unsigned char *  ,
const ge_p3 ,
const unsigned char *   
)
Here is the caller graph for this function:

◆ ge_double_scalarmult_base_vartime_p3()

void ge_double_scalarmult_base_vartime_p3 ( ge_p3 ,
const unsigned char *  ,
const ge_p3 ,
const unsigned char *   
)

◆ ge_double_scalarmult_precomp_vartime()

void ge_double_scalarmult_precomp_vartime ( ge_p2 ,
const unsigned char *  ,
const ge_p3 ,
const unsigned char *  ,
const ge_dsmp   
)
Here is the caller graph for this function:

◆ ge_double_scalarmult_precomp_vartime2()

void ge_double_scalarmult_precomp_vartime2 ( ge_p2 ,
const unsigned char *  ,
const ge_dsmp  ,
const unsigned char *  ,
const ge_dsmp   
)
Here is the caller graph for this function:

◆ ge_double_scalarmult_precomp_vartime2_p3()

void ge_double_scalarmult_precomp_vartime2_p3 ( ge_p3 ,
const unsigned char *  ,
const ge_dsmp  ,
const unsigned char *  ,
const ge_dsmp   
)

◆ ge_dsm_precomp()

void ge_dsm_precomp ( ge_dsmp  r,
const ge_p3 s 
)
Here is the caller graph for this function:

◆ ge_frombytes_vartime()

int ge_frombytes_vartime ( ge_p3 ,
const unsigned char *   
)
Here is the caller graph for this function:

◆ ge_fromfe_frombytes_vartime()

void ge_fromfe_frombytes_vartime ( ge_p2 ,
const unsigned char *   
)

◆ ge_mul8()

void ge_mul8 ( ge_p1p1 ,
const ge_p2  
)

◆ ge_p1p1_to_p2()

void ge_p1p1_to_p2 ( ge_p2 ,
const ge_p1p1  
)

◆ ge_p1p1_to_p3()

void ge_p1p1_to_p3 ( ge_p3 ,
const ge_p1p1  
)

◆ ge_p2_dbl()

void ge_p2_dbl ( ge_p1p1 ,
const ge_p2  
)

◆ ge_p3_is_point_at_infinity()

int ge_p3_is_point_at_infinity ( const ge_p3 p)

◆ ge_p3_to_cached()

void ge_p3_to_cached ( ge_cached ,
const ge_p3  
)

◆ ge_p3_to_p2()

void ge_p3_to_p2 ( ge_p2 ,
const ge_p3  
)

◆ ge_p3_tobytes()

void ge_p3_tobytes ( unsigned char *  ,
const ge_p3  
)

◆ ge_scalarmult()

void ge_scalarmult ( ge_p2 ,
const unsigned char *  ,
const ge_p3  
)

◆ ge_scalarmult_base()

void ge_scalarmult_base ( ge_p3 ,
const unsigned char *   
)

◆ ge_scalarmult_p3()

void ge_scalarmult_p3 ( ge_p3 ,
const unsigned char *  ,
const ge_p3  
)

◆ ge_sub()

void ge_sub ( ge_p1p1 r,
const ge_p3 p,
const ge_cached q 
)

◆ ge_tobytes()

void ge_tobytes ( unsigned char *  ,
const ge_p2  
)

◆ load_3()

uint64_t load_3 ( const unsigned char *  in)

◆ load_4()

uint64_t load_4 ( const unsigned char *  in)

◆ sc_0()

void sc_0 ( unsigned char *  )

◆ sc_add()

void sc_add ( unsigned char *  ,
const unsigned char *  ,
const unsigned char *   
)
Here is the caller graph for this function:

◆ sc_check()

int sc_check ( const unsigned char *  )
Here is the caller graph for this function:

◆ sc_isnonzero()

int sc_isnonzero ( const unsigned char *  )

◆ sc_mul()

void sc_mul ( unsigned char *  ,
const unsigned char *  ,
const unsigned char *   
)
Here is the caller graph for this function:

◆ sc_muladd()

void sc_muladd ( unsigned char *  s,
const unsigned char *  a,
const unsigned char *  b,
const unsigned char *  c 
)

◆ sc_mulsub()

void sc_mulsub ( unsigned char *  ,
const unsigned char *  ,
const unsigned char *  ,
const unsigned char *   
)

◆ sc_reduce()

void sc_reduce ( unsigned char *  )

◆ sc_reduce32()

void sc_reduce32 ( unsigned char *  )
Here is the caller graph for this function:

◆ sc_sub()

void sc_sub ( unsigned char *  ,
const unsigned char *  ,
const unsigned char *   
)
Here is the caller graph for this function:

Variable Documentation

◆ fe_d

const fe fe_d

◆ fe_d2

const fe fe_d2

◆ fe_fffb1

const fe fe_fffb1

◆ fe_fffb2

const fe fe_fffb2

◆ fe_fffb3

const fe fe_fffb3

◆ fe_fffb4

const fe fe_fffb4

◆ fe_ma

const fe fe_ma

◆ fe_ma2

const fe fe_ma2

◆ fe_sqrtm1

const fe fe_sqrtm1

◆ ge_base

const ge_precomp ge_base[32][8]

◆ ge_Bi

const ge_precomp ge_Bi[8]

◆ ge_p3_H

const ge_p3 ge_p3_H

◆ ge_p3_identity

const ge_p3 ge_p3_identity