**Next message:**Stefan Berger: "[PATCH 06/14] crypto: ecc - Add NIST P521 curve parameters"**Previous message:**Stefan Berger: "[PATCH 03/14] crypto: ecdsa - Adjust res.x mod n for NIST P521"**In reply to:**Stefan Berger: "[PATCH 03/14] crypto: ecdsa - Adjust res.x mod n for NIST P521"**Next in thread:**Stefan Berger: "[PATCH 06/14] crypto: ecc - Add NIST P521 curve parameters"**Messages sorted by:**[ date ] [ thread ] [ subject ] [ author ]

Add the number of bits a curve has to the ecc_curve definition. This field

only needs to be set for curves that don't fill up all bytes in their

digits, such as NIST P521 which has only 9 bits in the most significant

digit. This field will be used to determine the number of bytes a curve

requires for its key coordinates for example.

Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxx>

---

crypto/ecc_curve_defs.h | 1 +

include/crypto/ecc_curve.h | 3 +++

2 files changed, 4 insertions(+)

diff --git a/crypto/ecc_curve_defs.h b/crypto/ecc_curve_defs.h

index 93a47a5d460a..09a221657c31 100644

--- a/crypto/ecc_curve_defs.h

+++ b/crypto/ecc_curve_defs.h

@@ -119,6 +119,7 @@ static u64 nist_p521_b[] = { 0xef451fd46b503f00ull, 0x3573df883d2c34f1ull,

0x051ull };

static struct ecc_curve nist_p521 = {

.name = "nist_521",

+ .nbits = 521,

.g = {

.x = nist_p521_g_x,

.y = nist_p521_g_y,

diff --git a/include/crypto/ecc_curve.h b/include/crypto/ecc_curve.h

index 70964781eb68..337a44956926 100644

--- a/include/crypto/ecc_curve.h

+++ b/include/crypto/ecc_curve.h

@@ -23,6 +23,8 @@ struct ecc_point {

* struct ecc_curve - definition of elliptic curve

*

* @name: Short name of the curve.

+ * @nbits: Curves that do not use all bits in their ndigits must specify

+ * their number of bits here, otherwise can leave at 0.

* @g: Generator point of the curve.

* @p: Prime number, if Barrett's reduction is used for this curve

* pre-calculated value 'mu' is appended to the @p after ndigits.

@@ -34,6 +36,7 @@ struct ecc_point {

*/

struct ecc_curve {

char *name;

+ unsigned int nbits;

struct ecc_point g;

u64 *p;

u64 *n;

--

2.43.0

**Next message:**Stefan Berger: "[PATCH 06/14] crypto: ecc - Add NIST P521 curve parameters"**Previous message:**Stefan Berger: "[PATCH 03/14] crypto: ecdsa - Adjust res.x mod n for NIST P521"**In reply to:**Stefan Berger: "[PATCH 03/14] crypto: ecdsa - Adjust res.x mod n for NIST P521"**Next in thread:**Stefan Berger: "[PATCH 06/14] crypto: ecc - Add NIST P521 curve parameters"**Messages sorted by:**[ date ] [ thread ] [ subject ] [ author ]