Functions
ec_montgomery.c File Reference
#include <openssl/ec.h>
#include <openssl/bn.h>
#include <openssl/err.h>
#include <openssl/mem.h>
#include "../bn/internal.h"
#include "../delocate.h"
#include "internal.h"
Include dependency graph for ec_montgomery.c:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

 DEFINE_METHOD_FUNCTION (EC_METHOD, EC_GFp_mont_method)
 
void ec_GFp_mont_add (const EC_GROUP *group, EC_RAW_POINT *out, const EC_RAW_POINT *a, const EC_RAW_POINT *b)
 
static int ec_GFp_mont_cmp_x_coordinate (const EC_GROUP *group, const EC_RAW_POINT *p, const EC_SCALAR *r)
 
void ec_GFp_mont_dbl (const EC_GROUP *group, EC_RAW_POINT *r, const EC_RAW_POINT *a)
 
static void ec_GFp_mont_felem_exp (const EC_GROUP *group, EC_FELEM *out, const EC_FELEM *a, const BN_ULONG *exp, size_t num_exp)
 
int ec_GFp_mont_felem_from_bytes (const EC_GROUP *group, EC_FELEM *out, const uint8_t *in, size_t len)
 
static void ec_GFp_mont_felem_from_montgomery (const EC_GROUP *group, EC_FELEM *out, const EC_FELEM *in)
 
static void ec_GFp_mont_felem_inv0 (const EC_GROUP *group, EC_FELEM *out, const EC_FELEM *a)
 
void ec_GFp_mont_felem_mul (const EC_GROUP *group, EC_FELEM *r, const EC_FELEM *a, const EC_FELEM *b)
 
static void ec_GFp_mont_felem_reduce (const EC_GROUP *group, EC_FELEM *out, const BN_ULONG *words, size_t num)
 
void ec_GFp_mont_felem_sqr (const EC_GROUP *group, EC_FELEM *r, const EC_FELEM *a)
 
void ec_GFp_mont_felem_to_bytes (const EC_GROUP *group, uint8_t *out, size_t *out_len, const EC_FELEM *in)
 
static void ec_GFp_mont_felem_to_montgomery (const EC_GROUP *group, EC_FELEM *out, const EC_FELEM *in)
 
void ec_GFp_mont_group_finish (EC_GROUP *group)
 
int ec_GFp_mont_group_init (EC_GROUP *group)
 
int ec_GFp_mont_group_set_curve (EC_GROUP *group, const BIGNUM *p, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx)
 
static int ec_GFp_mont_jacobian_to_affine_batch (const EC_GROUP *group, EC_AFFINE *out, const EC_RAW_POINT *in, size_t num)
 
static int ec_GFp_mont_point_get_affine_coordinates (const EC_GROUP *group, const EC_RAW_POINT *point, EC_FELEM *x, EC_FELEM *y)
 

Function Documentation

◆ DEFINE_METHOD_FUNCTION()

DEFINE_METHOD_FUNCTION ( EC_METHOD  ,
EC_GFp_mont_method   
)

Definition at line 500 of file ec_montgomery.c.

◆ ec_GFp_mont_add()

void ec_GFp_mont_add ( const EC_GROUP group,
EC_RAW_POINT out,
const EC_RAW_POINT a,
const EC_RAW_POINT b 
)

Definition at line 249 of file ec_montgomery.c.

◆ ec_GFp_mont_cmp_x_coordinate()

static int ec_GFp_mont_cmp_x_coordinate ( const EC_GROUP group,
const EC_RAW_POINT p,
const EC_SCALAR r 
)
static

Definition at line 455 of file ec_montgomery.c.

◆ ec_GFp_mont_dbl()

void ec_GFp_mont_dbl ( const EC_GROUP group,
EC_RAW_POINT r,
const EC_RAW_POINT a 
)

Definition at line 360 of file ec_montgomery.c.

◆ ec_GFp_mont_felem_exp()

static void ec_GFp_mont_felem_exp ( const EC_GROUP group,
EC_FELEM out,
const EC_FELEM a,
const BN_ULONG *  exp,
size_t  num_exp 
)
static

Definition at line 170 of file ec_montgomery.c.

◆ ec_GFp_mont_felem_from_bytes()

int ec_GFp_mont_felem_from_bytes ( const EC_GROUP group,
EC_FELEM out,
const uint8_t in,
size_t  len 
)

Definition at line 149 of file ec_montgomery.c.

◆ ec_GFp_mont_felem_from_montgomery()

static void ec_GFp_mont_felem_from_montgomery ( const EC_GROUP group,
EC_FELEM out,
const EC_FELEM in 
)
static

Definition at line 117 of file ec_montgomery.c.

◆ ec_GFp_mont_felem_inv0()

static void ec_GFp_mont_felem_inv0 ( const EC_GROUP group,
EC_FELEM out,
const EC_FELEM a 
)
static

Definition at line 124 of file ec_montgomery.c.

◆ ec_GFp_mont_felem_mul()

void ec_GFp_mont_felem_mul ( const EC_GROUP group,
EC_FELEM r,
const EC_FELEM a,
const EC_FELEM b 
)

Definition at line 130 of file ec_montgomery.c.

◆ ec_GFp_mont_felem_reduce()

static void ec_GFp_mont_felem_reduce ( const EC_GROUP group,
EC_FELEM out,
const BN_ULONG *  words,
size_t  num 
)
static

Definition at line 159 of file ec_montgomery.c.

◆ ec_GFp_mont_felem_sqr()

void ec_GFp_mont_felem_sqr ( const EC_GROUP group,
EC_FELEM r,
const EC_FELEM a 
)

Definition at line 136 of file ec_montgomery.c.

◆ ec_GFp_mont_felem_to_bytes()

void ec_GFp_mont_felem_to_bytes ( const EC_GROUP group,
uint8_t out,
size_t *  out_len,
const EC_FELEM in 
)

Definition at line 142 of file ec_montgomery.c.

◆ ec_GFp_mont_felem_to_montgomery()

static void ec_GFp_mont_felem_to_montgomery ( const EC_GROUP group,
EC_FELEM out,
const EC_FELEM in 
)
static

Definition at line 111 of file ec_montgomery.c.

◆ ec_GFp_mont_group_finish()

void ec_GFp_mont_group_finish ( EC_GROUP group)

Definition at line 87 of file ec_montgomery.c.

◆ ec_GFp_mont_group_init()

int ec_GFp_mont_group_init ( EC_GROUP group)

Definition at line 79 of file ec_montgomery.c.

◆ ec_GFp_mont_group_set_curve()

int ec_GFp_mont_group_set_curve ( EC_GROUP group,
const BIGNUM p,
const BIGNUM a,
const BIGNUM b,
BN_CTX ctx 
)

Definition at line 93 of file ec_montgomery.c.

◆ ec_GFp_mont_jacobian_to_affine_batch()

static int ec_GFp_mont_jacobian_to_affine_batch ( const EC_GROUP group,
EC_AFFINE out,
const EC_RAW_POINT in,
size_t  num 
)
static

Definition at line 203 of file ec_montgomery.c.

◆ ec_GFp_mont_point_get_affine_coordinates()

static int ec_GFp_mont_point_get_affine_coordinates ( const EC_GROUP group,
const EC_RAW_POINT point,
EC_FELEM x,
EC_FELEM y 
)
static

Definition at line 177 of file ec_montgomery.c.



grpc
Author(s):
autogenerated on Fri May 16 2025 03:01:11