early-access version 2698
This commit is contained in:
35
externals/libressl/include/openssl/ec.h
vendored
35
externals/libressl/include/openssl/ec.h
vendored
@@ -1,4 +1,4 @@
|
||||
/* $OpenBSD: ec.h,v 1.18 2019/09/29 10:09:09 tb Exp $ */
|
||||
/* $OpenBSD: ec.h,v 1.27 2021/09/12 16:23:19 tb Exp $ */
|
||||
/*
|
||||
* Originally written by Bodo Moeller for the OpenSSL project.
|
||||
*/
|
||||
@@ -250,6 +250,8 @@ 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_order_bits(const EC_GROUP *group);
|
||||
|
||||
/** Gets the cofactor of a EC_GROUP
|
||||
* \param group EC_GROUP object
|
||||
* \param cofactor BIGNUM to which the cofactor is copied
|
||||
@@ -280,6 +282,11 @@ 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);
|
||||
#if !defined(LIBRESSL_INTERNAL)
|
||||
/** Sets the parameter of a ec over GFp defined by y^2 = x^3 + a*x + b
|
||||
* \param group EC_GROUP object
|
||||
* \param p BIGNUM with the prime number
|
||||
@@ -321,6 +328,8 @@ int EC_GROUP_set_curve_GF2m(EC_GROUP *group, const BIGNUM *p, const BIGNUM *a, c
|
||||
*/
|
||||
int EC_GROUP_get_curve_GF2m(const EC_GROUP *group, BIGNUM *p, BIGNUM *a, BIGNUM *b, BN_CTX *ctx);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/** Returns the number of bits needed to represent a field element
|
||||
* \param group EC_GROUP object
|
||||
* \return number of bits needed to represent a field element
|
||||
@@ -446,6 +455,22 @@ 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_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);
|
||||
int EC_POINT_set_compressed_coordinates(const EC_GROUP *group, EC_POINT *p,
|
||||
const BIGNUM *x, int y_bit, BN_CTX *ctx);
|
||||
|
||||
#if defined(LIBRESSL_INTERNAL)
|
||||
|
||||
int EC_POINT_set_Jprojective_coordinates(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(const EC_GROUP *group,
|
||||
const EC_POINT *p, BIGNUM *x, BIGNUM *y, BIGNUM *z, BN_CTX *ctx);
|
||||
|
||||
#else
|
||||
|
||||
/** Sets the jacobian projective coordinates of a EC_POINT over GFp
|
||||
* \param group underlying EC_GROUP object
|
||||
* \param p EC_POINT object
|
||||
@@ -502,6 +527,7 @@ int EC_POINT_get_affine_coordinates_GFp(const EC_GROUP *group,
|
||||
*/
|
||||
int EC_POINT_set_compressed_coordinates_GFp(const EC_GROUP *group, EC_POINT *p,
|
||||
const BIGNUM *x, int y_bit, BN_CTX *ctx);
|
||||
|
||||
#ifndef OPENSSL_NO_EC2M
|
||||
/** Sets the affine coordinates of a EC_POINT over GF2m
|
||||
* \param group underlying EC_GROUP object
|
||||
@@ -535,7 +561,9 @@ int EC_POINT_get_affine_coordinates_GF2m(const EC_GROUP *group,
|
||||
*/
|
||||
int EC_POINT_set_compressed_coordinates_GF2m(const EC_GROUP *group, EC_POINT *p,
|
||||
const BIGNUM *x, int y_bit, BN_CTX *ctx);
|
||||
#endif
|
||||
#endif /* OPENSSL_NO_EC2M */
|
||||
#endif /* !LIBRESSL_INTERNAL */
|
||||
|
||||
/** Encodes a EC_POINT object to a octet string
|
||||
* \param group underlying EC_GROUP object
|
||||
* \param p EC_POINT object
|
||||
@@ -680,7 +708,8 @@ int EC_GROUP_get_pentanomial_basis(const EC_GROUP *, unsigned int *k1,
|
||||
unsigned int *k2, unsigned int *k3);
|
||||
#endif
|
||||
|
||||
#define OPENSSL_EC_NAMED_CURVE 0x001
|
||||
#define OPENSSL_EC_EXPLICIT_CURVE 0x000
|
||||
#define OPENSSL_EC_NAMED_CURVE 0x001
|
||||
|
||||
typedef struct ecpk_parameters_st ECPKPARAMETERS;
|
||||
|
||||
|
Reference in New Issue
Block a user