]> Cypherpunks repositories - gostls13.git/commit
crypto/dsa: don't allow signing with degenerate private keys to loop forever.
authorAdam Langley <agl@golang.org>
Wed, 30 Nov 2016 16:30:31 +0000 (08:30 -0800)
committerAdam Langley <agl@golang.org>
Wed, 7 Dec 2016 16:15:50 +0000 (16:15 +0000)
commitbc075e61cb90585c34ae696aca7c0f2476f01c77
tree1f6f05b798354e47d9929ac4deda3b3328b9e70e
parent26aa7422e506bc79965de9bb6e03b5cc09787dbb
crypto/dsa: don't allow signing with degenerate private keys to loop forever.

Previously it was possible to craft a DSA private key that would cause
Sign() to loop forever because no signature could be valid. This change
does some basic sanity checks and ensures that Sign will always
terminate.

Thanks to Yolan Romailler for highing this.

Be aware, however, that it's still possible for an attacker to simply
craft a private key with enormous values and thus cause Sign to take an
arbitrary amount of time.

Change-Id: Icd53939e511eef513a4977305dd9015d9436d0ce
Reviewed-on: https://go-review.googlesource.com/33725
Reviewed-by: Yolan Romailler <y@romailler.ch>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
src/crypto/dsa/dsa.go
src/crypto/dsa/dsa_test.go