#include "mpi-internal.h"
#include "longlong.h"
#define point_init(a) …
#define point_free(a) …
#define log_error(fmt, ...) …
#define log_fatal(fmt, ...) …
#define DIM(v) …
MPI_POINT mpi_point_new(unsigned int nbits)
{ … }
EXPORT_SYMBOL_GPL(…);
void mpi_point_release(MPI_POINT p)
{ … }
EXPORT_SYMBOL_GPL(…);
void mpi_point_init(MPI_POINT p)
{ … }
EXPORT_SYMBOL_GPL(…);
void mpi_point_free_parts(MPI_POINT p)
{ … }
EXPORT_SYMBOL_GPL(…);
static void point_set(MPI_POINT d, MPI_POINT s)
{ … }
static void point_resize(MPI_POINT p, struct mpi_ec_ctx *ctx)
{ … }
static void point_swap_cond(MPI_POINT d, MPI_POINT s, unsigned long swap,
struct mpi_ec_ctx *ctx)
{ … }
static void ec_mod(MPI w, struct mpi_ec_ctx *ec)
{ … }
static void ec_addm(MPI w, MPI u, MPI v, struct mpi_ec_ctx *ctx)
{ … }
static void ec_subm(MPI w, MPI u, MPI v, struct mpi_ec_ctx *ec)
{ … }
static void ec_mulm(MPI w, MPI u, MPI v, struct mpi_ec_ctx *ctx)
{ … }
static void ec_mul2(MPI w, MPI u, struct mpi_ec_ctx *ctx)
{ … }
static void ec_powm(MPI w, const MPI b, const MPI e,
struct mpi_ec_ctx *ctx)
{ … }
static void ec_pow2(MPI w, const MPI b, struct mpi_ec_ctx *ctx)
{ … }
static void ec_pow3(MPI w, const MPI b, struct mpi_ec_ctx *ctx)
{ … }
static void ec_invm(MPI x, MPI a, struct mpi_ec_ctx *ctx)
{ … }
static void mpih_set_cond(mpi_ptr_t wp, mpi_ptr_t up,
mpi_size_t usize, unsigned long set)
{ … }
#define LIMB_SIZE_25519 …
static void ec_addm_25519(MPI w, MPI u, MPI v, struct mpi_ec_ctx *ctx)
{ … }
static void ec_subm_25519(MPI w, MPI u, MPI v, struct mpi_ec_ctx *ctx)
{ … }
static void ec_mulm_25519(MPI w, MPI u, MPI v, struct mpi_ec_ctx *ctx)
{ … }
static void ec_mul2_25519(MPI w, MPI u, struct mpi_ec_ctx *ctx)
{ … }
static void ec_pow2_25519(MPI w, const MPI b, struct mpi_ec_ctx *ctx)
{ … }
#define LIMB_SIZE_448 …
#define LIMB_SIZE_HALF_448 …
static void ec_addm_448(MPI w, MPI u, MPI v, struct mpi_ec_ctx *ctx)
{ … }
static void ec_subm_448(MPI w, MPI u, MPI v, struct mpi_ec_ctx *ctx)
{ … }
static void ec_mulm_448(MPI w, MPI u, MPI v, struct mpi_ec_ctx *ctx)
{ … }
static void ec_mul2_448(MPI w, MPI u, struct mpi_ec_ctx *ctx)
{ … }
static void ec_pow2_448(MPI w, const MPI b, struct mpi_ec_ctx *ctx)
{ … }
struct field_table { … };
static const struct field_table field_table[] = …;
static void mpi_ec_get_reset(struct mpi_ec_ctx *ec)
{ … }
static int ec_get_a_is_pminus3(struct mpi_ec_ctx *ec)
{ … }
static MPI ec_get_two_inv_p(struct mpi_ec_ctx *ec)
{ … }
static const char *const curve25519_bad_points[] = …;
static const char *const curve448_bad_points[] = …;
static const char *const *bad_points_table[] = …;
static void mpi_ec_coefficient_normalize(MPI a, MPI p)
{ … }
void mpi_ec_init(struct mpi_ec_ctx *ctx, enum gcry_mpi_ec_models model,
enum ecc_dialects dialect,
int flags, MPI p, MPI a, MPI b)
{ … }
EXPORT_SYMBOL_GPL(…);
void mpi_ec_deinit(struct mpi_ec_ctx *ctx)
{ … }
EXPORT_SYMBOL_GPL(…);
int mpi_ec_get_affine(MPI x, MPI y, MPI_POINT point, struct mpi_ec_ctx *ctx)
{ … }
EXPORT_SYMBOL_GPL(…);
static void dup_point_weierstrass(MPI_POINT result,
MPI_POINT point, struct mpi_ec_ctx *ctx)
{ … }
static void dup_point_montgomery(MPI_POINT result,
MPI_POINT point, struct mpi_ec_ctx *ctx)
{ … }
static void dup_point_edwards(MPI_POINT result,
MPI_POINT point, struct mpi_ec_ctx *ctx)
{ … }
static void
mpi_ec_dup_point(MPI_POINT result, MPI_POINT point, struct mpi_ec_ctx *ctx)
{ … }
static void add_points_weierstrass(MPI_POINT result,
MPI_POINT p1, MPI_POINT p2,
struct mpi_ec_ctx *ctx)
{ … }
static void add_points_montgomery(MPI_POINT result,
MPI_POINT p1, MPI_POINT p2,
struct mpi_ec_ctx *ctx)
{ … }
static void add_points_edwards(MPI_POINT result,
MPI_POINT p1, MPI_POINT p2,
struct mpi_ec_ctx *ctx)
{ … }
static void montgomery_ladder(MPI_POINT prd, MPI_POINT sum,
MPI_POINT p1, MPI_POINT p2, MPI dif_x,
struct mpi_ec_ctx *ctx)
{ … }
void mpi_ec_add_points(MPI_POINT result,
MPI_POINT p1, MPI_POINT p2,
struct mpi_ec_ctx *ctx)
{ … }
EXPORT_SYMBOL_GPL(…);
void mpi_ec_mul_point(MPI_POINT result,
MPI scalar, MPI_POINT point,
struct mpi_ec_ctx *ctx)
{ … }
EXPORT_SYMBOL_GPL(…);
int mpi_ec_curve_point(MPI_POINT point, struct mpi_ec_ctx *ctx)
{ … }
EXPORT_SYMBOL_GPL(…);