In some cases the EC_POINT and EC_KEY BIGNUM components are suboptimal
or inappropriate. Add an "custom_data" field which curves can populate with
a custom structure to suit their needs.
Reviewed-by: Rich Salz <rsalz@openssl.org>
Reviewed-by: Emilia Käsper <emilia@openssl.org>
EC_GROUP *group;
EC_POINT *pub_key;
BIGNUM *priv_key;
+ /*
+ * Arbitrary extra data.
+ * For example in X25519 this contains the raw private key in a 32 byte
+ * buffer.
+ */
+ void *custom_data;
unsigned int enc_flag;
point_conversion_form_t conv_form;
int references;
* Z) represents (X/Z^2, Y/Z^3) if Z != 0 */
int Z_is_one; /* enable optimized point arithmetics for
* special case */
+ /*
+ * Arbitrary extra data.
+ * For example in X25519 this contains the public key in a 32 byte buffer.
+ */
+ void *custom_data;
} /* EC_POINT */ ;
NISTP224_PRE_COMP *EC_nistp224_pre_comp_dup(NISTP224_PRE_COMP *);