On 2/27/24 15:15, Lukas Wunner wrote:
On Fri, Feb 23, 2024 at 03:41:45PM -0500, Stefan Berger wrote:
--- 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;
+}
Since you're amending struct ecc_curve with an extra nbits value anyway,
why not statically fill it in for all curves, instead of adding this
extra complexity in the code?
I filled in all curves now, including ecrdsa cruves and curve25519.
Stefan
Thanks,
Lukas