Classes | Macros | Functions
third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/internal.h File Reference
#include <openssl/base.h>
#include <openssl/bn.h>
#include <openssl/ec.h>
#include <openssl/ex_data.h>
#include <openssl/type_check.h>
#include "../bn/internal.h"
Include dependency graph for third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/internal.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  built_in_curve
 
struct  built_in_curves
 
struct  EC_AFFINE
 
union  EC_FELEM
 
struct  ec_group_st
 
struct  ec_key_st
 
struct  ec_method_st
 
struct  ec_point_st
 
union  EC_PRECOMP
 
struct  EC_RAW_POINT
 
union  EC_SCALAR
 
struct  EC_WRAPPED_SCALAR
 

Macros

#define EC_MAX_BYTES   66
 
#define EC_MAX_WORDS   ((EC_MAX_BYTES + BN_BYTES - 1) / BN_BYTES)
 
#define EC_MONT_PRECOMP_COMB_SIZE   5
 
#define OPENSSL_NUM_BUILT_IN_CURVES   4
 

Functions

int ec_affine_jacobian_equal (const EC_GROUP *group, const EC_AFFINE *a, const EC_RAW_POINT *b)
 
void ec_affine_select (const EC_GROUP *group, EC_AFFINE *out, BN_ULONG mask, const EC_AFFINE *a, const EC_AFFINE *b)
 
void ec_affine_to_jacobian (const EC_GROUP *group, EC_RAW_POINT *out, const EC_AFFINE *p)
 
int ec_bignum_to_felem (const EC_GROUP *group, EC_FELEM *out, const BIGNUM *in)
 
OPENSSL_EXPORT int ec_bignum_to_scalar (const EC_GROUP *group, EC_SCALAR *out, const BIGNUM *in)
 
int ec_cmp_x_coordinate (const EC_GROUP *group, const EC_RAW_POINT *p, const EC_SCALAR *r)
 
void ec_compute_wNAF (const EC_GROUP *group, int8_t *out, const EC_SCALAR *scalar, size_t bits, int w)
 
void ec_felem_add (const EC_GROUP *group, EC_FELEM *out, const EC_FELEM *a, const EC_FELEM *b)
 
int ec_felem_equal (const EC_GROUP *group, const EC_FELEM *a, const EC_FELEM *b)
 
int ec_felem_from_bytes (const EC_GROUP *group, EC_FELEM *out, const uint8_t *in, size_t len)
 
void ec_felem_neg (const EC_GROUP *group, EC_FELEM *out, const EC_FELEM *a)
 
BN_ULONG ec_felem_non_zero_mask (const EC_GROUP *group, const EC_FELEM *a)
 
void ec_felem_select (const EC_GROUP *group, EC_FELEM *out, BN_ULONG mask, const EC_FELEM *a, const EC_FELEM *b)
 
void ec_felem_sub (const EC_GROUP *group, EC_FELEM *out, const EC_FELEM *a, const EC_FELEM *b)
 
int ec_felem_to_bignum (const EC_GROUP *group, BIGNUM *out, const EC_FELEM *in)
 
void ec_felem_to_bytes (const EC_GROUP *group, uint8_t *out, size_t *out_len, const EC_FELEM *in)
 
int ec_get_x_coordinate_as_bytes (const EC_GROUP *group, uint8_t *out, size_t *out_len, size_t max_out, const EC_RAW_POINT *p)
 
int ec_get_x_coordinate_as_scalar (const EC_GROUP *group, EC_SCALAR *out, const EC_RAW_POINT *p)
 
void ec_GFp_mont_add (const EC_GROUP *, EC_RAW_POINT *r, const EC_RAW_POINT *a, const EC_RAW_POINT *b)
 
void ec_GFp_mont_dbl (const EC_GROUP *, EC_RAW_POINT *r, const EC_RAW_POINT *a)
 
int ec_GFp_mont_felem_from_bytes (const EC_GROUP *group, EC_FELEM *out, const uint8_t *in, size_t len)
 
void ec_GFp_mont_felem_mul (const EC_GROUP *, EC_FELEM *r, const EC_FELEM *a, const EC_FELEM *b)
 
void ec_GFp_mont_felem_sqr (const EC_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)
 
void ec_GFp_mont_group_finish (EC_GROUP *)
 
int ec_GFp_mont_group_init (EC_GROUP *)
 
int ec_GFp_mont_group_set_curve (EC_GROUP *, const BIGNUM *p, const BIGNUM *a, const BIGNUM *b, BN_CTX *)
 
int ec_GFp_mont_init_precomp (const EC_GROUP *group, EC_PRECOMP *out, const EC_RAW_POINT *p)
 
const EC_METHODEC_GFp_mont_method (void)
 
void ec_GFp_mont_mul (const EC_GROUP *group, EC_RAW_POINT *r, const EC_RAW_POINT *p, const EC_SCALAR *scalar)
 
void ec_GFp_mont_mul_base (const EC_GROUP *group, EC_RAW_POINT *r, const EC_SCALAR *scalar)
 
void ec_GFp_mont_mul_batch (const EC_GROUP *group, EC_RAW_POINT *r, const EC_RAW_POINT *p0, const EC_SCALAR *scalar0, const EC_RAW_POINT *p1, const EC_SCALAR *scalar1, const EC_RAW_POINT *p2, const EC_SCALAR *scalar2)
 
void ec_GFp_mont_mul_precomp (const EC_GROUP *group, EC_RAW_POINT *r, const EC_PRECOMP *p0, const EC_SCALAR *scalar0, const EC_PRECOMP *p1, const EC_SCALAR *scalar1, const EC_PRECOMP *p2, const EC_SCALAR *scalar2)
 
int ec_GFp_mont_mul_public_batch (const EC_GROUP *group, EC_RAW_POINT *r, const EC_SCALAR *g_scalar, const EC_RAW_POINT *points, const EC_SCALAR *scalars, size_t num)
 
const EC_METHODEC_GFp_nistp224_method (void)
 
const EC_METHODEC_GFp_nistp256_method (void)
 
void ec_GFp_nistp_recode_scalar_bits (crypto_word_t *sign, crypto_word_t *digit, crypto_word_t in)
 
const EC_METHODEC_GFp_nistz256_method (void)
 
int ec_GFp_simple_cmp_x_coordinate (const EC_GROUP *group, const EC_RAW_POINT *p, const EC_SCALAR *r)
 
int ec_GFp_simple_felem_from_bytes (const EC_GROUP *group, EC_FELEM *out, const uint8_t *in, size_t len)
 
void ec_GFp_simple_felem_to_bytes (const EC_GROUP *group, uint8_t *out, size_t *out_len, const EC_FELEM *in)
 
void ec_GFp_simple_group_finish (EC_GROUP *)
 
int ec_GFp_simple_group_get_curve (const EC_GROUP *, BIGNUM *p, BIGNUM *a, BIGNUM *b)
 
int ec_GFp_simple_group_init (EC_GROUP *)
 
int ec_GFp_simple_group_set_curve (EC_GROUP *, const BIGNUM *p, const BIGNUM *a, const BIGNUM *b, BN_CTX *)
 
void ec_GFp_simple_invert (const EC_GROUP *, EC_RAW_POINT *)
 
int ec_GFp_simple_is_at_infinity (const EC_GROUP *, const EC_RAW_POINT *)
 
int ec_GFp_simple_is_on_curve (const EC_GROUP *, const EC_RAW_POINT *)
 
void ec_GFp_simple_point_copy (EC_RAW_POINT *, const EC_RAW_POINT *)
 
void ec_GFp_simple_point_init (EC_RAW_POINT *)
 
void ec_GFp_simple_point_set_to_infinity (const EC_GROUP *, EC_RAW_POINT *)
 
int ec_GFp_simple_points_equal (const EC_GROUP *, const EC_RAW_POINT *a, const EC_RAW_POINT *b)
 
EC_GROUPec_group_new (const EC_METHOD *meth)
 
int ec_init_precomp (const EC_GROUP *group, EC_PRECOMP *out, const EC_RAW_POINT *p)
 
int ec_jacobian_to_affine (const EC_GROUP *group, EC_AFFINE *out, const EC_RAW_POINT *p)
 
int ec_jacobian_to_affine_batch (const EC_GROUP *group, EC_AFFINE *out, const EC_RAW_POINT *in, size_t num)
 
int ec_point_from_uncompressed (const EC_GROUP *group, EC_AFFINE *out, const uint8_t *in, size_t len)
 
int ec_point_mul_scalar (const EC_GROUP *group, EC_RAW_POINT *r, const EC_RAW_POINT *p, const EC_SCALAR *scalar)
 
int ec_point_mul_scalar_base (const EC_GROUP *group, EC_RAW_POINT *r, const EC_SCALAR *scalar)
 
int ec_point_mul_scalar_batch (const EC_GROUP *group, EC_RAW_POINT *r, const EC_RAW_POINT *p0, const EC_SCALAR *scalar0, const EC_RAW_POINT *p1, const EC_SCALAR *scalar1, const EC_RAW_POINT *p2, const EC_SCALAR *scalar2)
 
int ec_point_mul_scalar_precomp (const EC_GROUP *group, EC_RAW_POINT *r, const EC_PRECOMP *p0, const EC_SCALAR *scalar0, const EC_PRECOMP *p1, const EC_SCALAR *scalar1, const EC_PRECOMP *p2, const EC_SCALAR *scalar2)
 
OPENSSL_EXPORT int ec_point_mul_scalar_public (const EC_GROUP *group, EC_RAW_POINT *r, const EC_SCALAR *g_scalar, const EC_RAW_POINT *p, const EC_SCALAR *p_scalar)
 
int ec_point_mul_scalar_public_batch (const EC_GROUP *group, EC_RAW_POINT *r, const EC_SCALAR *g_scalar, const EC_RAW_POINT *points, const EC_SCALAR *scalars, size_t num)
 
void ec_point_select (const EC_GROUP *group, EC_RAW_POINT *out, BN_ULONG mask, const EC_RAW_POINT *a, const EC_RAW_POINT *b)
 
int ec_point_set_affine_coordinates (const EC_GROUP *group, EC_AFFINE *out, const EC_FELEM *x, const EC_FELEM *y)
 
size_t ec_point_to_bytes (const EC_GROUP *group, const EC_AFFINE *point, point_conversion_form_t form, uint8_t *buf, size_t len)
 
void ec_precomp_select (const EC_GROUP *group, EC_PRECOMP *out, BN_ULONG mask, const EC_PRECOMP *a, const EC_PRECOMP *b)
 
int ec_random_nonzero_scalar (const EC_GROUP *group, EC_SCALAR *out, const uint8_t additional_data[32])
 
void ec_scalar_add (const EC_GROUP *group, EC_SCALAR *r, const EC_SCALAR *a, const EC_SCALAR *b)
 
int ec_scalar_equal_vartime (const EC_GROUP *group, const EC_SCALAR *a, const EC_SCALAR *b)
 
int ec_scalar_from_bytes (const EC_GROUP *group, EC_SCALAR *out, const uint8_t *in, size_t len)
 
void ec_scalar_from_montgomery (const EC_GROUP *group, EC_SCALAR *r, const EC_SCALAR *a)
 
void ec_scalar_inv0_montgomery (const EC_GROUP *group, EC_SCALAR *r, const EC_SCALAR *a)
 
int ec_scalar_is_zero (const EC_GROUP *group, const EC_SCALAR *a)
 
void ec_scalar_mul_montgomery (const EC_GROUP *group, EC_SCALAR *r, const EC_SCALAR *a, const EC_SCALAR *b)
 
void ec_scalar_neg (const EC_GROUP *group, EC_SCALAR *r, const EC_SCALAR *a)
 
void ec_scalar_reduce (const EC_GROUP *group, EC_SCALAR *out, const BN_ULONG *words, size_t num)
 
void ec_scalar_select (const EC_GROUP *group, EC_SCALAR *out, BN_ULONG mask, const EC_SCALAR *a, const EC_SCALAR *b)
 
void ec_scalar_sub (const EC_GROUP *group, EC_SCALAR *r, const EC_SCALAR *a, const EC_SCALAR *b)
 
OPENSSL_EXPORT void ec_scalar_to_bytes (const EC_GROUP *group, uint8_t *out, size_t *out_len, const EC_SCALAR *in)
 
void ec_scalar_to_montgomery (const EC_GROUP *group, EC_SCALAR *r, const EC_SCALAR *a)
 
int ec_scalar_to_montgomery_inv_vartime (const EC_GROUP *group, EC_SCALAR *r, const EC_SCALAR *a)
 
void ec_set_to_safe_point (const EC_GROUP *group, EC_RAW_POINT *out)
 
void ec_simple_scalar_inv0_montgomery (const EC_GROUP *group, EC_SCALAR *r, const EC_SCALAR *a)
 
int ec_simple_scalar_to_montgomery_inv_vartime (const EC_GROUP *group, EC_SCALAR *r, const EC_SCALAR *a)
 
const struct built_in_curvesOPENSSL_built_in_curves (void)
 
 OPENSSL_STATIC_ASSERT (EC_MAX_WORDS<=BN_SMALL_MAX_WORDS, "bn_*_small functions not usable")
 

Macro Definition Documentation

◆ EC_MAX_BYTES

#define EC_MAX_BYTES   66

◆ EC_MAX_WORDS

#define EC_MAX_WORDS   ((EC_MAX_BYTES + BN_BYTES - 1) / BN_BYTES)

◆ EC_MONT_PRECOMP_COMB_SIZE

#define EC_MONT_PRECOMP_COMB_SIZE   5

◆ OPENSSL_NUM_BUILT_IN_CURVES

#define OPENSSL_NUM_BUILT_IN_CURVES   4

Function Documentation

◆ ec_affine_jacobian_equal()

int ec_affine_jacobian_equal ( const EC_GROUP group,
const EC_AFFINE a,
const EC_RAW_POINT b 
)

Definition at line 287 of file simple.c.

◆ ec_affine_select()

void ec_affine_select ( const EC_GROUP group,
EC_AFFINE out,
BN_ULONG  mask,
const EC_AFFINE a,
const EC_AFFINE b 
)

Definition at line 1141 of file ec.c.

◆ ec_affine_to_jacobian()

void ec_affine_to_jacobian ( const EC_GROUP group,
EC_RAW_POINT out,
const EC_AFFINE p 
)

Definition at line 806 of file ec.c.

◆ ec_bignum_to_felem()

int ec_bignum_to_felem ( const EC_GROUP group,
EC_FELEM out,
const BIGNUM in 
)

Definition at line 26 of file felem.c.

◆ ec_bignum_to_scalar()

OPENSSL_EXPORT int ec_bignum_to_scalar ( const EC_GROUP group,
EC_SCALAR out,
const BIGNUM in 
)

Definition at line 24 of file scalar.c.

◆ ec_cmp_x_coordinate()

int ec_cmp_x_coordinate ( const EC_GROUP group,
const EC_RAW_POINT p,
const EC_SCALAR r 
)

Definition at line 1156 of file ec.c.

◆ ec_compute_wNAF()

void ec_compute_wNAF ( const EC_GROUP group,
int8_t out,
const EC_SCALAR scalar,
size_t  bits,
int  w 
)

Definition at line 88 of file wnaf.c.

◆ ec_felem_add()

void ec_felem_add ( const EC_GROUP group,
EC_FELEM out,
const EC_FELEM a,
const EC_FELEM b 
)

Definition at line 69 of file felem.c.

◆ ec_felem_equal()

int ec_felem_equal ( const EC_GROUP group,
const EC_FELEM a,
const EC_FELEM b 
)

Definition at line 96 of file felem.c.

◆ ec_felem_from_bytes()

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

Definition at line 52 of file felem.c.

◆ ec_felem_neg()

void ec_felem_neg ( const EC_GROUP group,
EC_FELEM out,
const EC_FELEM a 
)

Definition at line 57 of file felem.c.

◆ ec_felem_non_zero_mask()

BN_ULONG ec_felem_non_zero_mask ( const EC_GROUP group,
const EC_FELEM a 
)

Definition at line 83 of file felem.c.

◆ ec_felem_select()

void ec_felem_select ( const EC_GROUP group,
EC_FELEM out,
BN_ULONG  mask,
const EC_FELEM a,
const EC_FELEM b 
)

Definition at line 91 of file felem.c.

◆ ec_felem_sub()

void ec_felem_sub ( const EC_GROUP group,
EC_FELEM out,
const EC_FELEM a,
const EC_FELEM b 
)

Definition at line 76 of file felem.c.

◆ ec_felem_to_bignum()

int ec_felem_to_bignum ( const EC_GROUP group,
BIGNUM out,
const EC_FELEM in 
)

Definition at line 40 of file felem.c.

◆ ec_felem_to_bytes()

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

Definition at line 47 of file felem.c.

◆ ec_get_x_coordinate_as_bytes()

int ec_get_x_coordinate_as_bytes ( const EC_GROUP group,
uint8_t out,
size_t *  out_len,
size_t  max_out,
const EC_RAW_POINT p 
)

Definition at line 1202 of file ec.c.

◆ ec_get_x_coordinate_as_scalar()

int ec_get_x_coordinate_as_scalar ( const EC_GROUP group,
EC_SCALAR out,
const EC_RAW_POINT p 
)

Definition at line 1161 of file ec.c.

◆ ec_GFp_mont_add()

void ec_GFp_mont_add ( const EC_GROUP ,
EC_RAW_POINT r,
const EC_RAW_POINT a,
const EC_RAW_POINT b 
)

Definition at line 249 of file ec_montgomery.c.

◆ ec_GFp_mont_dbl()

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

Definition at line 360 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_mul()

void ec_GFp_mont_felem_mul ( const EC_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_sqr()

void ec_GFp_mont_felem_sqr ( const EC_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_group_finish()

void ec_GFp_mont_group_finish ( EC_GROUP )

Definition at line 87 of file ec_montgomery.c.

◆ ec_GFp_mont_group_init()

int ec_GFp_mont_group_init ( EC_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 ,
const BIGNUM p,
const BIGNUM a,
const BIGNUM b,
BN_CTX  
)

Definition at line 93 of file ec_montgomery.c.

◆ ec_GFp_mont_init_precomp()

int ec_GFp_mont_init_precomp ( const EC_GROUP group,
EC_PRECOMP out,
const EC_RAW_POINT p 
)

Definition at line 176 of file simple_mul.c.

◆ EC_GFp_mont_method()

const EC_METHOD* EC_GFp_mont_method ( void  )

◆ ec_GFp_mont_mul()

void ec_GFp_mont_mul ( const EC_GROUP group,
EC_RAW_POINT r,
const EC_RAW_POINT p,
const EC_SCALAR scalar 
)

Definition at line 24 of file simple_mul.c.

◆ ec_GFp_mont_mul_base()

void ec_GFp_mont_mul_base ( const EC_GROUP group,
EC_RAW_POINT r,
const EC_SCALAR scalar 
)

Definition at line 79 of file simple_mul.c.

◆ ec_GFp_mont_mul_batch()

void ec_GFp_mont_mul_batch ( const EC_GROUP group,
EC_RAW_POINT r,
const EC_RAW_POINT p0,
const EC_SCALAR scalar0,
const EC_RAW_POINT p1,
const EC_SCALAR scalar1,
const EC_RAW_POINT p2,
const EC_SCALAR scalar2 
)

Definition at line 129 of file simple_mul.c.

◆ ec_GFp_mont_mul_precomp()

void ec_GFp_mont_mul_precomp ( const EC_GROUP group,
EC_RAW_POINT r,
const EC_PRECOMP p0,
const EC_SCALAR scalar0,
const EC_PRECOMP p1,
const EC_SCALAR scalar1,
const EC_PRECOMP p2,
const EC_SCALAR scalar2 
)

Definition at line 237 of file simple_mul.c.

◆ ec_GFp_mont_mul_public_batch()

int ec_GFp_mont_mul_public_batch ( const EC_GROUP group,
EC_RAW_POINT r,
const EC_SCALAR g_scalar,
const EC_RAW_POINT points,
const EC_SCALAR scalars,
size_t  num 
)

Definition at line 182 of file wnaf.c.

◆ EC_GFp_nistp224_method()

const EC_METHOD* EC_GFp_nistp224_method ( void  )

◆ EC_GFp_nistp256_method()

const EC_METHOD* EC_GFp_nistp256_method ( void  )

◆ ec_GFp_nistp_recode_scalar_bits()

void ec_GFp_nistp_recode_scalar_bits ( crypto_word_t *  sign,
crypto_word_t *  digit,
crypto_word_t  in 
)

◆ EC_GFp_nistz256_method()

const EC_METHOD* EC_GFp_nistz256_method ( void  )

◆ ec_GFp_simple_cmp_x_coordinate()

int ec_GFp_simple_cmp_x_coordinate ( const EC_GROUP group,
const EC_RAW_POINT p,
const EC_SCALAR r 
)

Definition at line 317 of file simple.c.

◆ ec_GFp_simple_felem_from_bytes()

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

Definition at line 339 of file simple.c.

◆ ec_GFp_simple_felem_to_bytes()

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

Definition at line 330 of file simple.c.

◆ ec_GFp_simple_group_finish()

void ec_GFp_simple_group_finish ( EC_GROUP )

Definition at line 97 of file simple.c.

◆ ec_GFp_simple_group_get_curve()

int ec_GFp_simple_group_get_curve ( const EC_GROUP ,
BIGNUM p,
BIGNUM a,
BIGNUM b 
)

Definition at line 145 of file simple.c.

◆ ec_GFp_simple_group_init()

int ec_GFp_simple_group_init ( EC_GROUP )

Definition at line 91 of file simple.c.

◆ ec_GFp_simple_group_set_curve()

int ec_GFp_simple_group_set_curve ( EC_GROUP ,
const BIGNUM p,
const BIGNUM a,
const BIGNUM b,
BN_CTX  
)

Definition at line 101 of file simple.c.

◆ ec_GFp_simple_invert()

void ec_GFp_simple_invert ( const EC_GROUP ,
EC_RAW_POINT  
)

Definition at line 174 of file simple.c.

◆ ec_GFp_simple_is_at_infinity()

int ec_GFp_simple_is_at_infinity ( const EC_GROUP ,
const EC_RAW_POINT  
)

Definition at line 178 of file simple.c.

◆ ec_GFp_simple_is_on_curve()

int ec_GFp_simple_is_on_curve ( const EC_GROUP ,
const EC_RAW_POINT  
)

Definition at line 183 of file simple.c.

◆ ec_GFp_simple_point_copy()

void ec_GFp_simple_point_copy ( EC_RAW_POINT ,
const EC_RAW_POINT  
)

Definition at line 161 of file simple.c.

◆ ec_GFp_simple_point_init()

void ec_GFp_simple_point_init ( EC_RAW_POINT )

Definition at line 155 of file simple.c.

◆ ec_GFp_simple_point_set_to_infinity()

void ec_GFp_simple_point_set_to_infinity ( const EC_GROUP ,
EC_RAW_POINT  
)

Definition at line 167 of file simple.c.

◆ ec_GFp_simple_points_equal()

int ec_GFp_simple_points_equal ( const EC_GROUP ,
const EC_RAW_POINT a,
const EC_RAW_POINT b 
)

Definition at line 240 of file simple.c.

◆ ec_group_new()

EC_GROUP* ec_group_new ( const EC_METHOD meth)

Definition at line 272 of file ec.c.

◆ ec_init_precomp()

int ec_init_precomp ( const EC_GROUP group,
EC_PRECOMP out,
const EC_RAW_POINT p 
)

Definition at line 1102 of file ec.c.

◆ ec_jacobian_to_affine()

int ec_jacobian_to_affine ( const EC_GROUP group,
EC_AFFINE out,
const EC_RAW_POINT p 
)

Definition at line 813 of file ec.c.

◆ ec_jacobian_to_affine_batch()

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

Definition at line 818 of file ec.c.

◆ ec_point_from_uncompressed()

int ec_point_from_uncompressed ( const EC_GROUP group,
EC_AFFINE out,
const uint8_t in,
size_t  len 
)

Definition at line 117 of file oct.c.

◆ ec_point_mul_scalar()

int ec_point_mul_scalar ( const EC_GROUP group,
EC_RAW_POINT r,
const EC_RAW_POINT p,
const EC_SCALAR scalar 
)

Definition at line 1042 of file ec.c.

◆ ec_point_mul_scalar_base()

int ec_point_mul_scalar_base ( const EC_GROUP group,
EC_RAW_POINT r,
const EC_SCALAR scalar 
)

Definition at line 1061 of file ec.c.

◆ ec_point_mul_scalar_batch()

int ec_point_mul_scalar_batch ( const EC_GROUP group,
EC_RAW_POINT r,
const EC_RAW_POINT p0,
const EC_SCALAR scalar0,
const EC_RAW_POINT p1,
const EC_SCALAR scalar1,
const EC_RAW_POINT p2,
const EC_SCALAR scalar2 
)

Definition at line 1080 of file ec.c.

◆ ec_point_mul_scalar_precomp()

int ec_point_mul_scalar_precomp ( const EC_GROUP group,
EC_RAW_POINT r,
const EC_PRECOMP p0,
const EC_SCALAR scalar0,
const EC_PRECOMP p1,
const EC_SCALAR scalar1,
const EC_PRECOMP p2,
const EC_SCALAR scalar2 
)

Definition at line 1112 of file ec.c.

◆ ec_point_mul_scalar_public()

OPENSSL_EXPORT int ec_point_mul_scalar_public ( const EC_GROUP group,
EC_RAW_POINT r,
const EC_SCALAR g_scalar,
const EC_RAW_POINT p,
const EC_SCALAR p_scalar 
)

Definition at line 1013 of file ec.c.

◆ ec_point_mul_scalar_public_batch()

int ec_point_mul_scalar_public_batch ( const EC_GROUP group,
EC_RAW_POINT r,
const EC_SCALAR g_scalar,
const EC_RAW_POINT points,
const EC_SCALAR scalars,
size_t  num 
)

Definition at line 1029 of file ec.c.

◆ ec_point_select()

void ec_point_select ( const EC_GROUP group,
EC_RAW_POINT out,
BN_ULONG  mask,
const EC_RAW_POINT a,
const EC_RAW_POINT b 
)

Definition at line 1134 of file ec.c.

◆ ec_point_set_affine_coordinates()

int ec_point_set_affine_coordinates ( const EC_GROUP group,
EC_AFFINE out,
const EC_FELEM x,
const EC_FELEM y 
)

Definition at line 827 of file ec.c.

◆ ec_point_to_bytes()

size_t ec_point_to_bytes ( const EC_GROUP group,
const EC_AFFINE point,
point_conversion_form_t  form,
uint8_t buf,
size_t  len 
)

Definition at line 76 of file oct.c.

◆ ec_precomp_select()

void ec_precomp_select ( const EC_GROUP group,
EC_PRECOMP out,
BN_ULONG  mask,
const EC_PRECOMP a,
const EC_PRECOMP b 
)

Definition at line 1147 of file ec.c.

◆ ec_random_nonzero_scalar()

int ec_random_nonzero_scalar ( const EC_GROUP group,
EC_SCALAR out,
const uint8_t  additional_data[32] 
)

Definition at line 48 of file scalar.c.

◆ ec_scalar_add()

void ec_scalar_add ( const EC_GROUP group,
EC_SCALAR r,
const EC_SCALAR a,
const EC_SCALAR b 
)

Definition at line 93 of file scalar.c.

◆ ec_scalar_equal_vartime()

int ec_scalar_equal_vartime ( const EC_GROUP group,
const EC_SCALAR a,
const EC_SCALAR b 
)

Definition at line 34 of file scalar.c.

◆ ec_scalar_from_bytes()

int ec_scalar_from_bytes ( const EC_GROUP group,
EC_SCALAR out,
const uint8_t in,
size_t  len 
)

Definition at line 63 of file scalar.c.

◆ ec_scalar_from_montgomery()

void ec_scalar_from_montgomery ( const EC_GROUP group,
EC_SCALAR r,
const EC_SCALAR a 
)

Definition at line 127 of file scalar.c.

◆ ec_scalar_inv0_montgomery()

void ec_scalar_inv0_montgomery ( const EC_GROUP group,
EC_SCALAR r,
const EC_SCALAR a 
)

Definition at line 167 of file scalar.c.

◆ ec_scalar_is_zero()

int ec_scalar_is_zero ( const EC_GROUP group,
const EC_SCALAR a 
)

Definition at line 40 of file scalar.c.

◆ ec_scalar_mul_montgomery()

void ec_scalar_mul_montgomery ( const EC_GROUP group,
EC_SCALAR r,
const EC_SCALAR a,
const EC_SCALAR b 
)

Definition at line 134 of file scalar.c.

◆ ec_scalar_neg()

void ec_scalar_neg ( const EC_GROUP group,
EC_SCALAR r,
const EC_SCALAR a 
)

Definition at line 109 of file scalar.c.

◆ ec_scalar_reduce()

void ec_scalar_reduce ( const EC_GROUP group,
EC_SCALAR out,
const BN_ULONG *  words,
size_t  num 
)

Definition at line 84 of file scalar.c.

◆ ec_scalar_select()

void ec_scalar_select ( const EC_GROUP group,
EC_SCALAR out,
BN_ULONG  mask,
const EC_SCALAR a,
const EC_SCALAR b 
)

Definition at line 115 of file scalar.c.

◆ ec_scalar_sub()

void ec_scalar_sub ( const EC_GROUP group,
EC_SCALAR r,
const EC_SCALAR a,
const EC_SCALAR b 
)

Definition at line 101 of file scalar.c.

◆ ec_scalar_to_bytes()

OPENSSL_EXPORT void ec_scalar_to_bytes ( const EC_GROUP group,
uint8_t out,
size_t *  out_len,
const EC_SCALAR in 
)

Definition at line 54 of file scalar.c.

◆ ec_scalar_to_montgomery()

void ec_scalar_to_montgomery ( const EC_GROUP group,
EC_SCALAR r,
const EC_SCALAR a 
)

Definition at line 121 of file scalar.c.

◆ ec_scalar_to_montgomery_inv_vartime()

int ec_scalar_to_montgomery_inv_vartime ( const EC_GROUP group,
EC_SCALAR r,
const EC_SCALAR a 
)

Definition at line 172 of file scalar.c.

◆ ec_set_to_safe_point()

void ec_set_to_safe_point ( const EC_GROUP group,
EC_RAW_POINT out 
)

Definition at line 1222 of file ec.c.

◆ ec_simple_scalar_inv0_montgomery()

void ec_simple_scalar_inv0_montgomery ( const EC_GROUP group,
EC_SCALAR r,
const EC_SCALAR a 
)

Definition at line 141 of file scalar.c.

◆ ec_simple_scalar_to_montgomery_inv_vartime()

int ec_simple_scalar_to_montgomery_inv_vartime ( const EC_GROUP group,
EC_SCALAR r,
const EC_SCALAR a 
)

Definition at line 148 of file scalar.c.

◆ OPENSSL_built_in_curves()

const struct built_in_curves* OPENSSL_built_in_curves ( void  )

◆ OPENSSL_STATIC_ASSERT()

OPENSSL_STATIC_ASSERT ( EC_MAX_WORDS<=  BN_SMALL_MAX_WORDS,
"bn_*_small functions not usable"   
)


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