webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Functions | Variables
ec.c File Reference
#include <openssl/ec.h>
#include <assert.h>
#include <string.h>
#include <openssl/bn.h>
#include <openssl/err.h>
#include <openssl/mem.h>
#include <openssl/nid.h>
#include "internal.h"
#include "../internal.h"

Functions

EC_GROUPec_group_new (const EC_METHOD *meth)
 
EC_GROUPEC_GROUP_new_curve_GFp (const BIGNUM *p, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx)
 
int EC_GROUP_set_generator (EC_GROUP *group, const EC_POINT *generator, const BIGNUM *order, const BIGNUM *cofactor)
 
EC_GROUPEC_GROUP_new_by_curve_name (int nid)
 
void EC_GROUP_free (EC_GROUP *group)
 
const BN_MONT_CTXec_group_get_mont_data (const EC_GROUP *group)
 
EC_GROUPEC_GROUP_dup (const EC_GROUP *a)
 
int EC_GROUP_cmp (const EC_GROUP *a, const EC_GROUP *b, BN_CTX *ignored)
 
const EC_POINTEC_GROUP_get0_generator (const EC_GROUP *group)
 
const BIGNUMEC_GROUP_get0_order (const EC_GROUP *group)
 
int EC_GROUP_get_order (const EC_GROUP *group, BIGNUM *order, BN_CTX *ctx)
 
int EC_GROUP_get_cofactor (const EC_GROUP *group, BIGNUM *cofactor, BN_CTX *ctx)
 
int EC_GROUP_get_curve_GFp (const EC_GROUP *group, BIGNUM *out_p, BIGNUM *out_a, BIGNUM *out_b, BN_CTX *ctx)
 
int EC_GROUP_get_curve_name (const EC_GROUP *group)
 
unsigned EC_GROUP_get_degree (const EC_GROUP *group)
 
EC_POINTEC_POINT_new (const EC_GROUP *group)
 
void EC_POINT_free (EC_POINT *point)
 
void EC_POINT_clear_free (EC_POINT *point)
 
int EC_POINT_copy (EC_POINT *dest, const EC_POINT *src)
 
EC_POINTEC_POINT_dup (const EC_POINT *a, const EC_GROUP *group)
 
int EC_POINT_set_to_infinity (const EC_GROUP *group, EC_POINT *point)
 
int EC_POINT_is_at_infinity (const EC_GROUP *group, const EC_POINT *point)
 
int EC_POINT_is_on_curve (const EC_GROUP *group, const EC_POINT *point, BN_CTX *ctx)
 
int EC_POINT_cmp (const EC_GROUP *group, const EC_POINT *a, const EC_POINT *b, BN_CTX *ctx)
 
int EC_POINT_make_affine (const EC_GROUP *group, EC_POINT *point, BN_CTX *ctx)
 
int EC_POINTs_make_affine (const EC_GROUP *group, size_t num, EC_POINT *points[], BN_CTX *ctx)
 
int EC_POINT_get_affine_coordinates_GFp (const EC_GROUP *group, const EC_POINT *point, BIGNUM *x, BIGNUM *y, BN_CTX *ctx)
 
int EC_POINT_set_affine_coordinates_GFp (const EC_GROUP *group, EC_POINT *point, const BIGNUM *x, const BIGNUM *y, BN_CTX *ctx)
 
int EC_POINT_add (const EC_GROUP *group, EC_POINT *r, const EC_POINT *a, const EC_POINT *b, BN_CTX *ctx)
 
int EC_POINT_dbl (const EC_GROUP *group, EC_POINT *r, const EC_POINT *a, BN_CTX *ctx)
 
int EC_POINT_invert (const EC_GROUP *group, EC_POINT *a, BN_CTX *ctx)
 
int EC_POINT_mul (const EC_GROUP *group, EC_POINT *r, const BIGNUM *g_scalar, const EC_POINT *p, const BIGNUM *p_scalar, BN_CTX *ctx)
 
int ec_point_set_Jprojective_coordinates_GFp (const EC_GROUP *group, EC_POINT *point, const BIGNUM *x, const BIGNUM *y, const BIGNUM *z, BN_CTX *ctx)
 
void EC_GROUP_set_asn1_flag (EC_GROUP *group, int flag)
 
const EC_METHODEC_GROUP_method_of (const EC_GROUP *group)
 
int EC_METHOD_get_field_type (const EC_METHOD *meth)
 
void EC_GROUP_set_point_conversion_form (EC_GROUP *group, point_conversion_form_t form)
 
size_t EC_get_builtin_curves (EC_builtin_curve *out_curves, size_t max_num_curves)
 

Variables

const struct built_in_curve OPENSSL_built_in_curves []
 

Function Documentation

◆ EC_get_builtin_curves()

size_t EC_get_builtin_curves ( EC_builtin_curve out_curves,
size_t  max_num_curves 
)

◆ EC_GROUP_cmp()

int EC_GROUP_cmp ( const EC_GROUP a,
const EC_GROUP b,
BN_CTX ignored 
)

◆ EC_GROUP_dup()

EC_GROUP* EC_GROUP_dup ( const EC_GROUP a)

◆ EC_GROUP_free()

void EC_GROUP_free ( EC_GROUP group)

◆ EC_GROUP_get0_generator()

const EC_POINT* EC_GROUP_get0_generator ( const EC_GROUP group)

◆ EC_GROUP_get0_order()

const BIGNUM* EC_GROUP_get0_order ( const EC_GROUP group)

◆ EC_GROUP_get_cofactor()

int EC_GROUP_get_cofactor ( const EC_GROUP group,
BIGNUM cofactor,
BN_CTX ctx 
)

◆ EC_GROUP_get_curve_GFp()

int EC_GROUP_get_curve_GFp ( const EC_GROUP group,
BIGNUM out_p,
BIGNUM out_a,
BIGNUM out_b,
BN_CTX ctx 
)

◆ EC_GROUP_get_curve_name()

int EC_GROUP_get_curve_name ( const EC_GROUP group)

◆ EC_GROUP_get_degree()

unsigned EC_GROUP_get_degree ( const EC_GROUP group)

◆ ec_group_get_mont_data()

const BN_MONT_CTX* ec_group_get_mont_data ( const EC_GROUP group)

◆ EC_GROUP_get_order()

int EC_GROUP_get_order ( const EC_GROUP group,
BIGNUM order,
BN_CTX ctx 
)

◆ EC_GROUP_method_of()

const EC_METHOD* EC_GROUP_method_of ( const EC_GROUP group)

◆ ec_group_new()

EC_GROUP* ec_group_new ( const EC_METHOD meth)

◆ EC_GROUP_new_by_curve_name()

EC_GROUP* EC_GROUP_new_by_curve_name ( int  nid)

◆ EC_GROUP_new_curve_GFp()

EC_GROUP* EC_GROUP_new_curve_GFp ( const BIGNUM p,
const BIGNUM a,
const BIGNUM b,
BN_CTX ctx 
)

◆ EC_GROUP_set_asn1_flag()

void EC_GROUP_set_asn1_flag ( EC_GROUP group,
int  flag 
)

◆ EC_GROUP_set_generator()

int EC_GROUP_set_generator ( EC_GROUP group,
const EC_POINT generator,
const BIGNUM order,
const BIGNUM cofactor 
)

◆ EC_GROUP_set_point_conversion_form()

void EC_GROUP_set_point_conversion_form ( EC_GROUP group,
point_conversion_form_t  form 
)

◆ EC_METHOD_get_field_type()

int EC_METHOD_get_field_type ( const EC_METHOD meth)

◆ EC_POINT_add()

int EC_POINT_add ( const EC_GROUP group,
EC_POINT r,
const EC_POINT a,
const EC_POINT b,
BN_CTX ctx 
)

◆ EC_POINT_clear_free()

void EC_POINT_clear_free ( EC_POINT point)

◆ EC_POINT_cmp()

int EC_POINT_cmp ( const EC_GROUP group,
const EC_POINT a,
const EC_POINT b,
BN_CTX ctx 
)

◆ EC_POINT_copy()

int EC_POINT_copy ( EC_POINT dest,
const EC_POINT src 
)

◆ EC_POINT_dbl()

int EC_POINT_dbl ( const EC_GROUP group,
EC_POINT r,
const EC_POINT a,
BN_CTX ctx 
)

◆ EC_POINT_dup()

EC_POINT* EC_POINT_dup ( const EC_POINT a,
const EC_GROUP group 
)

◆ EC_POINT_free()

void EC_POINT_free ( EC_POINT point)

◆ EC_POINT_get_affine_coordinates_GFp()

int EC_POINT_get_affine_coordinates_GFp ( const EC_GROUP group,
const EC_POINT point,
BIGNUM x,
BIGNUM y,
BN_CTX ctx 
)

◆ EC_POINT_invert()

int EC_POINT_invert ( const EC_GROUP group,
EC_POINT a,
BN_CTX ctx 
)

◆ EC_POINT_is_at_infinity()

int EC_POINT_is_at_infinity ( const EC_GROUP group,
const EC_POINT point 
)

◆ EC_POINT_is_on_curve()

int EC_POINT_is_on_curve ( const EC_GROUP group,
const EC_POINT point,
BN_CTX ctx 
)

◆ EC_POINT_make_affine()

int EC_POINT_make_affine ( const EC_GROUP group,
EC_POINT point,
BN_CTX ctx 
)

◆ EC_POINT_mul()

int EC_POINT_mul ( const EC_GROUP group,
EC_POINT r,
const BIGNUM g_scalar,
const EC_POINT p,
const BIGNUM p_scalar,
BN_CTX ctx 
)

◆ EC_POINT_new()

EC_POINT* EC_POINT_new ( const EC_GROUP group)

◆ EC_POINT_set_affine_coordinates_GFp()

int EC_POINT_set_affine_coordinates_GFp ( const EC_GROUP group,
EC_POINT point,
const BIGNUM x,
const BIGNUM y,
BN_CTX ctx 
)

◆ ec_point_set_Jprojective_coordinates_GFp()

int ec_point_set_Jprojective_coordinates_GFp ( const EC_GROUP group,
EC_POINT point,
const BIGNUM x,
const BIGNUM y,
const BIGNUM z,
BN_CTX ctx 
)

◆ EC_POINT_set_to_infinity()

int EC_POINT_set_to_infinity ( const EC_GROUP group,
EC_POINT point 
)

◆ EC_POINTs_make_affine()

int EC_POINTs_make_affine ( const EC_GROUP group,
size_t  num,
EC_POINT points[],
BN_CTX ctx 
)

Variable Documentation

◆ OPENSSL_built_in_curves

const struct built_in_curve OPENSSL_built_in_curves[]