Classes | Macros | Typedefs | Enumerations | Functions
ec.h File Reference
#include <openssl/base.h>
#include <openssl/ec_key.h>
Include dependency graph for ec.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  EC_builtin_curve
 

Macros

#define EC_R_BIGNUM_OUT_OF_RANGE   126
 
#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_DECODE_ERROR   128
 
#define EC_R_EC_GROUP_NEW_BY_NAME_FAILURE   103
 
#define EC_R_ENCODE_ERROR   129
 
#define EC_R_GROUP2PKPARAMETERS_FAILURE   104
 
#define EC_R_GROUP_MISMATCH   130
 
#define EC_R_I2D_ECPKPARAMETERS_FAILURE   105
 
#define EC_R_INCOMPATIBLE_OBJECTS   106
 
#define EC_R_INVALID_COFACTOR   131
 
#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_INVALID_SCALAR   133
 
#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_PUBLIC_KEY_VALIDATION_FAILED   132
 
#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_CURVE_PARAMETERS   127
 
#define EC_R_WRONG_ORDER   125
 
#define OPENSSL_EC_EXPLICIT_CURVE   0
 
#define OPENSSL_EC_NAMED_CURVE   1
 

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

const OPENSSL_EXPORT char * EC_curve_nid2nist (int nid)
 
OPENSSL_EXPORT int EC_curve_nist2nid (const char *name)
 
OPENSSL_EXPORT size_t EC_get_builtin_curves (EC_builtin_curve *out_curves, size_t max_num_curves)
 
OPENSSL_EXPORT int EC_GROUP_cmp (const EC_GROUP *a, const EC_GROUP *b, BN_CTX *ignored)
 
OPENSSL_EXPORT EC_GROUPEC_GROUP_dup (const EC_GROUP *a)
 
OPENSSL_EXPORT void EC_GROUP_free (EC_GROUP *group)
 
const OPENSSL_EXPORT EC_POINTEC_GROUP_get0_generator (const EC_GROUP *group)
 
const OPENSSL_EXPORT BIGNUMEC_GROUP_get0_order (const EC_GROUP *group)
 
OPENSSL_EXPORT int EC_GROUP_get_asn1_flag (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 int EC_GROUP_get_order (const EC_GROUP *group, BIGNUM *order, BN_CTX *ctx)
 
const OPENSSL_EXPORT EC_METHODEC_GROUP_method_of (const EC_GROUP *group)
 
OPENSSL_EXPORT EC_GROUPEC_GROUP_new_by_curve_name (int nid)
 
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_order_bits (const EC_GROUP *group)
 
OPENSSL_EXPORT void EC_GROUP_set_asn1_flag (EC_GROUP *group, int flag)
 
OPENSSL_EXPORT int EC_GROUP_set_generator (EC_GROUP *group, const EC_POINT *generator, const BIGNUM *order, const BIGNUM *cofactor)
 
OPENSSL_EXPORT void EC_GROUP_set_point_conversion_form (EC_GROUP *group, point_conversion_form_t form)
 
OPENSSL_EXPORT int EC_METHOD_get_field_type (const EC_METHOD *meth)
 
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 void EC_POINT_clear_free (EC_POINT *point)
 
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_copy (EC_POINT *dest, const EC_POINT *src)
 
OPENSSL_EXPORT int EC_POINT_dbl (const EC_GROUP *group, EC_POINT *r, const EC_POINT *a, BN_CTX *ctx)
 
OPENSSL_EXPORT EC_POINTEC_POINT_dup (const EC_POINT *src, const EC_GROUP *group)
 
OPENSSL_EXPORT void EC_POINT_free (EC_POINT *point)
 
OPENSSL_EXPORT int EC_POINT_get_affine_coordinates (const EC_GROUP *group, const EC_POINT *point, BIGNUM *x, BIGNUM *y, 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_invert (const EC_GROUP *group, EC_POINT *a, BN_CTX *ctx)
 
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_mul (const EC_GROUP *group, EC_POINT *r, const BIGNUM *n, const EC_POINT *q, const BIGNUM *m, BN_CTX *ctx)
 
OPENSSL_EXPORT EC_POINTEC_POINT_new (const EC_GROUP *group)
 
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_point2cbb (CBB *out, const EC_GROUP *group, const EC_POINT *point, point_conversion_form_t form, 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_set_affine_coordinates (const EC_GROUP *group, EC_POINT *point, const BIGNUM *x, const 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 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_set_to_infinity (const EC_GROUP *group, EC_POINT *point)
 

Macro Definition Documentation

◆ EC_R_BIGNUM_OUT_OF_RANGE

#define EC_R_BIGNUM_OUT_OF_RANGE   126

Definition at line 433 of file ec.h.

◆ EC_R_BUFFER_TOO_SMALL

#define EC_R_BUFFER_TOO_SMALL   100

Definition at line 407 of file ec.h.

◆ EC_R_COORDINATES_OUT_OF_RANGE

#define EC_R_COORDINATES_OUT_OF_RANGE   101

Definition at line 408 of file ec.h.

◆ EC_R_D2I_ECPKPARAMETERS_FAILURE

#define EC_R_D2I_ECPKPARAMETERS_FAILURE   102

Definition at line 409 of file ec.h.

◆ EC_R_DECODE_ERROR

#define EC_R_DECODE_ERROR   128

Definition at line 435 of file ec.h.

◆ EC_R_EC_GROUP_NEW_BY_NAME_FAILURE

#define EC_R_EC_GROUP_NEW_BY_NAME_FAILURE   103

Definition at line 410 of file ec.h.

◆ EC_R_ENCODE_ERROR

#define EC_R_ENCODE_ERROR   129

Definition at line 436 of file ec.h.

◆ EC_R_GROUP2PKPARAMETERS_FAILURE

#define EC_R_GROUP2PKPARAMETERS_FAILURE   104

Definition at line 411 of file ec.h.

◆ EC_R_GROUP_MISMATCH

#define EC_R_GROUP_MISMATCH   130

Definition at line 437 of file ec.h.

◆ EC_R_I2D_ECPKPARAMETERS_FAILURE

#define EC_R_I2D_ECPKPARAMETERS_FAILURE   105

Definition at line 412 of file ec.h.

◆ EC_R_INCOMPATIBLE_OBJECTS

#define EC_R_INCOMPATIBLE_OBJECTS   106

Definition at line 413 of file ec.h.

◆ EC_R_INVALID_COFACTOR

#define EC_R_INVALID_COFACTOR   131

Definition at line 438 of file ec.h.

◆ EC_R_INVALID_COMPRESSED_POINT

#define EC_R_INVALID_COMPRESSED_POINT   107

Definition at line 414 of file ec.h.

◆ EC_R_INVALID_COMPRESSION_BIT

#define EC_R_INVALID_COMPRESSION_BIT   108

Definition at line 415 of file ec.h.

◆ EC_R_INVALID_ENCODING

#define EC_R_INVALID_ENCODING   109

Definition at line 416 of file ec.h.

◆ EC_R_INVALID_FIELD

#define EC_R_INVALID_FIELD   110

Definition at line 417 of file ec.h.

◆ EC_R_INVALID_FORM

#define EC_R_INVALID_FORM   111

Definition at line 418 of file ec.h.

◆ EC_R_INVALID_GROUP_ORDER

#define EC_R_INVALID_GROUP_ORDER   112

Definition at line 419 of file ec.h.

◆ EC_R_INVALID_PRIVATE_KEY

#define EC_R_INVALID_PRIVATE_KEY   113

Definition at line 420 of file ec.h.

◆ EC_R_INVALID_SCALAR

#define EC_R_INVALID_SCALAR   133

Definition at line 440 of file ec.h.

◆ EC_R_MISSING_PARAMETERS

#define EC_R_MISSING_PARAMETERS   114

Definition at line 421 of file ec.h.

◆ EC_R_MISSING_PRIVATE_KEY

#define EC_R_MISSING_PRIVATE_KEY   115

Definition at line 422 of file ec.h.

◆ EC_R_NON_NAMED_CURVE

#define EC_R_NON_NAMED_CURVE   116

Definition at line 423 of file ec.h.

◆ EC_R_NOT_INITIALIZED

#define EC_R_NOT_INITIALIZED   117

Definition at line 424 of file ec.h.

◆ EC_R_PKPARAMETERS2GROUP_FAILURE

#define EC_R_PKPARAMETERS2GROUP_FAILURE   118

Definition at line 425 of file ec.h.

◆ EC_R_POINT_AT_INFINITY

#define EC_R_POINT_AT_INFINITY   119

Definition at line 426 of file ec.h.

◆ EC_R_POINT_IS_NOT_ON_CURVE

#define EC_R_POINT_IS_NOT_ON_CURVE   120

Definition at line 427 of file ec.h.

◆ EC_R_PUBLIC_KEY_VALIDATION_FAILED

#define EC_R_PUBLIC_KEY_VALIDATION_FAILED   132

Definition at line 439 of file ec.h.

◆ EC_R_SLOT_FULL

#define EC_R_SLOT_FULL   121

Definition at line 428 of file ec.h.

◆ EC_R_UNDEFINED_GENERATOR

#define EC_R_UNDEFINED_GENERATOR   122

Definition at line 429 of file ec.h.

◆ EC_R_UNKNOWN_GROUP

#define EC_R_UNKNOWN_GROUP   123

Definition at line 430 of file ec.h.

◆ EC_R_UNKNOWN_ORDER

#define EC_R_UNKNOWN_ORDER   124

Definition at line 431 of file ec.h.

◆ EC_R_WRONG_CURVE_PARAMETERS

#define EC_R_WRONG_CURVE_PARAMETERS   127

Definition at line 434 of file ec.h.

◆ EC_R_WRONG_ORDER

#define EC_R_WRONG_ORDER   125

Definition at line 432 of file ec.h.

◆ OPENSSL_EC_EXPLICIT_CURVE

#define OPENSSL_EC_EXPLICIT_CURVE   0

Definition at line 346 of file ec.h.

◆ OPENSSL_EC_NAMED_CURVE

#define OPENSSL_EC_NAMED_CURVE   1

Definition at line 347 of file ec.h.

Typedef Documentation

◆ EC_METHOD

typedef struct ec_method_st EC_METHOD

Definition at line 355 of file ec.h.

Enumeration Type Documentation

◆ point_conversion_form_t

Enumerator
POINT_CONVERSION_COMPRESSED 
POINT_CONVERSION_UNCOMPRESSED 
POINT_CONVERSION_HYBRID 

Definition at line 83 of file ec.h.

Function Documentation

◆ EC_curve_nid2nist()

const OPENSSL_EXPORT char* EC_curve_nid2nist ( int  nid)

Definition at line 650 of file ec.c.

◆ EC_curve_nist2nid()

OPENSSL_EXPORT int EC_curve_nist2nid ( const char *  name)

Definition at line 664 of file ec.c.

◆ EC_get_builtin_curves()

OPENSSL_EXPORT size_t EC_get_builtin_curves ( EC_builtin_curve out_curves,
size_t  max_num_curves 
)

Definition at line 1257 of file ec.c.

◆ EC_GROUP_cmp()

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

Definition at line 586 of file ec.c.

◆ EC_GROUP_dup()

OPENSSL_EXPORT EC_GROUP* EC_GROUP_dup ( const EC_GROUP a)

Definition at line 572 of file ec.c.

◆ EC_GROUP_free()

OPENSSL_EXPORT void EC_GROUP_free ( EC_GROUP group)

Definition at line 553 of file ec.c.

◆ EC_GROUP_get0_generator()

const OPENSSL_EXPORT EC_POINT* EC_GROUP_get0_generator ( const EC_GROUP group)

Definition at line 613 of file ec.c.

◆ EC_GROUP_get0_order()

const OPENSSL_EXPORT BIGNUM* EC_GROUP_get0_order ( const EC_GROUP group)

Definition at line 617 of file ec.c.

◆ EC_GROUP_get_asn1_flag()

OPENSSL_EXPORT int EC_GROUP_get_asn1_flag ( const EC_GROUP group)

Definition at line 1235 of file ec.c.

◆ EC_GROUP_get_cofactor()

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

Definition at line 633 of file ec.c.

◆ 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 
)

Definition at line 639 of file ec.c.

◆ EC_GROUP_get_curve_name()

OPENSSL_EXPORT int EC_GROUP_get_curve_name ( const EC_GROUP group)

Definition at line 644 of file ec.c.

◆ EC_GROUP_get_degree()

OPENSSL_EXPORT unsigned EC_GROUP_get_degree ( const EC_GROUP group)

Definition at line 646 of file ec.c.

◆ EC_GROUP_get_order()

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

Definition at line 622 of file ec.c.

◆ EC_GROUP_method_of()

const OPENSSL_EXPORT EC_METHOD* EC_GROUP_method_of ( const EC_GROUP group)

Definition at line 1239 of file ec.c.

◆ EC_GROUP_new_by_curve_name()

OPENSSL_EXPORT EC_GROUP* EC_GROUP_new_by_curve_name ( int  nid)

Definition at line 506 of file ec.c.

◆ 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 
)

Definition at line 349 of file ec.c.

◆ EC_GROUP_order_bits()

OPENSSL_EXPORT int EC_GROUP_order_bits ( const EC_GROUP group)

Definition at line 629 of file ec.c.

◆ EC_GROUP_set_asn1_flag()

OPENSSL_EXPORT void EC_GROUP_set_asn1_flag ( EC_GROUP group,
int  flag 
)

Definition at line 1233 of file ec.c.

◆ EC_GROUP_set_generator()

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

Definition at line 390 of file ec.c.

◆ EC_GROUP_set_point_conversion_form()

OPENSSL_EXPORT void EC_GROUP_set_point_conversion_form ( EC_GROUP group,
point_conversion_form_t  form 
)

Definition at line 1250 of file ec.c.

◆ EC_METHOD_get_field_type()

OPENSSL_EXPORT int EC_METHOD_get_field_type ( const EC_METHOD meth)

Definition at line 1246 of file ec.c.

◆ 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 
)

Definition at line 894 of file ec.c.

◆ EC_POINT_clear_free()

OPENSSL_EXPORT void EC_POINT_clear_free ( EC_POINT point)

Definition at line 711 of file ec.c.

◆ EC_POINT_cmp()

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

Definition at line 766 of file ec.c.

◆ EC_POINT_copy()

OPENSSL_EXPORT int EC_POINT_copy ( EC_POINT dest,
const EC_POINT src 
)

Definition at line 713 of file ec.c.

◆ EC_POINT_dbl()

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

Definition at line 906 of file ec.c.

◆ EC_POINT_dup()

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

Definition at line 725 of file ec.c.

◆ EC_POINT_free()

OPENSSL_EXPORT void EC_POINT_free ( EC_POINT point)

Definition at line 707 of file ec.c.

◆ EC_POINT_get_affine_coordinates()

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

Definition at line 800 of file ec.c.

◆ 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 
)

Definition at line 778 of file ec.c.

◆ EC_POINT_invert()

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

Definition at line 918 of file ec.c.

◆ EC_POINT_is_at_infinity()

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

Definition at line 749 of file ec.c.

◆ EC_POINT_is_on_curve()

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

Definition at line 757 of file ec.c.

◆ 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 
)

Definition at line 946 of file ec.c.

◆ EC_POINT_new()

OPENSSL_EXPORT EC_POINT* EC_POINT_new ( const EC_GROUP group)

Definition at line 680 of file ec.c.

◆ 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 
)

Definition at line 201 of file oct.c.

◆ 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 
)

Definition at line 407 of file ec_asn1.c.

◆ 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 
)

Definition at line 210 of file oct.c.

◆ EC_POINT_set_affine_coordinates()

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

Definition at line 888 of file ec.c.

◆ 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 
)

Definition at line 860 of file ec.c.

◆ 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 
)

Definition at line 224 of file oct.c.

◆ EC_POINT_set_to_infinity()

OPENSSL_EXPORT int EC_POINT_set_to_infinity ( const EC_GROUP group,
EC_POINT point 
)

Definition at line 740 of file ec.c.



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