Barrelfish
|
Enumerations |
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_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) |
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) |
void | EC_GROUP_set_curve_name (EC_GROUP *group, int nid) |
int | EC_GROUP_get_curve_name (const EC_GROUP *group) |
int | EC_GROUP_set_curve_GFp (EC_GROUP *group, const BIGNUM *p, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx) |
int | EC_GROUP_get_curve_GFp (const EC_GROUP *group, BIGNUM *p, BIGNUM *a, BIGNUM *b, BN_CTX *ctx) |
int | EC_GROUP_set_curve_GF2m (EC_GROUP *group, const BIGNUM *p, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx) |
int | EC_GROUP_get_curve_GF2m (const EC_GROUP *group, BIGNUM *p, BIGNUM *a, BIGNUM *b, 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_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_GFp (const EC_GROUP *group, EC_POINT *p, const BIGNUM *x, const BIGNUM *y, BN_CTX *ctx) |
int | EC_POINT_get_affine_coordinates_GFp (const EC_GROUP *group, const EC_POINT *p, BIGNUM *x, BIGNUM *y, BN_CTX *ctx) |
int | EC_POINT_set_compressed_coordinates_GFp (const EC_GROUP *group, EC_POINT *p, const BIGNUM *x, int y_bit, BN_CTX *ctx) |
int | EC_POINT_set_affine_coordinates_GF2m (const EC_GROUP *group, EC_POINT *p, const BIGNUM *x, const BIGNUM *y, BN_CTX *ctx) |
int | EC_POINT_get_affine_coordinates_GF2m (const EC_GROUP *group, const EC_POINT *p, BIGNUM *x, BIGNUM *y, BN_CTX *ctx) |
int | EC_POINT_set_compressed_coordinates_GF2m (const EC_GROUP *group, EC_POINT *p, const BIGNUM *x, int y_bit, 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) |
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_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) |
EC_KEY * | EC_KEY_new (void) |
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) |
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) |
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) |
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 (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) |
Include file for the OpenSSL EC functions
enum point_conversion_form_t |
Enum for the point conversion form as defined in X9.62 (ECDSA) for the encoding of a elliptic curve point (x,y)
EC_KEY* d2i_ECParameters | ( | EC_KEY ** | key, |
const unsigned char ** | in, | ||
long | len | ||
) |
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 |
EC_KEY* d2i_ECPrivateKey | ( | EC_KEY ** | key, |
const unsigned char ** | in, | ||
long | len | ||
) |
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 |
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_simple_method | ( | void | ) |
Returns the basic GFp ec methods which provides the basis for the optimized methods.
int EC_GROUP_check | ( | const EC_GROUP * | group, |
BN_CTX * | ctx | ||
) |
Checks whether the parameter in the EC_GROUP define a valid ec group
group | EC_GROUP object |
ctx | BN_CTX object (optional) |
int EC_GROUP_check_discriminant | ( | const EC_GROUP * | group, |
BN_CTX * | ctx | ||
) |
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. |
int EC_GROUP_cmp | ( | const EC_GROUP * | a, |
const EC_GROUP * | b, | ||
BN_CTX * | ctx | ||
) |
Compares two EC_GROUP objects
a | first EC_GROUP object |
b | second EC_GROUP object |
ctx | BN_CTX object (optional) |
int EC_GROUP_copy | ( | EC_GROUP * | dst, |
const EC_GROUP * | src | ||
) |
Copies EC_GROUP objects. Note: both EC_GROUPs must use the same EC_METHOD.
dst | destination EC_GROUP object |
src | source EC_GROUP object |
EC_GROUP* EC_GROUP_dup | ( | const EC_GROUP * | src | ) |
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. |
const EC_POINT* EC_GROUP_get0_generator | ( | const EC_GROUP * | group | ) |
Returns the generator of a EC_GROUP object.
group | EC_GROUP object |
int EC_GROUP_get_cofactor | ( | const EC_GROUP * | group, |
BIGNUM * | cofactor, | ||
BN_CTX * | ctx | ||
) |
Gets the cofactor of a EC_GROUP
group | EC_GROUP object |
cofactor | BIGNUM to which the cofactor is copied |
ctx | BN_CTX object (optional) |
int EC_GROUP_get_curve_GF2m | ( | const EC_GROUP * | group, |
BIGNUM * | p, | ||
BIGNUM * | a, | ||
BIGNUM * | b, | ||
BN_CTX * | ctx | ||
) |
Gets the parameter of the ec over GF2m defined by y^2 + x*y = x^3 + a*x^2 + b
group | EC_GROUP object |
p | BIGNUM for the polynomial defining the underlying field |
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_GFp | ( | const EC_GROUP * | group, |
BIGNUM * | p, | ||
BIGNUM * | a, | ||
BIGNUM * | b, | ||
BN_CTX * | ctx | ||
) |
Gets the parameter of the ec over GFp defined by y^2 = x^3 + a*x + b
group | EC_GROUP object |
p | BIGNUM for the prime number |
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 |
int EC_GROUP_get_degree | ( | const EC_GROUP * | group | ) |
Returns the number of bits needed to represent a field element
group | EC_GROUP object |
int EC_GROUP_get_order | ( | const EC_GROUP * | group, |
BIGNUM * | order, | ||
BN_CTX * | ctx | ||
) |
Gets the order of a EC_GROUP
group | EC_GROUP object |
order | BIGNUM to which the order is copied |
ctx | BN_CTX object (optional) |
int EC_GROUP_have_precompute_mult | ( | const EC_GROUP * | group | ) |
Reports whether a precomputation has been done
group | EC_GROUP object |
const EC_METHOD* EC_GROUP_method_of | ( | const EC_GROUP * | group | ) |
Returns the EC_METHOD of the EC_GROUP object.
group | EC_GROUP object |
EC_GROUP* EC_GROUP_new | ( | const EC_METHOD * | meth | ) |
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) |
int EC_GROUP_precompute_mult | ( | EC_GROUP * | group, |
BN_CTX * | ctx | ||
) |
Stores multiples of generator for faster point multiplication
group | EC_GROUP object |
ctx | BN_CTX object (optional) |
int EC_GROUP_set_curve_GF2m | ( | EC_GROUP * | group, |
const BIGNUM * | p, | ||
const BIGNUM * | a, | ||
const BIGNUM * | b, | ||
BN_CTX * | ctx | ||
) |
Sets the parameter of a ec over GF2m defined by y^2 + x*y = x^3 + a*x^2 + b
group | EC_GROUP object |
p | BIGNUM with the polynomial defining the underlying field |
a | BIGNUM with parameter a of the equation |
b | BIGNUM with parameter b of the equation |
ctx | BN_CTX object (optional) |
int EC_GROUP_set_curve_GFp | ( | EC_GROUP * | group, |
const BIGNUM * | p, | ||
const BIGNUM * | a, | ||
const BIGNUM * | b, | ||
BN_CTX * | ctx | ||
) |
Sets the parameter of a ec over GFp defined by y^2 = x^3 + a*x + b
group | EC_GROUP object |
p | BIGNUM with the prime number |
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 it's 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. |
int EC_KEY_check_key | ( | const EC_KEY * | key | ) |
Verifies that a private and/or public key is valid.
key | the EC_KEY object |
EC_KEY* EC_KEY_copy | ( | EC_KEY * | dst, |
const EC_KEY * | src | ||
) |
Copies a EC_KEY object.
dst | destination EC_KEY object |
src | src EC_KEY object |
EC_KEY* EC_KEY_dup | ( | const EC_KEY * | src | ) |
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 |
const EC_GROUP* EC_KEY_get0_group | ( | const EC_KEY * | key | ) |
Returns the EC_GROUP object of a EC_KEY object
key | EC_KEY object |
const BIGNUM* EC_KEY_get0_private_key | ( | const EC_KEY * | key | ) |
Returns the private key of a EC_KEY object.
key | EC_KEY object |
const EC_POINT* EC_KEY_get0_public_key | ( | const EC_KEY * | key | ) |
Returns the public key of a EC_KEY object.
key | the EC_KEY object |
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. |
int EC_KEY_precompute_mult | ( | EC_KEY * | key, |
BN_CTX * | ctx | ||
) |
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) |
int EC_KEY_print | ( | BIO * | bp, |
const EC_KEY * | key, | ||
int | off | ||
) |
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 |
int EC_KEY_set_group | ( | EC_KEY * | key, |
const EC_GROUP * | group | ||
) |
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_private_key | ( | EC_KEY * | key, |
const BIGNUM * | prv | ||
) |
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). |
int EC_KEY_set_public_key | ( | EC_KEY * | key, |
const EC_POINT * | pub | ||
) |
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). |
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 |
int EC_POINT_cmp | ( | const EC_GROUP * | group, |
const EC_POINT * | a, | ||
const EC_POINT * | b, | ||
BN_CTX * | ctx | ||
) |
Compares two EC_POINTs
group | underlying EC_GROUP object |
a | first EC_POINT object |
b | second EC_POINT object |
ctx | BN_CTX object (optional) |
int EC_POINT_copy | ( | EC_POINT * | dst, |
const EC_POINT * | src | ||
) |
Copies EC_POINT object
dst | destination EC_POINT object |
src | source EC_POINT object |
int EC_POINT_dbl | ( | const EC_GROUP * | group, |
EC_POINT * | r, | ||
const EC_POINT * | a, | ||
BN_CTX * | ctx | ||
) |
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) |
EC_POINT* EC_POINT_dup | ( | const EC_POINT * | src, |
const EC_GROUP * | group | ||
) |
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_GF2m | ( | const EC_GROUP * | group, |
const EC_POINT * | p, | ||
BIGNUM * | x, | ||
BIGNUM * | y, | ||
BN_CTX * | ctx | ||
) |
Gets the affine coordinates of a EC_POINT over GF2m
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_affine_coordinates_GFp | ( | const EC_GROUP * | group, |
const EC_POINT * | p, | ||
BIGNUM * | x, | ||
BIGNUM * | y, | ||
BN_CTX * | ctx | ||
) |
Gets the affine 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 |
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) |
int EC_POINT_invert | ( | const EC_GROUP * | group, |
EC_POINT * | a, | ||
BN_CTX * | ctx | ||
) |
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) |
int EC_POINT_is_at_infinity | ( | const EC_GROUP * | group, |
const EC_POINT * | p | ||
) |
Checks whether the point is the neutral element of the group
group | the underlying EC_GROUP object |
p | EC_POINT object |
int EC_POINT_is_on_curve | ( | const EC_GROUP * | group, |
const EC_POINT * | point, | ||
BN_CTX * | ctx | ||
) |
Checks whether the point is on the curve
group | underlying EC_GROUP object |
point | EC_POINT object to check |
ctx | BN_CTX object (optional) |
const EC_METHOD* EC_POINT_method_of | ( | const EC_POINT * | point | ) |
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) |
EC_POINT* EC_POINT_new | ( | const EC_GROUP * | group | ) |
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) |
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_GF2m | ( | const EC_GROUP * | group, |
EC_POINT * | p, | ||
const BIGNUM * | x, | ||
const BIGNUM * | y, | ||
BN_CTX * | ctx | ||
) |
Sets the affine coordinates of a EC_POINT over GF2m
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) |
int EC_POINT_set_affine_coordinates_GFp | ( | const EC_GROUP * | group, |
EC_POINT * | p, | ||
const BIGNUM * | x, | ||
const BIGNUM * | y, | ||
BN_CTX * | ctx | ||
) |
Sets the affine 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 |
ctx | BN_CTX object (optional) |
int EC_POINT_set_compressed_coordinates_GF2m | ( | 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 over GF2m
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_compressed_coordinates_GFp | ( | 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 over GFp
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) |
int EC_POINT_set_to_infinity | ( | const EC_GROUP * | group, |
EC_POINT * | point | ||
) |
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 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 futher summands |
p | array of size num of EC_POINT objects |
m | array of size num of BIGNUM objects |
ctx | BN_CTX object (optional) |
int ECParameters_print | ( | BIO * | bp, |
const EC_KEY * | 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 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 paramters to encode |
out | the buffer for the result (if NULL the function returns number of bytes needed). |
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 | ( | 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). |
EC_KEY* o2i_ECPublicKey | ( | EC_KEY ** | key, |
const unsigned char ** | in, | ||
long | len | ||
) |
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 |