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];
74WOLFSSL_LOCAL
int ge_compress_key(
byte* out,
const byte* xIn,
const byte* yIn,
76WOLFSSL_LOCAL
int ge_frombytes_negate_vartime(
ge_p3 *,
const unsigned char *);
78WOLFSSL_LOCAL
int ge_double_scalarmult_vartime(
ge_p2 *,
const unsigned char *,
79 const ge_p3 *,
const unsigned char *);
80WOLFSSL_LOCAL
void ge_scalarmult_base(
ge_p3 *,
const unsigned char *);
81WOLFSSL_LOCAL
void sc_reduce(
byte* s);
82WOLFSSL_LOCAL
void sc_muladd(
byte* s,
const byte* a,
const byte* b,
84WOLFSSL_LOCAL
void ge_tobytes(
unsigned char *,
const ge_p2 *);
85WOLFSSL_LOCAL
void ge_p3_tobytes(
unsigned char *,
const ge_p3 *);
Definition ge_operations.h:102
Definition ge_operations.h:89
Definition ge_operations.h:60
Definition ge_operations.h:66
Definition ge_operations.h:96