]> www.infradead.org Git - users/jedix/linux-maple.git/commit
crypto: ecc - Fix off-by-one missing to clear most significant digit
authorStefan Berger <stefanb@linux.ibm.com>
Thu, 13 Jun 2024 21:38:20 +0000 (17:38 -0400)
committerHerbert Xu <herbert@gondor.apana.org.au>
Sun, 16 Jun 2024 05:41:53 +0000 (13:41 +0800)
commit1dcf865d3bf5bff45e93cb2410911b3428dacb78
tree95dccb50120a3e8ef9adfd1842c900660fea19e1
parent0eb3bed57a06a20c612012127f4405d48fa4a50f
crypto: ecc - Fix off-by-one missing to clear most significant digit

Fix an off-by-one error where the most significant digit was not
initialized leading to signature verification failures by the testmgr.

Example: If a curve requires ndigits (=9) and diff (=2) indicates that
2 digits need to be set to zero then start with digit 'ndigits - diff' (=7)
and clear 'diff' digits starting from there, so 7 and 8.

Reported-by: Venkat Rao Bagalkote <venkat88@linux.vnet.ibm.com>
Closes: https://lore.kernel.org/linux-crypto/619bc2de-b18a-4939-a652-9ca886bf6349@linux.ibm.com/T/#m045d8812409ce233c17fcdb8b88b6629c671f9f4
Fixes: 2fd2a82ccbfc ("crypto: ecdsa - Use ecc_digits_from_bytes to create hash digits array")
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
Tested-by: Venkat Rao Bagalkote <venkat88@linux.vnet.ibm.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
crypto/ecc.c