Keyrings Archive mirror
 help / color / mirror / Atom feed
From: Stefan Berger <stefanb@linux.ibm.com>
To: keyrings@vger.kernel.org, linux-crypto@vger.kernel.org,
	herbert@gondor.apana.org.au, davem@davemloft.net
Cc: linux-kernel@vger.kernel.org, saulo.alessandre@tse.jus.br,
	Stefan Berger <stefanb@linux.ibm.com>
Subject: [PATCH v3 00/10] Add support for NIST P521 to ecdsa
Date: Fri, 23 Feb 2024 15:41:39 -0500	[thread overview]
Message-ID: <20240223204149.4055630-1-stefanb@linux.ibm.com> (raw)

This series adds support for the NIST P521 curve to the ecdsa module.

An issue with the current code in ecdsa is that it assumes that input
arrays providing key coordinates for example, are arrays of digits
(a 'digit' is a 'u64'). This works well for all currently supported
curves, such as NIST P192/256/384, but does not work for NIST P521 where
coordinates are 8 digits + 2 bytes long. So some of the changes deal with
converting byte arrays to digits and adjusting tests on input byte
array lengths to tolerate arrays not providing multiples of 8 bytes.

Regards,
   Stefan

v3:
 - Dropped ecdh support
 - Use ecc_get_curve_nbits for getting number of bits in NIST P521 curve
   in ecc_point_mult (7/10)

v2:
 - Reformulated some patch descriptions
 - Fixed issue detected by krobot
 - Some other small changes to the code


Stefan Berger (10):
  crypto: ecdsa - Convert byte arrays with key coordinates to digits
  crypto: ecdsa - Adjust tests on length of key parameters
  crypto: ecdsa - Extend res.x mod n calculation for NIST P521
  crypto: ecc - Implement vli_mmod_fast_521 for NIST p521
  crypto: ecc - Add nbits field to ecc_curve structure
  crypte: ecc - Implement ecc_curve_get_nbits to get number of bits
  crypto: ecc - Use ecc_get_curve_nbits to get number of bits for NIST
    P521
  crypto: ecc - Add NIST P521 curve parameters
  crypto: ecdsa - Register NIST P521 and extend test suite
  x509: Add OID for NIST P521 and extend parser for it

 crypto/asymmetric_keys/x509_cert_parser.c |   3 +
 crypto/ecc.c                              |  38 +++++-
 crypto/ecc_curve_defs.h                   |  45 +++++++
 crypto/ecdsa.c                            |  48 +++++--
 crypto/testmgr.c                          |   7 ++
 crypto/testmgr.h                          | 146 ++++++++++++++++++++++
 include/crypto/ecc_curve.h                |   3 +
 include/crypto/ecdh.h                     |   1 +
 include/crypto/internal/ecc.h             |  32 ++++-
 include/linux/oid_registry.h              |   1 +
 10 files changed, 315 insertions(+), 9 deletions(-)

-- 
2.43.0


             reply	other threads:[~2024-02-23 20:42 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-23 20:41 Stefan Berger [this message]
2024-02-23 20:41 ` [PATCH v3 01/10] crypto: ecdsa - Convert byte arrays with key coordinates to digits Stefan Berger
2024-02-29  9:11   ` Lukas Wunner
2024-02-29 14:57     ` Stefan Berger
2024-02-29 16:48       ` Lukas Wunner
2024-02-29 17:20         ` Stefan Berger
2024-03-01 20:26       ` Jarkko Sakkinen
2024-03-01 20:48         ` Stefan Berger
2024-03-01 20:51           ` Jarkko Sakkinen
2024-03-02 14:00         ` Lukas Wunner
2024-03-02 21:19           ` Stefan Berger
2024-03-02 21:36             ` Lukas Wunner
2024-03-02 21:55           ` Jarkko Sakkinen
2024-02-23 20:41 ` [PATCH v3 02/10] crypto: ecdsa - Adjust tests on length of key parameters Stefan Berger
2024-02-29  9:16   ` Lukas Wunner
2024-02-29 20:28     ` Stefan Berger
2024-02-23 20:41 ` [PATCH v3 03/10] crypto: ecdsa - Extend res.x mod n calculation for NIST P521 Stefan Berger
2024-02-23 20:41 ` [PATCH v3 04/10] crypto: ecc - Implement vli_mmod_fast_521 for NIST p521 Stefan Berger
2024-02-23 20:41 ` [PATCH v3 05/10] crypto: ecc - Add nbits field to ecc_curve structure Stefan Berger
2024-02-23 20:41 ` [PATCH v3 06/10] crypte: ecc - Implement ecc_curve_get_nbits to get number of bits Stefan Berger
2024-02-27 20:15   ` Lukas Wunner
2024-02-29 20:29     ` Stefan Berger
2024-02-23 20:41 ` [PATCH v3 07/10] crypto: ecc - Use ecc_get_curve_nbits to get number of bits for NIST P521 Stefan Berger
2024-02-23 20:41 ` [PATCH v3 08/10] crypto: ecc - Add NIST P521 curve parameters Stefan Berger
2024-02-23 20:41 ` [PATCH v3 09/10] crypto: ecdsa - Register NIST P521 and extend test suite Stefan Berger
2024-02-23 20:41 ` [PATCH v3 10/10] x509: Add OID for NIST P521 and extend parser for it Stefan Berger
2024-02-29  9:34 ` [PATCH v3 00/10] Add support for NIST P521 to ecdsa Lukas Wunner
2024-02-29 18:45   ` Stefan Berger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240223204149.4055630-1-stefanb@linux.ibm.com \
    --to=stefanb@linux.ibm.com \
    --cc=davem@davemloft.net \
    --cc=herbert@gondor.apana.org.au \
    --cc=keyrings@vger.kernel.org \
    --cc=linux-crypto@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=saulo.alessandre@tse.jus.br \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).