Re: [PATCH v4 00/12] Add support for NIST P521 to ecdsa

Stefan Berger
2024-03-04T19:06:57Z

On 3/4/24 13:10, Lukas Wunner wrote:
> On Thu, Feb 29, 2024 at 09:19:55PM -0500, Stefan Berger wrote:
>> This series adds support for the NIST P521 curve to the ecdsa module
>> to enable signature verification with it.
>>
>> 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.
>
> When respinning this series as v5, feel free to add my
>
> Tested-by: Lukas Wunner <lukas@wunner.de>

Thanks.
>
>
> I cherry-picked the commits from your nist_p521.v5 branch...
>
> https://github.com/stefanberger/linux-ima-namespaces/commits/nist_p521.v5/
>
> ...onto my development branch for PCI device authentication...
>
> https://github.com/l1k/linux/commits/doe
>
> ...and tested against qemu+libspdm that an emulated NVMe drive
> is able to present a valid signature using NIST P521 + SHA384
> which can be verified correctly by the kernel.

FYI: I have a PR for a test suite here as well:

https://github.com/stefanberger/eckey-testing/pull/1

>
> I needed to fix up two of my patches, one which adds P1363
> signature format support to the kernel and another fixup to
> add NIST P521 support to the in-kernel SPDM library
> (two top-most commits on my above-linked development branch).
>
> I performed this test against your f81547267725 head and notice
> that you pushed a new version today (with "curve->nbits == 521"
> instead of strcmp), but I'm confident those two small changes
> wouldn't alter the outcone, hence my Tested-by stands.
>
> Thanks,
>
> Lukas
>