]> Cypherpunks repositories - gostls13.git/commit
crypto/ecdsa: implement deterministic and hedged signatures
authorFilippo Valsorda <filippo@golang.org>
Sat, 16 Nov 2024 22:45:05 +0000 (23:45 +0100)
committerGopher Robot <gobot@golang.org>
Tue, 19 Nov 2024 23:02:26 +0000 (23:02 +0000)
commit9776d028f4b99b9a935dae9f63f32871b77c49af
treef48298693b803e7cb6dfb3b20be0ddc68a668120
parent5321fc265cc66ee62be5374a7f6095a842c38281
crypto/ecdsa: implement deterministic and hedged signatures

For the future, some test vectors we should generate and then share
through Wycheproof or CCTV:
 - A private key with a leading zero byte.
 - A hash longer than the modulus.
 - A hash longer than the P-521 modulus by a few bits.
 - Reductions happening in hashToNat and bits2octets.

Fixes #64802

Change-Id: Ia0f89781b2c78eedd5103cf0e9720630711c37ad
Reviewed-on: https://go-review.googlesource.com/c/go/+/628681
TryBot-Bypass: Filippo Valsorda <filippo@golang.org>
Reviewed-by: Russ Cox <rsc@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Auto-Submit: Filippo Valsorda <filippo@golang.org>
18 files changed:
src/crypto/ecdsa/ecdsa.go
src/crypto/ecdsa/ecdsa_legacy.go
src/crypto/ecdsa/ecdsa_test.go
src/crypto/internal/fips/ecdsa/cast.go
src/crypto/internal/fips/ecdsa/ecdsa.go
src/crypto/internal/fips/ecdsa/ecdsa_noasm.go
src/crypto/internal/fips/ecdsa/ecdsa_s390x.go
src/crypto/internal/fips/ecdsa/ecdsa_test.go
src/crypto/internal/fips/ecdsa/hmacdrbg.go
src/crypto/internal/fipstest/cast_test.go
src/crypto/tls/testdata/Client-TLSv10-ClientCert-ECDSA-ECDSA
src/crypto/tls/testdata/Client-TLSv10-ClientCert-ECDSA-RSA
src/crypto/tls/testdata/Client-TLSv12-ClientCert-ECDSA-ECDSA
src/crypto/tls/testdata/Client-TLSv12-ClientCert-ECDSA-RSA
src/crypto/tls/testdata/Client-TLSv13-ClientCert-ECDSA-RSA
src/crypto/tls/testdata/Server-TLSv10-ECDHE-ECDSA-AES
src/crypto/tls/testdata/Server-TLSv12-ECDHE-ECDSA-AES
src/crypto/tls/testdata/Server-TLSv13-ECDHE-ECDSA-AES