25 #ifndef WOLF_CRYPT_GE_OPERATIONS_H 26 #define WOLF_CRYPT_GE_OPERATIONS_H 28 #include <wolfssl/wolfcrypt/settings.h> 32 #include <wolfssl/wolfcrypt/fe_operations.h> 49 typedef byte ge[F25519_SIZE];
50 #elif defined(CURVED25519_ASM_64BIT) 51 typedef int64_t ge[4];
52 #elif defined(CURVED25519_ASM_32BIT) 53 typedef int32_t ge[8];
54 #elif defined(CURVED25519_128BIT) 55 typedef int64_t ge[5];
57 typedef int32_t ge[10];
74 WOLFSSL_LOCAL
int ge_compress_key(byte* out,
const byte* xIn,
const byte* yIn,
76 WOLFSSL_LOCAL
int ge_frombytes_negate_vartime(
ge_p3 *,
const unsigned char *);
78 WOLFSSL_LOCAL
int ge_double_scalarmult_vartime(
ge_p2 *,
const unsigned char *,
79 const ge_p3 *,
const unsigned char *);
80 WOLFSSL_LOCAL
void ge_scalarmult_base(
ge_p3 *,
const unsigned char *);
81 WOLFSSL_LOCAL
void sc_reduce(byte* s);
82 WOLFSSL_LOCAL
void sc_muladd(byte* s,
const byte* a,
const byte* b,
84 WOLFSSL_LOCAL
void ge_tobytes(
unsigned char *,
const ge_p2 *);
85 WOLFSSL_LOCAL
void ge_p3_tobytes(
unsigned char *,
const ge_p3 *);
Definition: ge_operations.h:89
Definition: ge_operations.h:60
Definition: ge_operations.h:66
Definition: ge_operations.h:96
Definition: ge_operations.h:102