webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Classes | Macros | Typedefs | Enumerations | Functions
ec.h File Reference
#include <openssl/base.h>
#include <openssl/ec_key.h>

Go to the source code of this file.

Classes

struct  EC_builtin_curve
 

Macros

#define OPENSSL_EC_NAMED_CURVE   0
 
#define EC_R_BUFFER_TOO_SMALL   100
 
#define EC_R_COORDINATES_OUT_OF_RANGE   101
 
#define EC_R_D2I_ECPKPARAMETERS_FAILURE   102
 
#define EC_R_EC_GROUP_NEW_BY_NAME_FAILURE   103
 
#define EC_R_GROUP2PKPARAMETERS_FAILURE   104
 
#define EC_R_I2D_ECPKPARAMETERS_FAILURE   105
 
#define EC_R_INCOMPATIBLE_OBJECTS   106
 
#define EC_R_INVALID_COMPRESSED_POINT   107
 
#define EC_R_INVALID_COMPRESSION_BIT   108
 
#define EC_R_INVALID_ENCODING   109
 
#define EC_R_INVALID_FIELD   110
 
#define EC_R_INVALID_FORM   111
 
#define EC_R_INVALID_GROUP_ORDER   112
 
#define EC_R_INVALID_PRIVATE_KEY   113
 
#define EC_R_MISSING_PARAMETERS   114
 
#define EC_R_MISSING_PRIVATE_KEY   115
 
#define EC_R_NON_NAMED_CURVE   116
 
#define EC_R_NOT_INITIALIZED   117
 
#define EC_R_PKPARAMETERS2GROUP_FAILURE   118
 
#define EC_R_POINT_AT_INFINITY   119
 
#define EC_R_POINT_IS_NOT_ON_CURVE   120
 
#define EC_R_SLOT_FULL   121
 
#define EC_R_UNDEFINED_GENERATOR   122
 
#define EC_R_UNKNOWN_GROUP   123
 
#define EC_R_UNKNOWN_ORDER   124
 
#define EC_R_WRONG_ORDER   125
 
#define EC_R_BIGNUM_OUT_OF_RANGE   126
 
#define EC_R_WRONG_CURVE_PARAMETERS   127
 
#define EC_R_DECODE_ERROR   128
 
#define EC_R_ENCODE_ERROR   129
 
#define EC_R_GROUP_MISMATCH   130
 
#define EC_R_INVALID_COFACTOR   131
 

Typedefs

typedef struct ec_method_st EC_METHOD
 

Enumerations

enum  point_conversion_form_t { POINT_CONVERSION_COMPRESSED = 2, POINT_CONVERSION_UNCOMPRESSED = 4, POINT_CONVERSION_HYBRID = 6 }
 

Functions

OPENSSL_EXPORT EC_GROUPEC_GROUP_new_by_curve_name (int nid)
 
OPENSSL_EXPORT void EC_GROUP_free (EC_GROUP *group)
 
OPENSSL_EXPORT EC_GROUPEC_GROUP_dup (const EC_GROUP *a)
 
OPENSSL_EXPORT int EC_GROUP_cmp (const EC_GROUP *a, const EC_GROUP *b, BN_CTX *ignored)
 
OPENSSL_EXPORT const EC_POINTEC_GROUP_get0_generator (const EC_GROUP *group)
 
OPENSSL_EXPORT const BIGNUMEC_GROUP_get0_order (const EC_GROUP *group)
 
OPENSSL_EXPORT int EC_GROUP_get_cofactor (const EC_GROUP *group, BIGNUM *cofactor, BN_CTX *ctx)
 
OPENSSL_EXPORT int EC_GROUP_get_curve_GFp (const EC_GROUP *group, BIGNUM *out_p, BIGNUM *out_a, BIGNUM *out_b, BN_CTX *ctx)
 
OPENSSL_EXPORT int EC_GROUP_get_curve_name (const EC_GROUP *group)
 
OPENSSL_EXPORT unsigned EC_GROUP_get_degree (const EC_GROUP *group)
 
OPENSSL_EXPORT EC_POINTEC_POINT_new (const EC_GROUP *group)
 
OPENSSL_EXPORT void EC_POINT_free (EC_POINT *point)
 
OPENSSL_EXPORT void EC_POINT_clear_free (EC_POINT *point)
 
OPENSSL_EXPORT int EC_POINT_copy (EC_POINT *dest, const EC_POINT *src)
 
OPENSSL_EXPORT EC_POINTEC_POINT_dup (const EC_POINT *src, const EC_GROUP *group)
 
OPENSSL_EXPORT int EC_POINT_set_to_infinity (const EC_GROUP *group, EC_POINT *point)
 
OPENSSL_EXPORT int EC_POINT_is_at_infinity (const EC_GROUP *group, const EC_POINT *point)
 
OPENSSL_EXPORT int EC_POINT_is_on_curve (const EC_GROUP *group, const EC_POINT *point, BN_CTX *ctx)
 
OPENSSL_EXPORT int EC_POINT_cmp (const EC_GROUP *group, const EC_POINT *a, const EC_POINT *b, BN_CTX *ctx)
 
OPENSSL_EXPORT int EC_POINT_make_affine (const EC_GROUP *group, EC_POINT *point, BN_CTX *ctx)
 
OPENSSL_EXPORT int EC_POINTs_make_affine (const EC_GROUP *group, size_t num, EC_POINT *points[], BN_CTX *ctx)
 
OPENSSL_EXPORT int EC_POINT_get_affine_coordinates_GFp (const EC_GROUP *group, const EC_POINT *point, BIGNUM *x, BIGNUM *y, BN_CTX *ctx)
 
OPENSSL_EXPORT int EC_POINT_set_affine_coordinates_GFp (const EC_GROUP *group, EC_POINT *point, const BIGNUM *x, const BIGNUM *y, BN_CTX *ctx)
 
OPENSSL_EXPORT size_t EC_POINT_point2oct (const EC_GROUP *group, const EC_POINT *point, point_conversion_form_t form, uint8_t *buf, size_t len, BN_CTX *ctx)
 
OPENSSL_EXPORT int EC_POINT_point2cbb (CBB *out, const EC_GROUP *group, const EC_POINT *point, point_conversion_form_t form, BN_CTX *ctx)
 
OPENSSL_EXPORT int EC_POINT_oct2point (const EC_GROUP *group, EC_POINT *point, const uint8_t *buf, size_t len, BN_CTX *ctx)
 
OPENSSL_EXPORT int EC_POINT_set_compressed_coordinates_GFp (const EC_GROUP *group, EC_POINT *point, const BIGNUM *x, int y_bit, BN_CTX *ctx)
 
OPENSSL_EXPORT int EC_POINT_add (const EC_GROUP *group, EC_POINT *r, const EC_POINT *a, const EC_POINT *b, BN_CTX *ctx)
 
OPENSSL_EXPORT int EC_POINT_dbl (const EC_GROUP *group, EC_POINT *r, const EC_POINT *a, BN_CTX *ctx)
 
OPENSSL_EXPORT int EC_POINT_invert (const EC_GROUP *group, EC_POINT *a, BN_CTX *ctx)
 
OPENSSL_EXPORT int EC_POINT_mul (const EC_GROUP *group, EC_POINT *r, const BIGNUM *n, const EC_POINT *q, const BIGNUM *m, BN_CTX *ctx)
 
OPENSSL_EXPORT EC_GROUPEC_GROUP_new_curve_GFp (const BIGNUM *p, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx)
 
OPENSSL_EXPORT int EC_GROUP_set_generator (EC_GROUP *group, const EC_POINT *generator, const BIGNUM *order, const BIGNUM *cofactor)
 
OPENSSL_EXPORT int EC_GROUP_get_order (const EC_GROUP *group, BIGNUM *order, BN_CTX *ctx)
 
OPENSSL_EXPORT void EC_GROUP_set_asn1_flag (EC_GROUP *group, int flag)
 
OPENSSL_EXPORT const EC_METHODEC_GROUP_method_of (const EC_GROUP *group)
 
OPENSSL_EXPORT int EC_METHOD_get_field_type (const EC_METHOD *meth)
 
OPENSSL_EXPORT void EC_GROUP_set_point_conversion_form (EC_GROUP *group, point_conversion_form_t form)
 
OPENSSL_EXPORT size_t EC_get_builtin_curves (EC_builtin_curve *out_curves, size_t max_num_curves)
 

Macro Definition Documentation

◆ EC_R_BIGNUM_OUT_OF_RANGE

#define EC_R_BIGNUM_OUT_OF_RANGE   126

◆ EC_R_BUFFER_TOO_SMALL

#define EC_R_BUFFER_TOO_SMALL   100

◆ EC_R_COORDINATES_OUT_OF_RANGE

#define EC_R_COORDINATES_OUT_OF_RANGE   101

◆ EC_R_D2I_ECPKPARAMETERS_FAILURE

#define EC_R_D2I_ECPKPARAMETERS_FAILURE   102

◆ EC_R_DECODE_ERROR

#define EC_R_DECODE_ERROR   128

◆ EC_R_EC_GROUP_NEW_BY_NAME_FAILURE

#define EC_R_EC_GROUP_NEW_BY_NAME_FAILURE   103

◆ EC_R_ENCODE_ERROR

#define EC_R_ENCODE_ERROR   129

◆ EC_R_GROUP2PKPARAMETERS_FAILURE

#define EC_R_GROUP2PKPARAMETERS_FAILURE   104

◆ EC_R_GROUP_MISMATCH

#define EC_R_GROUP_MISMATCH   130

◆ EC_R_I2D_ECPKPARAMETERS_FAILURE

#define EC_R_I2D_ECPKPARAMETERS_FAILURE   105

◆ EC_R_INCOMPATIBLE_OBJECTS

#define EC_R_INCOMPATIBLE_OBJECTS   106

◆ EC_R_INVALID_COFACTOR

#define EC_R_INVALID_COFACTOR   131

◆ EC_R_INVALID_COMPRESSED_POINT

#define EC_R_INVALID_COMPRESSED_POINT   107

◆ EC_R_INVALID_COMPRESSION_BIT

#define EC_R_INVALID_COMPRESSION_BIT   108

◆ EC_R_INVALID_ENCODING

#define EC_R_INVALID_ENCODING   109

◆ EC_R_INVALID_FIELD

#define EC_R_INVALID_FIELD   110

◆ EC_R_INVALID_FORM

#define EC_R_INVALID_FORM   111

◆ EC_R_INVALID_GROUP_ORDER

#define EC_R_INVALID_GROUP_ORDER   112

◆ EC_R_INVALID_PRIVATE_KEY

#define EC_R_INVALID_PRIVATE_KEY   113

◆ EC_R_MISSING_PARAMETERS

#define EC_R_MISSING_PARAMETERS   114

◆ EC_R_MISSING_PRIVATE_KEY

#define EC_R_MISSING_PRIVATE_KEY   115

◆ EC_R_NON_NAMED_CURVE

#define EC_R_NON_NAMED_CURVE   116

◆ EC_R_NOT_INITIALIZED

#define EC_R_NOT_INITIALIZED   117

◆ EC_R_PKPARAMETERS2GROUP_FAILURE

#define EC_R_PKPARAMETERS2GROUP_FAILURE   118

◆ EC_R_POINT_AT_INFINITY

#define EC_R_POINT_AT_INFINITY   119

◆ EC_R_POINT_IS_NOT_ON_CURVE

#define EC_R_POINT_IS_NOT_ON_CURVE   120

◆ EC_R_SLOT_FULL

#define EC_R_SLOT_FULL   121

◆ EC_R_UNDEFINED_GENERATOR

#define EC_R_UNDEFINED_GENERATOR   122

◆ EC_R_UNKNOWN_GROUP

#define EC_R_UNKNOWN_GROUP   123

◆ EC_R_UNKNOWN_ORDER

#define EC_R_UNKNOWN_ORDER   124

◆ EC_R_WRONG_CURVE_PARAMETERS

#define EC_R_WRONG_CURVE_PARAMETERS   127

◆ EC_R_WRONG_ORDER

#define EC_R_WRONG_ORDER   125

◆ OPENSSL_EC_NAMED_CURVE

#define OPENSSL_EC_NAMED_CURVE   0

Typedef Documentation

◆ EC_METHOD

Enumeration Type Documentation

◆ point_conversion_form_t

Enumerator
POINT_CONVERSION_COMPRESSED 
POINT_CONVERSION_UNCOMPRESSED 
POINT_CONVERSION_HYBRID 

Function Documentation

◆ EC_get_builtin_curves()

OPENSSL_EXPORT size_t EC_get_builtin_curves ( EC_builtin_curve out_curves,
size_t  max_num_curves 
)

◆ EC_GROUP_cmp()

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

◆ EC_GROUP_dup()

OPENSSL_EXPORT EC_GROUP* EC_GROUP_dup ( const EC_GROUP a)

◆ EC_GROUP_free()

OPENSSL_EXPORT void EC_GROUP_free ( EC_GROUP group)

◆ EC_GROUP_get0_generator()

OPENSSL_EXPORT const EC_POINT* EC_GROUP_get0_generator ( const EC_GROUP group)

◆ EC_GROUP_get0_order()

OPENSSL_EXPORT const BIGNUM* EC_GROUP_get0_order ( const EC_GROUP group)

◆ EC_GROUP_get_cofactor()

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

◆ EC_GROUP_get_curve_GFp()

OPENSSL_EXPORT 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()

OPENSSL_EXPORT int EC_GROUP_get_curve_name ( const EC_GROUP group)

◆ EC_GROUP_get_degree()

OPENSSL_EXPORT unsigned EC_GROUP_get_degree ( const EC_GROUP group)

◆ EC_GROUP_get_order()

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

◆ EC_GROUP_method_of()

OPENSSL_EXPORT const EC_METHOD* EC_GROUP_method_of ( const EC_GROUP group)

◆ EC_GROUP_new_by_curve_name()

OPENSSL_EXPORT EC_GROUP* EC_GROUP_new_by_curve_name ( int  nid)

◆ EC_GROUP_new_curve_GFp()

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

◆ EC_GROUP_set_asn1_flag()

OPENSSL_EXPORT void EC_GROUP_set_asn1_flag ( EC_GROUP group,
int  flag 
)

◆ EC_GROUP_set_generator()

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

◆ EC_GROUP_set_point_conversion_form()

OPENSSL_EXPORT void EC_GROUP_set_point_conversion_form ( EC_GROUP group,
point_conversion_form_t  form 
)

◆ EC_METHOD_get_field_type()

OPENSSL_EXPORT int EC_METHOD_get_field_type ( const EC_METHOD meth)

◆ EC_POINT_add()

OPENSSL_EXPORT 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()

OPENSSL_EXPORT void EC_POINT_clear_free ( EC_POINT point)

◆ EC_POINT_cmp()

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

◆ EC_POINT_copy()

OPENSSL_EXPORT int EC_POINT_copy ( EC_POINT dest,
const EC_POINT src 
)

◆ EC_POINT_dbl()

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

◆ EC_POINT_dup()

OPENSSL_EXPORT EC_POINT* EC_POINT_dup ( const EC_POINT src,
const EC_GROUP group 
)

◆ EC_POINT_free()

OPENSSL_EXPORT void EC_POINT_free ( EC_POINT point)

◆ EC_POINT_get_affine_coordinates_GFp()

OPENSSL_EXPORT 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()

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

◆ EC_POINT_is_at_infinity()

OPENSSL_EXPORT int EC_POINT_is_at_infinity ( const EC_GROUP group,
const EC_POINT point 
)

◆ EC_POINT_is_on_curve()

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

◆ EC_POINT_make_affine()

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

◆ EC_POINT_mul()

OPENSSL_EXPORT int EC_POINT_mul ( const EC_GROUP group,
EC_POINT r,
const BIGNUM n,
const EC_POINT q,
const BIGNUM m,
BN_CTX ctx 
)

◆ EC_POINT_new()

OPENSSL_EXPORT EC_POINT* EC_POINT_new ( const EC_GROUP group)

◆ EC_POINT_oct2point()

OPENSSL_EXPORT int EC_POINT_oct2point ( const EC_GROUP group,
EC_POINT point,
const uint8_t buf,
size_t  len,
BN_CTX ctx 
)

◆ EC_POINT_point2cbb()

OPENSSL_EXPORT int EC_POINT_point2cbb ( CBB out,
const EC_GROUP group,
const EC_POINT point,
point_conversion_form_t  form,
BN_CTX ctx 
)

◆ EC_POINT_point2oct()

OPENSSL_EXPORT size_t EC_POINT_point2oct ( const EC_GROUP group,
const EC_POINT point,
point_conversion_form_t  form,
uint8_t buf,
size_t  len,
BN_CTX ctx 
)

◆ EC_POINT_set_affine_coordinates_GFp()

OPENSSL_EXPORT 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_compressed_coordinates_GFp()

OPENSSL_EXPORT int EC_POINT_set_compressed_coordinates_GFp ( const EC_GROUP group,
EC_POINT point,
const BIGNUM x,
int  y_bit,
BN_CTX ctx 
)

◆ EC_POINT_set_to_infinity()

OPENSSL_EXPORT int EC_POINT_set_to_infinity ( const EC_GROUP group,
EC_POINT point 
)

◆ EC_POINTs_make_affine()

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