X-Git-Url: https://bearssl.org/gitweb//home/git/?p=BearSSL;a=blobdiff_plain;f=inc%2Fbearssl_ec.h;fp=inc%2Fbearssl_ec.h;h=2c84bad1fd82b561f15d04208644dcced90b8e82;hp=908d532052d19c83e55945188da1c8a41363799c;hb=2f9c953af45299f8546df8984d5262e767a7d943;hpb=ef318ef83a3a58b0a9e036676b84d11261ed7bb4 diff --git a/inc/bearssl_ec.h b/inc/bearssl_ec.h index 908d532..2c84bad 100644 --- a/inc/bearssl_ec.h +++ b/inc/bearssl_ec.h @@ -218,6 +218,12 @@ /** \brief Identifier for named curve brainpoolP512r1. */ #define BR_EC_brainpoolP512r1 28 +/** \brief Identifier for named curve Curve25519. */ +#define BR_EC_curve25519 29 + +/** \brief Identifier for named curve Curve448. */ +#define BR_EC_curve448 30 + /** * \brief Structure for an EC public key. */ @@ -411,7 +417,16 @@ extern const br_ec_impl br_ec_prime_i15; * reduction thanks to the field modulus special format. Only 32-bit * multiplications are used (with 32-bit results, not 64-bit). */ -extern const br_ec_impl br_ec_p256_i15; +extern const br_ec_impl br_ec_p256_m15; + +/** + * \brief EC implementation "i15" (generic code) for Curve25519. + * + * This implementation uses the generic code for modular integers (with + * 15-bit words) to support Curve25519. The `muladd()` method is not + * implemented. + */ +extern const br_ec_impl br_ec_c25519_i15; /** * \brief Convert a signature from "raw" to "asn1".