Skip to content

Commit 8c7dc4a

Browse files
Update to latest BearSSL w/es22519 fix (#5468)
1 parent 4c8d8f1 commit 8c7dc4a

File tree

4 files changed

+26
-2
lines changed

4 files changed

+26
-2
lines changed

tools/sdk/include/bearssl/bearssl_ec.h

+24
Original file line numberDiff line numberDiff line change
@@ -507,6 +507,30 @@ extern const br_ec_impl br_ec_c25519_m15;
507507
*/
508508
extern const br_ec_impl br_ec_c25519_m31;
509509

510+
/**
511+
* \brief EC implementation "m62" (specialised code) for Curve25519.
512+
*
513+
* This implementation uses custom code relying on multiplication of
514+
* integers up to 62 bits, with a 124-bit result. This implementation is
515+
* defined only on platforms that offer the 64x64->128 multiplication
516+
* support; use `br_ec_c25519_m62_get()` to dynamically obtain a pointer
517+
* to that implementation. Due to the specificities of the curve
518+
* definition, the following applies:
519+
*
520+
* - `muladd()` is not implemented (the function returns 0 systematically).
521+
* - `order()` returns 2^255-1, since the point multiplication algorithm
522+
* accepts any 32-bit integer as input (it clears the top bit and low
523+
* three bits systematically).
524+
*/
525+
extern const br_ec_impl br_ec_c25519_m62;
526+
527+
/**
528+
* \brief Get the "m62" implementation of Curve25519, if available.
529+
*
530+
* \return the implementation, or 0.
531+
*/
532+
const br_ec_impl *br_ec_c25519_m62_get(void);
533+
510534
/**
511535
* \brief Aggregate EC implementation "m15".
512536
*
+1-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
// Do not edit -- Automatically generated by tools/sdk/ssl/bearssl/Makefile
2-
#define BEARSSL_GIT 95c20d1
2+
#define BEARSSL_GIT 2398cc6

tools/sdk/lib/libbearssl.a

4.06 KB
Binary file not shown.

0 commit comments

Comments
 (0)