25 #ifndef BR_BEARSSL_EC_H__ 26 #define BR_BEARSSL_EC_H__ 149 #define BR_EC_sect163k1 1 152 #define BR_EC_sect163r1 2 155 #define BR_EC_sect163r2 3 158 #define BR_EC_sect193r1 4 161 #define BR_EC_sect193r2 5 164 #define BR_EC_sect233k1 6 167 #define BR_EC_sect233r1 7 170 #define BR_EC_sect239k1 8 173 #define BR_EC_sect283k1 9 176 #define BR_EC_sect283r1 10 179 #define BR_EC_sect409k1 11 182 #define BR_EC_sect409r1 12 185 #define BR_EC_sect571k1 13 188 #define BR_EC_sect571r1 14 191 #define BR_EC_secp160k1 15 194 #define BR_EC_secp160r1 16 197 #define BR_EC_secp160r2 17 200 #define BR_EC_secp192k1 18 203 #define BR_EC_secp192r1 19 206 #define BR_EC_secp224k1 20 209 #define BR_EC_secp224r1 21 212 #define BR_EC_secp256k1 22 215 #define BR_EC_secp256r1 23 218 #define BR_EC_secp384r1 24 221 #define BR_EC_secp521r1 25 224 #define BR_EC_brainpoolP256r1 26 227 #define BR_EC_brainpoolP384r1 27 230 #define BR_EC_brainpoolP512r1 28 233 #define BR_EC_curve25519 29 236 #define BR_EC_curve448 30 292 const unsigned char *(*generator)(
int curve,
size_t *len);
306 const unsigned char *(*order)(
int curve,
size_t *len);
318 size_t (*xoff)(
int curve,
size_t *len);
350 uint32_t (*mul)(
unsigned char *G,
size_t Glen,
351 const unsigned char *x,
size_t xlen,
int curve);
366 size_t (*mulgen)(
unsigned char *R,
367 const unsigned char *x,
size_t xlen,
int curve);
412 uint32_t (*muladd)(
unsigned char *A,
const unsigned char *B,
size_t len,
413 const unsigned char *x,
size_t xlen,
414 const unsigned char *y,
size_t ylen,
int curve);
601 const br_hash_class *hf,
const void *hash_value,
627 const void *hash,
size_t hash_len,
643 const br_hash_class *hf,
const void *hash_value,
659 const br_hash_class *hf,
const void *hash_value,
676 const void *hash,
size_t hash_len,
693 const void *hash,
size_t hash_len,
709 const br_hash_class *hf,
const void *hash_value,
725 const br_hash_class *hf,
const void *hash_value,
742 const void *hash,
size_t hash_len,
759 const void *hash,
size_t hash_len,
808 #define BR_EC_KBUF_PRIV_MAX_SIZE 72 816 #define BR_EC_KBUF_PUB_MAX_SIZE 145 846 void *kbuf,
int curve);
unsigned char * x
Private key (integer, unsigned big-endian encoding).
Definition: bearssl_ec.h:262
unsigned char * q
Public curve point (uncompressed format).
Definition: bearssl_ec.h:245
size_t qlen
Length of public curve point (in bytes).
Definition: bearssl_ec.h:247
Structure for an EC public key.
Definition: bearssl_ec.h:241
int curve
Identifier for the curve used by this key.
Definition: bearssl_ec.h:243
uint32_t supported_curves
Supported curves.
Definition: bearssl_ec.h:279
Structure for an EC private key.
Definition: bearssl_ec.h:258
size_t xlen
Private key length (in bytes).
Definition: bearssl_ec.h:264
Type for an EC implementation.
Definition: bearssl_ec.h:270
int curve
Identifier for the curve used by this key.
Definition: bearssl_ec.h:260