Ark Server API (ASE) - Wiki
|
#include <openssl/opensslconf.h>
#include <openssl/asn1.h>
#include <openssl/symhacks.h>
#include <openssl/bn.h>
#include <openssl/ecerr.h>
Go to the source code of this file.
Classes | |
struct | EC_builtin_curve |
Typedefs | |
typedef struct ec_method_st | EC_METHOD |
typedef struct ec_group_st | EC_GROUP |
typedef struct ec_point_st | EC_POINT |
typedef struct ecpk_parameters_st | ECPKPARAMETERS |
typedef struct ec_parameters_st | ECPARAMETERS |
typedef struct ECDSA_SIG_st | ECDSA_SIG |
Enumerations | |
enum | point_conversion_form_t { POINT_CONVERSION_COMPRESSED = 2 , POINT_CONVERSION_UNCOMPRESSED = 4 , POINT_CONVERSION_HYBRID = 6 } |
Functions | |
const EC_METHOD * | EC_GFp_simple_method (void) |
const EC_METHOD * | EC_GFp_mont_method (void) |
const EC_METHOD * | EC_GFp_nist_method (void) |
const EC_METHOD * | EC_GFp_nistp224_method (void) |
const EC_METHOD * | EC_GFp_nistp256_method (void) |
const EC_METHOD * | EC_GFp_nistp521_method (void) |
const EC_METHOD * | EC_GF2m_simple_method (void) |
EC_GROUP * | EC_GROUP_new (const EC_METHOD *meth) |
void | EC_GROUP_free (EC_GROUP *group) |
void | EC_GROUP_clear_free (EC_GROUP *group) |
int | EC_GROUP_copy (EC_GROUP *dst, const EC_GROUP *src) |
EC_GROUP * | EC_GROUP_dup (const EC_GROUP *src) |
const EC_METHOD * | EC_GROUP_method_of (const EC_GROUP *group) |
int | EC_METHOD_get_field_type (const EC_METHOD *meth) |
int | EC_GROUP_set_generator (EC_GROUP *group, const EC_POINT *generator, const BIGNUM *order, const BIGNUM *cofactor) |
const EC_POINT * | EC_GROUP_get0_generator (const EC_GROUP *group) |
BN_MONT_CTX * | EC_GROUP_get_mont_data (const EC_GROUP *group) |
int | EC_GROUP_get_order (const EC_GROUP *group, BIGNUM *order, BN_CTX *ctx) |
const BIGNUM * | EC_GROUP_get0_order (const EC_GROUP *group) |
int | EC_GROUP_order_bits (const EC_GROUP *group) |
int | EC_GROUP_get_cofactor (const EC_GROUP *group, BIGNUM *cofactor, BN_CTX *ctx) |
const BIGNUM * | EC_GROUP_get0_cofactor (const EC_GROUP *group) |
void | EC_GROUP_set_curve_name (EC_GROUP *group, int nid) |
int | EC_GROUP_get_curve_name (const EC_GROUP *group) |
void | EC_GROUP_set_asn1_flag (EC_GROUP *group, int flag) |
int | EC_GROUP_get_asn1_flag (const EC_GROUP *group) |
void | EC_GROUP_set_point_conversion_form (EC_GROUP *group, point_conversion_form_t form) |
point_conversion_form_t | EC_GROUP_get_point_conversion_form (const EC_GROUP *) |
unsigned char * | EC_GROUP_get0_seed (const EC_GROUP *x) |
size_t | EC_GROUP_get_seed_len (const EC_GROUP *) |
size_t | EC_GROUP_set_seed (EC_GROUP *, const unsigned char *, size_t len) |
int | EC_GROUP_set_curve (EC_GROUP *group, const BIGNUM *p, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx) |
int | EC_GROUP_get_curve (const EC_GROUP *group, BIGNUM *p, BIGNUM *a, BIGNUM *b, BN_CTX *ctx) |
DEPRECATEDIN_1_2_0 (int EC_GROUP_set_curve_GFp(EC_GROUP *group, const BIGNUM *p, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx)) DEPRECATEDIN_1_2_0(int EC_GROUP_get_curve_GFp(const EC_GROUP *group | |
BIGNUM BIGNUM BIGNUM BN_CTX *ctx BIGNUM BIGNUM BIGNUM BN_CTX *ctx int | EC_GROUP_get_degree (const EC_GROUP *group) |
int | EC_GROUP_check (const EC_GROUP *group, BN_CTX *ctx) |
int | EC_GROUP_check_discriminant (const EC_GROUP *group, BN_CTX *ctx) |
int | EC_GROUP_cmp (const EC_GROUP *a, const EC_GROUP *b, BN_CTX *ctx) |
EC_GROUP * | EC_GROUP_new_curve_GFp (const BIGNUM *p, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx) |
EC_GROUP * | EC_GROUP_new_curve_GF2m (const BIGNUM *p, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx) |
EC_GROUP * | EC_GROUP_new_by_curve_name (int nid) |
EC_GROUP * | EC_GROUP_new_from_ecparameters (const ECPARAMETERS *params) |
ECPARAMETERS * | EC_GROUP_get_ecparameters (const EC_GROUP *group, ECPARAMETERS *params) |
EC_GROUP * | EC_GROUP_new_from_ecpkparameters (const ECPKPARAMETERS *params) |
ECPKPARAMETERS * | EC_GROUP_get_ecpkparameters (const EC_GROUP *group, ECPKPARAMETERS *params) |
size_t | EC_get_builtin_curves (EC_builtin_curve *r, size_t nitems) |
const char * | EC_curve_nid2nist (int nid) |
int | EC_curve_nist2nid (const char *name) |
EC_POINT * | EC_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 *dst, const EC_POINT *src) |
EC_POINT * | EC_POINT_dup (const EC_POINT *src, const EC_GROUP *group) |
const EC_METHOD * | EC_POINT_method_of (const EC_POINT *point) |
int | EC_POINT_set_to_infinity (const EC_GROUP *group, EC_POINT *point) |
int | EC_POINT_set_Jprojective_coordinates_GFp (const EC_GROUP *group, EC_POINT *p, const BIGNUM *x, const BIGNUM *y, const BIGNUM *z, BN_CTX *ctx) |
int | EC_POINT_get_Jprojective_coordinates_GFp (const EC_GROUP *group, const EC_POINT *p, BIGNUM *x, BIGNUM *y, BIGNUM *z, BN_CTX *ctx) |
int | EC_POINT_set_affine_coordinates (const EC_GROUP *group, EC_POINT *p, const BIGNUM *x, const BIGNUM *y, BN_CTX *ctx) |
int | EC_POINT_get_affine_coordinates (const EC_GROUP *group, const EC_POINT *p, BIGNUM *x, BIGNUM *y, BN_CTX *ctx) |
DEPRECATEDIN_1_2_0 (int EC_POINT_set_affine_coordinates_GFp(const EC_GROUP *group, EC_POINT *p, const BIGNUM *x, const BIGNUM *y, BN_CTX *ctx)) DEPRECATEDIN_1_2_0(int EC_POINT_get_affine_coordinates_GFp(const EC_GROUP *group | |
const EC_POINT BIGNUM BIGNUM BN_CTX *ctx int | EC_POINT_set_compressed_coordinates (const EC_GROUP *group, EC_POINT *p, const BIGNUM *x, int y_bit, BN_CTX *ctx) |
DEPRECATEDIN_1_2_0 (int EC_POINT_set_compressed_coordinates_GFp(const EC_GROUP *group, EC_POINT *p, const BIGNUM *x, int y_bit, BN_CTX *ctx)) DEPRECATEDIN_1_2_0(int EC_POINT_set_affine_coordinates_GF2m(const EC_GROUP *group | |
EC_POINT const BIGNUM const BIGNUM BN_CTX *ctx | DEPRECATEDIN_1_2_0 (int EC_POINT_get_affine_coordinates_GF2m(const EC_GROUP *group, const EC_POINT *p, BIGNUM *x, BIGNUM *y, BN_CTX *ctx)) DEPRECATEDIN_1_2_0(int EC_POINT_set_compressed_coordinates_GF2m(const EC_GROUP *group |
EC_POINT const BIGNUM const BIGNUM BN_CTX *ctx EC_POINT const BIGNUM int BN_CTX *ctx size_t | EC_POINT_point2oct (const EC_GROUP *group, const EC_POINT *p, point_conversion_form_t form, unsigned char *buf, size_t len, BN_CTX *ctx) |
int | EC_POINT_oct2point (const EC_GROUP *group, EC_POINT *p, const unsigned char *buf, size_t len, BN_CTX *ctx) |
size_t | EC_POINT_point2buf (const EC_GROUP *group, const EC_POINT *point, point_conversion_form_t form, unsigned char **pbuf, BN_CTX *ctx) |
BIGNUM * | EC_POINT_point2bn (const EC_GROUP *, const EC_POINT *, point_conversion_form_t form, BIGNUM *, BN_CTX *) |
EC_POINT * | EC_POINT_bn2point (const EC_GROUP *, const BIGNUM *, EC_POINT *, BN_CTX *) |
char * | EC_POINT_point2hex (const EC_GROUP *, const EC_POINT *, point_conversion_form_t form, BN_CTX *) |
EC_POINT * | EC_POINT_hex2point (const EC_GROUP *, const char *, EC_POINT *, BN_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_is_at_infinity (const EC_GROUP *group, const EC_POINT *p) |
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_POINTs_mul (const EC_GROUP *group, EC_POINT *r, const BIGNUM *n, size_t num, const EC_POINT *p[], const BIGNUM *m[], BN_CTX *ctx) |
int | EC_POINT_mul (const EC_GROUP *group, EC_POINT *r, const BIGNUM *n, const EC_POINT *q, const BIGNUM *m, BN_CTX *ctx) |
int | EC_GROUP_precompute_mult (EC_GROUP *group, BN_CTX *ctx) |
int | EC_GROUP_have_precompute_mult (const EC_GROUP *group) |
int | EC_GROUP_get_basis_type (const EC_GROUP *) |
int | EC_GROUP_get_trinomial_basis (const EC_GROUP *, unsigned int *k) |
int | EC_GROUP_get_pentanomial_basis (const EC_GROUP *, unsigned int *k1, unsigned int *k2, unsigned int *k3) |
EC_GROUP * | d2i_ECPKParameters (EC_GROUP **, const unsigned char **in, long len) |
int | i2d_ECPKParameters (const EC_GROUP *, unsigned char **out) |
int | ECPKParameters_print (BIO *bp, const EC_GROUP *x, int off) |
int | ECPKParameters_print_fp (FILE *fp, const EC_GROUP *x, int off) |
EC_KEY * | EC_KEY_new (void) |
int | EC_KEY_get_flags (const EC_KEY *key) |
void | EC_KEY_set_flags (EC_KEY *key, int flags) |
void | EC_KEY_clear_flags (EC_KEY *key, int flags) |
int | EC_KEY_decoded_from_explicit_params (const EC_KEY *key) |
EC_KEY * | EC_KEY_new_by_curve_name (int nid) |
void | EC_KEY_free (EC_KEY *key) |
EC_KEY * | EC_KEY_copy (EC_KEY *dst, const EC_KEY *src) |
EC_KEY * | EC_KEY_dup (const EC_KEY *src) |
int | EC_KEY_up_ref (EC_KEY *key) |
ENGINE * | EC_KEY_get0_engine (const EC_KEY *eckey) |
const EC_GROUP * | EC_KEY_get0_group (const EC_KEY *key) |
int | EC_KEY_set_group (EC_KEY *key, const EC_GROUP *group) |
const BIGNUM * | EC_KEY_get0_private_key (const EC_KEY *key) |
int | EC_KEY_set_private_key (EC_KEY *key, const BIGNUM *prv) |
const EC_POINT * | EC_KEY_get0_public_key (const EC_KEY *key) |
int | EC_KEY_set_public_key (EC_KEY *key, const EC_POINT *pub) |
unsigned | EC_KEY_get_enc_flags (const EC_KEY *key) |
void | EC_KEY_set_enc_flags (EC_KEY *eckey, unsigned int flags) |
point_conversion_form_t | EC_KEY_get_conv_form (const EC_KEY *key) |
void | EC_KEY_set_conv_form (EC_KEY *eckey, point_conversion_form_t cform) |
int | EC_KEY_set_ex_data (EC_KEY *key, int idx, void *arg) |
void * | EC_KEY_get_ex_data (const EC_KEY *key, int idx) |
void | EC_KEY_set_asn1_flag (EC_KEY *eckey, int asn1_flag) |
int | EC_KEY_precompute_mult (EC_KEY *key, BN_CTX *ctx) |
int | EC_KEY_generate_key (EC_KEY *key) |
int | EC_KEY_check_key (const EC_KEY *key) |
int | EC_KEY_can_sign (const EC_KEY *eckey) |
int | EC_KEY_set_public_key_affine_coordinates (EC_KEY *key, BIGNUM *x, BIGNUM *y) |
size_t | EC_KEY_key2buf (const EC_KEY *key, point_conversion_form_t form, unsigned char **pbuf, BN_CTX *ctx) |
int | EC_KEY_oct2key (EC_KEY *key, const unsigned char *buf, size_t len, BN_CTX *ctx) |
int | EC_KEY_oct2priv (EC_KEY *key, const unsigned char *buf, size_t len) |
size_t | EC_KEY_priv2oct (const EC_KEY *key, unsigned char *buf, size_t len) |
size_t | EC_KEY_priv2buf (const EC_KEY *eckey, unsigned char **pbuf) |
EC_KEY * | d2i_ECPrivateKey (EC_KEY **key, const unsigned char **in, long len) |
int | i2d_ECPrivateKey (EC_KEY *key, unsigned char **out) |
EC_KEY * | d2i_ECParameters (EC_KEY **key, const unsigned char **in, long len) |
int | i2d_ECParameters (EC_KEY *key, unsigned char **out) |
EC_KEY * | o2i_ECPublicKey (EC_KEY **key, const unsigned char **in, long len) |
int | i2o_ECPublicKey (const EC_KEY *key, unsigned char **out) |
int | ECParameters_print (BIO *bp, const EC_KEY *key) |
int | EC_KEY_print (BIO *bp, const EC_KEY *key, int off) |
int | ECParameters_print_fp (FILE *fp, const EC_KEY *key) |
int | EC_KEY_print_fp (FILE *fp, const EC_KEY *key, int off) |
const EC_KEY_METHOD * | EC_KEY_OpenSSL (void) |
const EC_KEY_METHOD * | EC_KEY_get_default_method (void) |
void | EC_KEY_set_default_method (const EC_KEY_METHOD *meth) |
const EC_KEY_METHOD * | EC_KEY_get_method (const EC_KEY *key) |
int | EC_KEY_set_method (EC_KEY *key, const EC_KEY_METHOD *meth) |
EC_KEY * | EC_KEY_new_method (ENGINE *engine) |
int | ECDH_KDF_X9_62 (unsigned char *out, size_t outlen, const unsigned char *Z, size_t Zlen, const unsigned char *sinfo, size_t sinfolen, const EVP_MD *md) |
int | ECDH_compute_key (void *out, size_t outlen, const EC_POINT *pub_key, const EC_KEY *ecdh, void *(*KDF)(const void *in, size_t inlen, void *out, size_t *outlen)) |
ECDSA_SIG * | ECDSA_SIG_new (void) |
void | ECDSA_SIG_free (ECDSA_SIG *sig) |
int | i2d_ECDSA_SIG (const ECDSA_SIG *sig, unsigned char **pp) |
ECDSA_SIG * | d2i_ECDSA_SIG (ECDSA_SIG **sig, const unsigned char **pp, long len) |
void | ECDSA_SIG_get0 (const ECDSA_SIG *sig, const BIGNUM **pr, const BIGNUM **ps) |
const BIGNUM * | ECDSA_SIG_get0_r (const ECDSA_SIG *sig) |
const BIGNUM * | ECDSA_SIG_get0_s (const ECDSA_SIG *sig) |
int | ECDSA_SIG_set0 (ECDSA_SIG *sig, BIGNUM *r, BIGNUM *s) |
ECDSA_SIG * | ECDSA_do_sign (const unsigned char *dgst, int dgst_len, EC_KEY *eckey) |
ECDSA_SIG * | ECDSA_do_sign_ex (const unsigned char *dgst, int dgstlen, const BIGNUM *kinv, const BIGNUM *rp, EC_KEY *eckey) |
int | ECDSA_do_verify (const unsigned char *dgst, int dgst_len, const ECDSA_SIG *sig, EC_KEY *eckey) |
int | ECDSA_sign_setup (EC_KEY *eckey, BN_CTX *ctx, BIGNUM **kinv, BIGNUM **rp) |
int | ECDSA_sign (int type, const unsigned char *dgst, int dgstlen, unsigned char *sig, unsigned int *siglen, EC_KEY *eckey) |
int | ECDSA_sign_ex (int type, const unsigned char *dgst, int dgstlen, unsigned char *sig, unsigned int *siglen, const BIGNUM *kinv, const BIGNUM *rp, EC_KEY *eckey) |
int | ECDSA_verify (int type, const unsigned char *dgst, int dgstlen, const unsigned char *sig, int siglen, EC_KEY *eckey) |
int | ECDSA_size (const EC_KEY *eckey) |
EC_KEY_METHOD * | EC_KEY_METHOD_new (const EC_KEY_METHOD *meth) |
void | EC_KEY_METHOD_free (EC_KEY_METHOD *meth) |
void | EC_KEY_METHOD_set_init (EC_KEY_METHOD *meth, int(*init)(EC_KEY *key), void(*finish)(EC_KEY *key), int(*copy)(EC_KEY *dest, const EC_KEY *src), int(*set_group)(EC_KEY *key, const EC_GROUP *grp), int(*set_private)(EC_KEY *key, const BIGNUM *priv_key), int(*set_public)(EC_KEY *key, const EC_POINT *pub_key)) |
void | EC_KEY_METHOD_set_keygen (EC_KEY_METHOD *meth, int(*keygen)(EC_KEY *key)) |
void | EC_KEY_METHOD_set_compute_key (EC_KEY_METHOD *meth, int(*ckey)(unsigned char **psec, size_t *pseclen, const EC_POINT *pub_key, const EC_KEY *ecdh)) |
void | EC_KEY_METHOD_set_sign (EC_KEY_METHOD *meth, int(*sign)(int type, const unsigned char *dgst, int dlen, unsigned char *sig, unsigned int *siglen, const BIGNUM *kinv, const BIGNUM *r, EC_KEY *eckey), int(*sign_setup)(EC_KEY *eckey, BN_CTX *ctx_in, BIGNUM **kinvp, BIGNUM **rp), ECDSA_SIG *(*sign_sig)(const unsigned char *dgst, int dgst_len, const BIGNUM *in_kinv, const BIGNUM *in_r, EC_KEY *eckey)) |
void | EC_KEY_METHOD_set_verify (EC_KEY_METHOD *meth, int(*verify)(int type, const unsigned char *dgst, int dgst_len, const unsigned char *sigbuf, int sig_len, EC_KEY *eckey), int(*verify_sig)(const unsigned char *dgst, int dgst_len, const ECDSA_SIG *sig, EC_KEY *eckey)) |
void | EC_KEY_METHOD_get_init (const EC_KEY_METHOD *meth, int(**pinit)(EC_KEY *key), void(**pfinish)(EC_KEY *key), int(**pcopy)(EC_KEY *dest, const EC_KEY *src), int(**pset_group)(EC_KEY *key, const EC_GROUP *grp), int(**pset_private)(EC_KEY *key, const BIGNUM *priv_key), int(**pset_public)(EC_KEY *key, const EC_POINT *pub_key)) |
void | EC_KEY_METHOD_get_keygen (const EC_KEY_METHOD *meth, int(**pkeygen)(EC_KEY *key)) |
void | EC_KEY_METHOD_get_compute_key (const EC_KEY_METHOD *meth, int(**pck)(unsigned char **psec, size_t *pseclen, const EC_POINT *pub_key, const EC_KEY *ecdh)) |
void | EC_KEY_METHOD_get_sign (const EC_KEY_METHOD *meth, int(**psign)(int type, const unsigned char *dgst, int dlen, unsigned char *sig, unsigned int *siglen, const BIGNUM *kinv, const BIGNUM *r, EC_KEY *eckey), int(**psign_setup)(EC_KEY *eckey, BN_CTX *ctx_in, BIGNUM **kinvp, BIGNUM **rp), ECDSA_SIG *(**psign_sig)(const unsigned char *dgst, int dgst_len, const BIGNUM *in_kinv, const BIGNUM *in_r, EC_KEY *eckey)) |
void | EC_KEY_METHOD_get_verify (const EC_KEY_METHOD *meth, int(**pverify)(int type, const unsigned char *dgst, int dgst_len, const unsigned char *sigbuf, int sig_len, EC_KEY *eckey), int(**pverify_sig)(const unsigned char *dgst, int dgst_len, const ECDSA_SIG *sig, EC_KEY *eckey)) |
Variables | |
BIGNUM * | p |
BIGNUM BIGNUM * | a |
BIGNUM BIGNUM BIGNUM * | b |
const EC_POINT BIGNUM * | x |
const EC_POINT BIGNUM BIGNUM * | y |
EC_POINT const BIGNUM const BIGNUM BN_CTX *ctx EC_POINT const BIGNUM int | y_bit |
#define d2i_ECPKParameters_bio | ( | bp, | |
x ) ASN1_d2i_bio_of(EC_GROUP,NULL,d2i_ECPKParameters,bp,x) |
#define d2i_ECPKParameters_fp | ( | fp, | |
x ) |
#define EC_KEY_get_ex_new_index | ( | l, | |
p, | |||
newf, | |||
dupf, | |||
freef ) CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_EC_KEY, l, p, newf, dupf, freef) |
#define ECParameters_dup | ( | x | ) | ASN1_dup_of(EC_KEY,i2d_ECParameters,d2i_ECParameters,x) |
#define EVP_PKEY_CTRL_EC_ECDH_COFACTOR (EVP_PKEY_ALG_CTRL + 3) |
#define EVP_PKEY_CTRL_EC_KDF_MD (EVP_PKEY_ALG_CTRL + 5) |
#define EVP_PKEY_CTRL_EC_KDF_OUTLEN (EVP_PKEY_ALG_CTRL + 7) |
#define EVP_PKEY_CTRL_EC_KDF_TYPE (EVP_PKEY_ALG_CTRL + 4) |
#define EVP_PKEY_CTRL_EC_KDF_UKM (EVP_PKEY_ALG_CTRL + 9) |
#define EVP_PKEY_CTRL_EC_PARAM_ENC (EVP_PKEY_ALG_CTRL + 2) |
#define EVP_PKEY_CTRL_EC_PARAMGEN_CURVE_NID (EVP_PKEY_ALG_CTRL + 1) |
#define EVP_PKEY_CTRL_GET1_ID (EVP_PKEY_ALG_CTRL + 12) |
#define EVP_PKEY_CTRL_GET1_ID_LEN (EVP_PKEY_ALG_CTRL + 13) |
#define EVP_PKEY_CTRL_GET_EC_KDF_MD (EVP_PKEY_ALG_CTRL + 6) |
#define EVP_PKEY_CTRL_GET_EC_KDF_OUTLEN (EVP_PKEY_ALG_CTRL + 8) |
#define EVP_PKEY_CTRL_GET_EC_KDF_UKM (EVP_PKEY_ALG_CTRL + 10) |
#define EVP_PKEY_CTRL_SET1_ID (EVP_PKEY_ALG_CTRL + 11) |
#define EVP_PKEY_CTX_get1_id | ( | ctx, | |
id ) |
#define EVP_PKEY_CTX_get1_id_len | ( | ctx, | |
id_len ) |
#define EVP_PKEY_CTX_get_ecdh_cofactor_mode | ( | ctx | ) |
#define EVP_PKEY_CTX_get_ecdh_kdf_md | ( | ctx, | |
pmd ) |
#define EVP_PKEY_CTX_get_ecdh_kdf_outlen | ( | ctx, | |
plen ) |
#define EVP_PKEY_CTX_get_ecdh_kdf_type | ( | ctx | ) |
#define EVP_PKEY_CTX_set1_id | ( | ctx, | |
id, | |||
id_len ) |
#define EVP_PKEY_CTX_set_ec_param_enc | ( | ctx, | |
flag ) |
#define EVP_PKEY_CTX_set_ecdh_cofactor_mode | ( | ctx, | |
flag ) |
#define EVP_PKEY_CTX_set_ecdh_kdf_type | ( | ctx, | |
kdf ) |
#define EVP_PKEY_ECDH_KDF_X9_62 EVP_PKEY_ECDH_KDF_X9_63 |
#define i2d_ECPKParameters_bio | ( | bp, | |
x ) ASN1_i2d_bio_of_const(EC_GROUP,i2d_ECPKParameters,bp,x) |
#define i2d_ECPKParameters_fp | ( | fp, | |
x ) |
typedef struct ec_parameters_st ECPARAMETERS |
typedef struct ecpk_parameters_st ECPKPARAMETERS |
Enum for the point conversion form as defined in X9.62 (ECDSA) for the encoding of a elliptic curve point (x,y)
Decodes a DER encoded ECDSA signature (note: this function changes *pp (*pp += len)).
sig | pointer to ECDSA_SIG pointer (may be NULL) |
pp | memory buffer with the DER encoded signature |
len | length of the buffer |
Decodes ec parameter from a memory buffer.
key | a pointer to a EC_KEY object which should be used (or NULL) |
in | pointer to memory with the DER encoded ec parameters |
len | length of the DER encoded ec parameters |
Decodes a private key from a memory buffer.
key | a pointer to a EC_KEY object which should be used (or NULL) |
in | pointer to memory with the DER encoded private key |
len | length of the DER encoded private key |
BIGNUM BIGNUM BIGNUM BN_CTX *ctx DEPRECATEDIN_1_2_0 | ( | int | EC_GROUP_set_curve_GF2mEC_GROUP *group, const BIGNUM *p, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx | ) | const |
Sets the parameters of an ec curve. Synonym for EC_GROUP_set_curve
group | EC_GROUP object |
p | BIGNUM with the prime number (GFp) or the polynomial defining the underlying field (GF2m) |
a | BIGNUM with parameter a of the equation |
b | BIGNUM with parameter b of the equation |
ctx | BN_CTX object (optional) |
group | EC_GROUP object |
p | BIGNUM with the prime number (GFp) or the polynomial defining the underlying field (GF2m) |
a | BIGNUM for parameter a of the equation |
b | BIGNUM for parameter b of the equation |
ctx | BN_CTX object (optional) |
Sets the parameter of an ec curve. Synonym for EC_GROUP_set_curve
group | EC_GROUP object |
p | BIGNUM with the prime number (GFp) or the polynomial defining the underlying field (GF2m) |
a | BIGNUM with parameter a of the equation |
b | BIGNUM with parameter b of the equation |
ctx | BN_CTX object (optional) |
group | EC_GROUP object |
p | BIGNUM with the prime number (GFp) or the polynomial defining the underlying field (GF2m) |
a | BIGNUM for parameter a of the equation |
b | BIGNUM for parameter b of the equation |
ctx | BN_CTX object (optional) |
EC_POINT const BIGNUM const BIGNUM BN_CTX *ctx DEPRECATEDIN_1_2_0 | ( | int | EC_POINT_get_affine_coordinates_GF2mconst EC_GROUP *group, const EC_POINT *p, BIGNUM *x, BIGNUM *y, BN_CTX *ctx | ) | const |
Gets the affine coordinates of an EC_POINT. A synonym of EC_POINT_get_affine_coordinates
group | underlying EC_GROUP object |
p | EC_POINT object |
x | BIGNUM for the x-coordinate |
y | BIGNUM for the y-coordinate |
ctx | BN_CTX object (optional) |
group | underlying EC_GROUP object |
p | EC_POINT object |
x | BIGNUM with x-coordinate |
y_bit | integer with the y-Bit (either 0 or 1) |
ctx | BN_CTX object (optional) |
DEPRECATEDIN_1_2_0 | ( | int | EC_POINT_set_affine_coordinates_GFpconst EC_GROUP *group, EC_POINT *p, const BIGNUM *x, const BIGNUM *y, BN_CTX *ctx | ) | const |
Sets the affine coordinates of an EC_POINT. A synonym of EC_POINT_set_affine_coordinates
group | underlying EC_GROUP object |
p | EC_POINT object |
x | BIGNUM with the x-coordinate |
y | BIGNUM with the y-coordinate |
ctx | BN_CTX object (optional) |
group | underlying EC_GROUP object |
p | EC_POINT object |
x | BIGNUM for the x-coordinate |
y | BIGNUM for the y-coordinate |
ctx | BN_CTX object (optional) |
DEPRECATEDIN_1_2_0 | ( | int | EC_POINT_set_compressed_coordinates_GFpconst EC_GROUP *group, EC_POINT *p, const BIGNUM *x, int y_bit, BN_CTX *ctx | ) | const |
Sets the x9.62 compressed coordinates of a EC_POINT. A synonym of EC_POINT_set_compressed_coordinates
group | underlying EC_GROUP object |
p | EC_POINT object |
x | BIGNUM with x-coordinate |
y_bit | integer with the y-Bit (either 0 or 1) |
ctx | BN_CTX object (optional) |
group | underlying EC_GROUP object |
p | EC_POINT object |
x | BIGNUM with the x-coordinate |
y | BIGNUM with the y-coordinate |
ctx | BN_CTX object (optional) |
const char * EC_curve_nid2nist | ( | int | nid | ) |
int EC_curve_nist2nid | ( | const char * | name | ) |
size_t EC_get_builtin_curves | ( | EC_builtin_curve * | r, |
size_t | nitems ) |
const EC_METHOD * EC_GF2m_simple_method | ( | void | ) |
Returns the basic GF2m ec method
const EC_METHOD * EC_GFp_mont_method | ( | void | ) |
Returns GFp methods using montgomery multiplication.
const EC_METHOD * EC_GFp_nist_method | ( | void | ) |
Returns GFp methods using optimized methods for NIST recommended curves
const EC_METHOD * EC_GFp_nistp224_method | ( | void | ) |
Returns 64-bit optimized methods for nistp224
const EC_METHOD * EC_GFp_nistp256_method | ( | void | ) |
Returns 64-bit optimized methods for nistp256
const EC_METHOD * EC_GFp_nistp521_method | ( | void | ) |
Returns 64-bit optimized methods for nistp521
const EC_METHOD * EC_GFp_simple_method | ( | void | ) |
Returns the basic GFp ec methods which provides the basis for the optimized methods.
Checks whether the parameter in the EC_GROUP define a valid ec group
group | EC_GROUP object |
ctx | BN_CTX object (optional) |
Checks whether the discriminant of the elliptic curve is zero or not
group | EC_GROUP object |
ctx | BN_CTX object (optional) |
void EC_GROUP_clear_free | ( | EC_GROUP * | group | ) |
Clears and frees a EC_GROUP object
group | EC_GROUP object to be cleared and freed. |
Compares two EC_GROUP objects
a | first EC_GROUP object |
b | second EC_GROUP object |
ctx | BN_CTX object (optional) |
Copies EC_GROUP objects. Note: both EC_GROUPs must use the same EC_METHOD.
dst | destination EC_GROUP object |
src | source EC_GROUP object |
Creates a new EC_GROUP object and copies the copies the content form src to the newly created EC_KEY object
src | source EC_GROUP object |
void EC_GROUP_free | ( | EC_GROUP * | group | ) |
Frees a EC_GROUP object
group | EC_GROUP object to be freed. |
Gets the cofactor of an EC_GROUP
group | EC_GROUP object |
Returns the generator of a EC_GROUP object.
group | EC_GROUP object |
Gets the order of an EC_GROUP
group | EC_GROUP object |
unsigned char * EC_GROUP_get0_seed | ( | const EC_GROUP * | x | ) |
int EC_GROUP_get_asn1_flag | ( | const EC_GROUP * | group | ) |
int EC_GROUP_get_basis_type | ( | const EC_GROUP * | ) |
Gets the cofactor of a EC_GROUP
group | EC_GROUP object |
cofactor | BIGNUM to which the cofactor is copied |
ctx | unused |
Gets the parameters of the ec curve defined by y^2 = x^3 + a*x + b (for GFp) or y^2 + x*y = x^3 + a*x^2 + b (for GF2m)
group | EC_GROUP object |
p | BIGNUM with the prime number (GFp) or the polynomial defining the underlying field (GF2m) |
a | BIGNUM for parameter a of the equation |
b | BIGNUM for parameter b of the equation |
ctx | BN_CTX object (optional) |
int EC_GROUP_get_curve_name | ( | const EC_GROUP * | group | ) |
Returns the curve name of a EC_GROUP object
group | EC_GROUP object |
BIGNUM BIGNUM BIGNUM BN_CTX *ctx BIGNUM BIGNUM BIGNUM BN_CTX *ctx int EC_GROUP_get_degree | ( | const EC_GROUP * | group | ) |
Returns the number of bits needed to represent a field element
group | EC_GROUP object |
ECPARAMETERS * EC_GROUP_get_ecparameters | ( | const EC_GROUP * | group, |
ECPARAMETERS * | params ) |
Creates an ECPARAMETERS object for the given EC_GROUP object.
group | pointer to the EC_GROUP object |
params | pointer to an existing ECPARAMETERS object or NULL |
ECPKPARAMETERS * EC_GROUP_get_ecpkparameters | ( | const EC_GROUP * | group, |
ECPKPARAMETERS * | params ) |
Creates an ECPKPARAMETERS object for the given EC_GROUP object.
group | pointer to the EC_GROUP object |
params | pointer to an existing ECPKPARAMETERS object or NULL |
BN_MONT_CTX * EC_GROUP_get_mont_data | ( | const EC_GROUP * | group | ) |
Returns the montgomery data for order(Generator)
group | EC_GROUP object |
Gets the order of a EC_GROUP
group | EC_GROUP object |
order | BIGNUM to which the order is copied |
ctx | unused |
int EC_GROUP_get_pentanomial_basis | ( | const EC_GROUP * | , |
unsigned int * | k1, | ||
unsigned int * | k2, | ||
unsigned int * | k3 ) |
point_conversion_form_t EC_GROUP_get_point_conversion_form | ( | const EC_GROUP * | ) |
size_t EC_GROUP_get_seed_len | ( | const EC_GROUP * | ) |
int EC_GROUP_get_trinomial_basis | ( | const EC_GROUP * | , |
unsigned int * | k ) |
int EC_GROUP_have_precompute_mult | ( | const EC_GROUP * | group | ) |
Reports whether a precomputation has been done
group | EC_GROUP object |
Returns the EC_METHOD of the EC_GROUP object.
group | EC_GROUP object |
Creates a new EC_GROUP object
meth | EC_METHOD to use |
EC_GROUP * EC_GROUP_new_by_curve_name | ( | int | nid | ) |
Creates a EC_GROUP object with a curve specified by a NID
nid | NID of the OID of the curve name |
EC_GROUP * EC_GROUP_new_curve_GF2m | ( | const BIGNUM * | p, |
const BIGNUM * | a, | ||
const BIGNUM * | b, | ||
BN_CTX * | ctx ) |
Creates a new EC_GROUP object with the specified parameters defined over GF2m (defined by the equation y^2 + x*y = x^3 + a*x^2 + b)
p | BIGNUM with the polynomial defining the underlying field |
a | BIGNUM with the parameter a of the equation |
b | BIGNUM with the parameter b of the equation |
ctx | BN_CTX object (optional) |
EC_GROUP * EC_GROUP_new_curve_GFp | ( | const BIGNUM * | p, |
const BIGNUM * | a, | ||
const BIGNUM * | b, | ||
BN_CTX * | ctx ) |
Creates a new EC_GROUP object with the specified parameters defined over GFp (defined by the equation y^2 = x^3 + a*x + b)
p | BIGNUM with the prime number |
a | BIGNUM with the parameter a of the equation |
b | BIGNUM with the parameter b of the equation |
ctx | BN_CTX object (optional) |
EC_GROUP * EC_GROUP_new_from_ecparameters | ( | const ECPARAMETERS * | params | ) |
Creates a new EC_GROUP object from an ECPARAMETERS object
params | pointer to the ECPARAMETERS object |
EC_GROUP * EC_GROUP_new_from_ecpkparameters | ( | const ECPKPARAMETERS * | params | ) |
Creates a new EC_GROUP object from an ECPKPARAMETERS object
params | pointer to an existing ECPKPARAMETERS object, or NULL |
int EC_GROUP_order_bits | ( | const EC_GROUP * | group | ) |
Gets the number of bits of the order of an EC_GROUP
group | EC_GROUP object |
Stores multiples of generator for faster point multiplication
group | EC_GROUP object |
ctx | BN_CTX object (optional) |
void EC_GROUP_set_asn1_flag | ( | EC_GROUP * | group, |
int | flag ) |
int EC_GROUP_set_curve | ( | EC_GROUP * | group, |
const BIGNUM * | p, | ||
const BIGNUM * | a, | ||
const BIGNUM * | b, | ||
BN_CTX * | ctx ) |
Sets the parameters of a ec curve defined by y^2 = x^3 + a*x + b (for GFp) or y^2 + x*y = x^3 + a*x^2 + b (for GF2m)
group | EC_GROUP object |
p | BIGNUM with the prime number (GFp) or the polynomial defining the underlying field (GF2m) |
a | BIGNUM with parameter a of the equation |
b | BIGNUM with parameter b of the equation |
ctx | BN_CTX object (optional) |
void EC_GROUP_set_curve_name | ( | EC_GROUP * | group, |
int | nid ) |
Sets the name of a EC_GROUP object
group | EC_GROUP object |
nid | NID of the curve name OID |
int EC_GROUP_set_generator | ( | EC_GROUP * | group, |
const EC_POINT * | generator, | ||
const BIGNUM * | order, | ||
const BIGNUM * | cofactor ) |
Sets the generator and its order/cofactor of a EC_GROUP object.
group | EC_GROUP object |
generator | EC_POINT object with the generator. |
order | the order of the group generated by the generator. |
cofactor | the index of the sub-group generated by the generator in the group of all points on the elliptic curve. |
void EC_GROUP_set_point_conversion_form | ( | EC_GROUP * | group, |
point_conversion_form_t | form ) |
size_t EC_GROUP_set_seed | ( | EC_GROUP * | , |
const unsigned char * | , | ||
size_t | len ) |
int EC_KEY_can_sign | ( | const EC_KEY * | eckey | ) |
Indicates if an EC_KEY can be used for signing.
eckey | the EC_KEY object |
int EC_KEY_check_key | ( | const EC_KEY * | key | ) |
Verifies that a private and/or public key is valid.
key | the EC_KEY object |
void EC_KEY_clear_flags | ( | EC_KEY * | key, |
int | flags ) |
Copies a EC_KEY object.
dst | destination EC_KEY object |
src | src EC_KEY object |
int EC_KEY_decoded_from_explicit_params | ( | const EC_KEY * | key | ) |
Creates a new EC_KEY object and copies the content from src to it.
src | the source EC_KEY object |
void EC_KEY_free | ( | EC_KEY * | key | ) |
Frees a EC_KEY object.
key | EC_KEY object to be freed. |
int EC_KEY_generate_key | ( | EC_KEY * | key | ) |
Creates a new ec private (and optional a new public) key.
key | EC_KEY object |
Returns the ENGINE object of a EC_KEY object
eckey | EC_KEY object |
Returns the EC_GROUP object of a EC_KEY object
key | EC_KEY object |
Returns the private key of a EC_KEY object.
key | EC_KEY object |
Returns the public key of a EC_KEY object.
key | the EC_KEY object |
point_conversion_form_t EC_KEY_get_conv_form | ( | const EC_KEY * | key | ) |
const EC_KEY_METHOD * EC_KEY_get_default_method | ( | void | ) |
unsigned EC_KEY_get_enc_flags | ( | const EC_KEY * | key | ) |
void * EC_KEY_get_ex_data | ( | const EC_KEY * | key, |
int | idx ) |
int EC_KEY_get_flags | ( | const EC_KEY * | key | ) |
const EC_KEY_METHOD * EC_KEY_get_method | ( | const EC_KEY * | key | ) |
size_t EC_KEY_key2buf | ( | const EC_KEY * | key, |
point_conversion_form_t | form, | ||
unsigned char ** | pbuf, | ||
BN_CTX * | ctx ) |
Encodes an EC_KEY public key to an allocated octet string
key | key to encode |
form | point conversion form |
pbuf | returns pointer to allocated buffer |
ctx | BN_CTX object (optional) |
void EC_KEY_METHOD_free | ( | EC_KEY_METHOD * | meth | ) |
void EC_KEY_METHOD_get_compute_key | ( | const EC_KEY_METHOD * | meth, |
int(**)(unsigned char **psec, size_t *pseclen, const EC_POINT *pub_key, const EC_KEY *ecdh) | pck ) |
void EC_KEY_METHOD_get_init | ( | const EC_KEY_METHOD * | meth, |
int(**)(EC_KEY *key) | pinit, | ||
void(**)(EC_KEY *key) | pfinish, | ||
int(**)(EC_KEY *dest, const EC_KEY *src) | pcopy, | ||
int(**)(EC_KEY *key, const EC_GROUP *grp) | pset_group, | ||
int(**)(EC_KEY *key, const BIGNUM *priv_key) | pset_private, | ||
int(**)(EC_KEY *key, const EC_POINT *pub_key) | pset_public ) |
void EC_KEY_METHOD_get_keygen | ( | const EC_KEY_METHOD * | meth, |
int(**)(EC_KEY *key) | pkeygen ) |
void EC_KEY_METHOD_get_sign | ( | const EC_KEY_METHOD * | meth, |
int(**)(int type, const unsigned char *dgst, int dlen, unsigned char *sig, unsigned int *siglen, const BIGNUM *kinv, const BIGNUM *r, EC_KEY *eckey) | psign, | ||
int(**)(EC_KEY *eckey, BN_CTX *ctx_in, BIGNUM **kinvp, BIGNUM **rp) | psign_setup, | ||
ECDSA_SIG *(**)(const unsigned char *dgst, int dgst_len, const BIGNUM *in_kinv, const BIGNUM *in_r, EC_KEY *eckey) | psign_sig ) |
void EC_KEY_METHOD_get_verify | ( | const EC_KEY_METHOD * | meth, |
int(**)(int type, const unsigned char *dgst, int dgst_len, const unsigned char *sigbuf, int sig_len, EC_KEY *eckey) | pverify, | ||
int(**)(const unsigned char *dgst, int dgst_len, const ECDSA_SIG *sig, EC_KEY *eckey) | pverify_sig ) |
EC_KEY_METHOD * EC_KEY_METHOD_new | ( | const EC_KEY_METHOD * | meth | ) |
void EC_KEY_METHOD_set_compute_key | ( | EC_KEY_METHOD * | meth, |
int(*)(unsigned char **psec, size_t *pseclen, const EC_POINT *pub_key, const EC_KEY *ecdh) | ckey ) |
void EC_KEY_METHOD_set_init | ( | EC_KEY_METHOD * | meth, |
int(*)(EC_KEY *key) | init, | ||
void(*)(EC_KEY *key) | finish, | ||
int(*)(EC_KEY *dest, const EC_KEY *src) | copy, | ||
int(*)(EC_KEY *key, const EC_GROUP *grp) | set_group, | ||
int(*)(EC_KEY *key, const BIGNUM *priv_key) | set_private, | ||
int(*)(EC_KEY *key, const EC_POINT *pub_key) | set_public ) |
void EC_KEY_METHOD_set_keygen | ( | EC_KEY_METHOD * | meth, |
int(*)(EC_KEY *key) | keygen ) |
void EC_KEY_METHOD_set_sign | ( | EC_KEY_METHOD * | meth, |
int(*)(int type, const unsigned char *dgst, int dlen, unsigned char *sig, unsigned int *siglen, const BIGNUM *kinv, const BIGNUM *r, EC_KEY *eckey) | sign, | ||
int(*)(EC_KEY *eckey, BN_CTX *ctx_in, BIGNUM **kinvp, BIGNUM **rp) | sign_setup, | ||
ECDSA_SIG *(*)(const unsigned char *dgst, int dgst_len, const BIGNUM *in_kinv, const BIGNUM *in_r, EC_KEY *eckey) | sign_sig ) |
void EC_KEY_METHOD_set_verify | ( | EC_KEY_METHOD * | meth, |
int(*)(int type, const unsigned char *dgst, int dgst_len, const unsigned char *sigbuf, int sig_len, EC_KEY *eckey) | verify, | ||
int(*)(const unsigned char *dgst, int dgst_len, const ECDSA_SIG *sig, EC_KEY *eckey) | verify_sig ) |
EC_KEY * EC_KEY_new | ( | void | ) |
Creates a new EC_KEY object.
EC_KEY * EC_KEY_new_by_curve_name | ( | int | nid | ) |
Creates a new EC_KEY object using a named curve as underlying EC_GROUP object.
nid | NID of the named curve. |
Decodes a EC_KEY public key from a octet string
key | key to decode |
buf | memory buffer with the encoded ec point |
len | length of the encoded ec point |
ctx | BN_CTX object (optional) |
int EC_KEY_oct2priv | ( | EC_KEY * | key, |
const unsigned char * | buf, | ||
size_t | len ) |
Decodes an EC_KEY private key from an octet string
key | key to decode |
buf | memory buffer with the encoded private key |
len | length of the encoded key |
const EC_KEY_METHOD * EC_KEY_OpenSSL | ( | void | ) |
Creates a table of pre-computed multiples of the generator to accelerate further EC_KEY operations.
key | EC_KEY object |
ctx | BN_CTX object (optional) |
Prints out the contents of a EC_KEY object
bp | BIO object to which the information is printed |
key | EC_KEY object |
off | line offset |
int EC_KEY_print_fp | ( | FILE * | fp, |
const EC_KEY * | key, | ||
int | off ) |
Prints out the contents of a EC_KEY object
fp | file descriptor to which the information is printed |
key | EC_KEY object |
off | line offset |
size_t EC_KEY_priv2buf | ( | const EC_KEY * | eckey, |
unsigned char ** | pbuf ) |
Encodes an EC_KEY private key to an allocated octet string
eckey | key to encode |
pbuf | returns pointer to allocated buffer |
size_t EC_KEY_priv2oct | ( | const EC_KEY * | key, |
unsigned char * | buf, | ||
size_t | len ) |
Encodes a EC_KEY private key to an octet string
key | key to encode |
buf | memory buffer for the result. If NULL the function returns required buffer size. |
len | length of the memory buffer |
void EC_KEY_set_asn1_flag | ( | EC_KEY * | eckey, |
int | asn1_flag ) |
void EC_KEY_set_conv_form | ( | EC_KEY * | eckey, |
point_conversion_form_t | cform ) |
void EC_KEY_set_default_method | ( | const EC_KEY_METHOD * | meth | ) |
void EC_KEY_set_enc_flags | ( | EC_KEY * | eckey, |
unsigned int | flags ) |
int EC_KEY_set_ex_data | ( | EC_KEY * | key, |
int | idx, | ||
void * | arg ) |
void EC_KEY_set_flags | ( | EC_KEY * | key, |
int | flags ) |
Sets the EC_GROUP of a EC_KEY object.
key | EC_KEY object |
group | EC_GROUP to use in the EC_KEY object (note: the EC_KEY object will use an own copy of the EC_GROUP). |
int EC_KEY_set_method | ( | EC_KEY * | key, |
const EC_KEY_METHOD * | meth ) |
Sets the private key of a EC_KEY object.
key | EC_KEY object |
prv | BIGNUM with the private key (note: the EC_KEY object will use an own copy of the BIGNUM). |
Sets the public key of a EC_KEY object.
key | EC_KEY object |
pub | EC_POINT object with the public key (note: the EC_KEY object will use an own copy of the EC_POINT object). |
Sets a public key from affine coordinates performing necessary NIST PKV tests.
key | the EC_KEY object |
x | public key x coordinate |
y | public key y coordinate |
int EC_KEY_up_ref | ( | EC_KEY * | key | ) |
Increases the internal reference count of a EC_KEY object.
key | EC_KEY object |
int EC_METHOD_get_field_type | ( | const EC_METHOD * | meth | ) |
Returns the field type of the EC_METHOD.
meth | EC_METHOD object |
int EC_POINT_add | ( | const EC_GROUP * | group, |
EC_POINT * | r, | ||
const EC_POINT * | a, | ||
const EC_POINT * | b, | ||
BN_CTX * | ctx ) |
Computes the sum of two EC_POINT
group | underlying EC_GROUP object |
r | EC_POINT object for the result (r = a + b) |
a | EC_POINT object with the first summand |
b | EC_POINT object with the second summand |
ctx | BN_CTX object (optional) |
void EC_POINT_clear_free | ( | EC_POINT * | point | ) |
Clears and frees a EC_POINT object
point | EC_POINT object to be cleared and freed |
Compares two EC_POINTs
group | underlying EC_GROUP object |
a | first EC_POINT object |
b | second EC_POINT object |
ctx | BN_CTX object (optional) |
Copies EC_POINT object
dst | destination EC_POINT object |
src | source EC_POINT object |
Computes the double of a EC_POINT
group | underlying EC_GROUP object |
r | EC_POINT object for the result (r = 2 * a) |
a | EC_POINT object |
ctx | BN_CTX object (optional) |
Creates a new EC_POINT object and copies the content of the supplied EC_POINT
src | source EC_POINT object |
group | underlying the EC_GROUP object |
void EC_POINT_free | ( | EC_POINT * | point | ) |
Frees a EC_POINT object
point | EC_POINT object to be freed |
int EC_POINT_get_affine_coordinates | ( | const EC_GROUP * | group, |
const EC_POINT * | p, | ||
BIGNUM * | x, | ||
BIGNUM * | y, | ||
BN_CTX * | ctx ) |
Gets the affine coordinates of an EC_POINT.
group | underlying EC_GROUP object |
p | EC_POINT object |
x | BIGNUM for the x-coordinate |
y | BIGNUM for the y-coordinate |
ctx | BN_CTX object (optional) |
int EC_POINT_get_Jprojective_coordinates_GFp | ( | const EC_GROUP * | group, |
const EC_POINT * | p, | ||
BIGNUM * | x, | ||
BIGNUM * | y, | ||
BIGNUM * | z, | ||
BN_CTX * | ctx ) |
Gets the jacobian projective coordinates of a EC_POINT over GFp
group | underlying EC_GROUP object |
p | EC_POINT object |
x | BIGNUM for the x-coordinate |
y | BIGNUM for the y-coordinate |
z | BIGNUM for the z-coordinate |
ctx | BN_CTX object (optional) |
Computes the inverse of a EC_POINT
group | underlying EC_GROUP object |
a | EC_POINT object to be inverted (it's used for the result as well) |
ctx | BN_CTX object (optional) |
Checks whether the point is the neutral element of the group
group | the underlying EC_GROUP object |
p | EC_POINT object |
Checks whether the point is on the curve
group | underlying EC_GROUP object |
point | EC_POINT object to check |
ctx | BN_CTX object (optional) |
Returns the EC_METHOD used in EC_POINT object
point | EC_POINT object |
int EC_POINT_mul | ( | const EC_GROUP * | group, |
EC_POINT * | r, | ||
const BIGNUM * | n, | ||
const EC_POINT * | q, | ||
const BIGNUM * | m, | ||
BN_CTX * | ctx ) |
Computes r = generator * n + q * m
group | underlying EC_GROUP object |
r | EC_POINT object for the result |
n | BIGNUM with the multiplier for the group generator (optional) |
q | EC_POINT object with the first factor of the second summand |
m | BIGNUM with the second factor of the second summand |
ctx | BN_CTX object (optional) |
Creates a new EC_POINT object for the specified EC_GROUP
group | EC_GROUP the underlying EC_GROUP object |
int EC_POINT_oct2point | ( | const EC_GROUP * | group, |
EC_POINT * | p, | ||
const unsigned char * | buf, | ||
size_t | len, | ||
BN_CTX * | ctx ) |
Decodes a EC_POINT from a octet string
group | underlying EC_GROUP object |
p | EC_POINT object |
buf | memory buffer with the encoded ec point |
len | length of the encoded ec point |
ctx | BN_CTX object (optional) |
BIGNUM * EC_POINT_point2bn | ( | const EC_GROUP * | , |
const EC_POINT * | , | ||
point_conversion_form_t | form, | ||
BIGNUM * | , | ||
BN_CTX * | ) |
size_t EC_POINT_point2buf | ( | const EC_GROUP * | group, |
const EC_POINT * | point, | ||
point_conversion_form_t | form, | ||
unsigned char ** | pbuf, | ||
BN_CTX * | ctx ) |
Encodes an EC_POINT object to an allocated octet string
group | underlying EC_GROUP object |
point | EC_POINT object |
form | point conversion form |
pbuf | returns pointer to allocated buffer |
ctx | BN_CTX object (optional) |
char * EC_POINT_point2hex | ( | const EC_GROUP * | , |
const EC_POINT * | , | ||
point_conversion_form_t | form, | ||
BN_CTX * | ) |
EC_POINT const BIGNUM const BIGNUM BN_CTX *ctx EC_POINT const BIGNUM int BN_CTX *ctx size_t EC_POINT_point2oct | ( | const EC_GROUP * | group, |
const EC_POINT * | p, | ||
point_conversion_form_t | form, | ||
unsigned char * | buf, | ||
size_t | len, | ||
BN_CTX * | ctx ) |
Encodes a EC_POINT object to a octet string
group | underlying EC_GROUP object |
p | EC_POINT object |
form | point conversion form |
buf | memory buffer for the result. If NULL the function returns required buffer size. |
len | length of the memory buffer |
ctx | BN_CTX object (optional) |
int EC_POINT_set_affine_coordinates | ( | const EC_GROUP * | group, |
EC_POINT * | p, | ||
const BIGNUM * | x, | ||
const BIGNUM * | y, | ||
BN_CTX * | ctx ) |
Sets the affine coordinates of an EC_POINT
group | underlying EC_GROUP object |
p | EC_POINT object |
x | BIGNUM with the x-coordinate |
y | BIGNUM with the y-coordinate |
ctx | BN_CTX object (optional) |
const EC_POINT BIGNUM BIGNUM BN_CTX *ctx int EC_POINT_set_compressed_coordinates | ( | const EC_GROUP * | group, |
EC_POINT * | p, | ||
const BIGNUM * | x, | ||
int | y_bit, | ||
BN_CTX * | ctx ) |
Sets the x9.62 compressed coordinates of a EC_POINT
group | underlying EC_GROUP object |
p | EC_POINT object |
x | BIGNUM with x-coordinate |
y_bit | integer with the y-Bit (either 0 or 1) |
ctx | BN_CTX object (optional) |
int EC_POINT_set_Jprojective_coordinates_GFp | ( | const EC_GROUP * | group, |
EC_POINT * | p, | ||
const BIGNUM * | x, | ||
const BIGNUM * | y, | ||
const BIGNUM * | z, | ||
BN_CTX * | ctx ) |
Sets the jacobian projective coordinates of a EC_POINT over GFp
group | underlying EC_GROUP object |
p | EC_POINT object |
x | BIGNUM with the x-coordinate |
y | BIGNUM with the y-coordinate |
z | BIGNUM with the z-coordinate |
ctx | BN_CTX object (optional) |
Sets a point to infinity (neutral element)
group | underlying EC_GROUP object |
point | EC_POINT to set to infinity |
int EC_POINTs_mul | ( | const EC_GROUP * | group, |
EC_POINT * | r, | ||
const BIGNUM * | n, | ||
size_t | num, | ||
const EC_POINT * | p[], | ||
const BIGNUM * | m[], | ||
BN_CTX * | ctx ) |
Computes r = generator * n + sum_{i=0}^{num-1} p[i] * m[i]
group | underlying EC_GROUP object |
r | EC_POINT object for the result |
n | BIGNUM with the multiplier for the group generator (optional) |
num | number further summands |
p | array of size num of EC_POINT objects |
m | array of size num of BIGNUM objects |
ctx | BN_CTX object (optional) |
int ECDH_compute_key | ( | void * | out, |
size_t | outlen, | ||
const EC_POINT * | pub_key, | ||
const EC_KEY * | ecdh, | ||
void *(*)(const void *in, size_t inlen, void *out, size_t *outlen) | KDF ) |
int ECDH_KDF_X9_62 | ( | unsigned char * | out, |
size_t | outlen, | ||
const unsigned char * | Z, | ||
size_t | Zlen, | ||
const unsigned char * | sinfo, | ||
size_t | sinfolen, | ||
const EVP_MD * | md ) |
The old name for ecdh_KDF_X9_63 The ECDH KDF specification has been mistakingly attributed to ANSI X9.62, it is actually specified in ANSI X9.63. This identifier is retained for backwards compatibility
Computes the ECDSA signature of the given hash value using the supplied private key and returns the created signature.
dgst | pointer to the hash value |
dgst_len | length of the hash value |
eckey | EC_KEY object containing a private EC key |
ECDSA_SIG * ECDSA_do_sign_ex | ( | const unsigned char * | dgst, |
int | dgstlen, | ||
const BIGNUM * | kinv, | ||
const BIGNUM * | rp, | ||
EC_KEY * | eckey ) |
Computes ECDSA signature of a given hash value using the supplied private key (note: sig must point to ECDSA_size(eckey) bytes of memory).
dgst | pointer to the hash value to sign |
dgstlen | length of the hash value |
kinv | BIGNUM with a pre-computed inverse k (optional) |
rp | BIGNUM with a pre-computed rp value (optional), see ECDSA_sign_setup |
eckey | EC_KEY object containing a private EC key |
int ECDSA_do_verify | ( | const unsigned char * | dgst, |
int | dgst_len, | ||
const ECDSA_SIG * | sig, | ||
EC_KEY * | eckey ) |
Verifies that the supplied signature is a valid ECDSA signature of the supplied hash value using the supplied public key.
dgst | pointer to the hash value |
dgst_len | length of the hash value |
sig | ECDSA_SIG structure |
eckey | EC_KEY object containing a public EC key |
void ECDSA_SIG_free | ( | ECDSA_SIG * | sig | ) |
frees a ECDSA_SIG structure
sig | pointer to the ECDSA_SIG structure |
Accessor for r and s fields of ECDSA_SIG
sig | pointer to ECDSA_SIG structure |
pr | pointer to BIGNUM pointer for r (may be NULL) |
ps | pointer to BIGNUM pointer for s (may be NULL) |
Accessor for r field of ECDSA_SIG
sig | pointer to ECDSA_SIG structure |
Accessor for s field of ECDSA_SIG
sig | pointer to ECDSA_SIG structure |
ECDSA_SIG * ECDSA_SIG_new | ( | void | ) |
Allocates and initialize a ECDSA_SIG structure
Setter for r and s fields of ECDSA_SIG
sig | pointer to ECDSA_SIG structure |
r | pointer to BIGNUM for r (may be NULL) |
s | pointer to BIGNUM for s (may be NULL) |
int ECDSA_sign | ( | int | type, |
const unsigned char * | dgst, | ||
int | dgstlen, | ||
unsigned char * | sig, | ||
unsigned int * | siglen, | ||
EC_KEY * | eckey ) |
Computes ECDSA signature of a given hash value using the supplied private key (note: sig must point to ECDSA_size(eckey) bytes of memory).
type | this parameter is ignored |
dgst | pointer to the hash value to sign |
dgstlen | length of the hash value |
sig | memory for the DER encoded created signature |
siglen | pointer to the length of the returned signature |
eckey | EC_KEY object containing a private EC key |
int ECDSA_sign_ex | ( | int | type, |
const unsigned char * | dgst, | ||
int | dgstlen, | ||
unsigned char * | sig, | ||
unsigned int * | siglen, | ||
const BIGNUM * | kinv, | ||
const BIGNUM * | rp, | ||
EC_KEY * | eckey ) |
Computes ECDSA signature of a given hash value using the supplied private key (note: sig must point to ECDSA_size(eckey) bytes of memory).
type | this parameter is ignored |
dgst | pointer to the hash value to sign |
dgstlen | length of the hash value |
sig | buffer to hold the DER encoded signature |
siglen | pointer to the length of the returned signature |
kinv | BIGNUM with a pre-computed inverse k (optional) |
rp | BIGNUM with a pre-computed rp value (optional), see ECDSA_sign_setup |
eckey | EC_KEY object containing a private EC key |
Precompute parts of the signing operation
eckey | EC_KEY object containing a private EC key |
ctx | BN_CTX object (optional) |
kinv | BIGNUM pointer for the inverse of k |
rp | BIGNUM pointer for x coordinate of k * generator |
int ECDSA_size | ( | const EC_KEY * | eckey | ) |
Returns the maximum length of the DER encoded signature
eckey | EC_KEY object |
int ECDSA_verify | ( | int | type, |
const unsigned char * | dgst, | ||
int | dgstlen, | ||
const unsigned char * | sig, | ||
int | siglen, | ||
EC_KEY * | eckey ) |
Verifies that the given signature is valid ECDSA signature of the supplied hash value using the specified public key.
type | this parameter is ignored |
dgst | pointer to the hash value |
dgstlen | length of the hash value |
sig | pointer to the DER encoded signature |
siglen | length of the DER encoded signature |
eckey | EC_KEY object containing a public EC key |
Prints out the ec parameters on human readable form.
bp | BIO object to which the information is printed |
key | EC_KEY object |
int ECParameters_print_fp | ( | FILE * | fp, |
const EC_KEY * | key ) |
Prints out the ec parameters on human readable form.
fp | file descriptor to which the information is printed |
key | EC_KEY object |
int ECPKParameters_print_fp | ( | FILE * | fp, |
const EC_GROUP * | x, | ||
int | off ) |
int i2d_ECDSA_SIG | ( | const ECDSA_SIG * | sig, |
unsigned char ** | pp ) |
DER encode content of ECDSA_SIG object (note: this function modifies *pp (*pp += length of the DER encoded signature)).
sig | pointer to the ECDSA_SIG object |
pp | pointer to a unsigned char pointer for the output or NULL |
int i2d_ECParameters | ( | EC_KEY * | key, |
unsigned char ** | out ) |
Encodes ec parameter and stores the result in a buffer.
key | the EC_KEY object with ec parameters to encode |
out | the buffer for the result (if NULL the function returns number of bytes needed). |
int i2d_ECPKParameters | ( | const EC_GROUP * | , |
unsigned char ** | out ) |
int i2d_ECPrivateKey | ( | EC_KEY * | key, |
unsigned char ** | out ) |
Encodes a private key object and stores the result in a buffer.
key | the EC_KEY object to encode |
out | the buffer for the result (if NULL the function returns number of bytes needed). |
int i2o_ECPublicKey | ( | const EC_KEY * | key, |
unsigned char ** | out ) |
Encodes a ec public key in an octet string.
key | the EC_KEY object with the public key |
out | the buffer for the result (if NULL the function returns number of bytes needed). |
Decodes a ec public key from a octet string.
key | a pointer to a EC_KEY object which should be used |
in | memory buffer with the encoded public key |
len | length of the encoded public key |