[PATCH v3 06/10] crypte: ecc - Implement ecc_curve_get_nbits to get number of bits

Stefan Berger
2024-02-23T20:42:16Z

If curve->nbits is set then return this number, otherwise use
the curve->ndigits to calculate the number of bits.

Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
---
include/crypto/internal/ecc.h | 11 +++++++++++
1 file changed, 11 insertions(+)

diff --git a/include/crypto/internal/ecc.h b/include/crypto/internal/ecc.h
index b8ca5023b3b5..2d321b47d0f7 100644
--- a/include/crypto/internal/ecc.h
+++ b/include/crypto/internal/ecc.h
@@ -75,6 +75,17 @@ static inline void ecc_digits_from_bytes(const u8 *in, unsigned int nbytes,
ecc_swap_digits(tmp, out, ndigits);
}

+/**
+ * ecc_curve_get_nbits() - Get the number of bits of the curve
+ * @curve: The curve
+ */
+static inline unsigned int ecc_curve_get_nbits(const struct ecc_curve *curve)
+{
+ if (curve->nbits)
+ return curve->nbits;
+ return curve->g.ndigits << ECC_DIGITS_TO_BYTES_SHIFT * 8;
+}
+
/**
* ecc_is_key_valid() - Validate a given ECDH private key
*
--
2.43.0