aboutsummaryrefslogtreecommitdiff
path: root/src/crypto/ecdsa/ecdsa.go
diff options
context:
space:
mode:
authorMostyn Bramley-Moore <mostyn@antipode.se>2019-08-27 22:26:38 +0000
committerFilippo Valsorda <filippo@golang.org>2019-08-28 16:28:19 +0000
commit84198445d4d7d264dc3e1b66194d378b590aaee0 (patch)
treec8fba4abfe71260d8139fb4ea9aa6d7bc1563346 /src/crypto/ecdsa/ecdsa.go
parent9dfa4cb0260427c29137568c880aeae5e2a7f058 (diff)
downloadgo-84198445d4d7d264dc3e1b66194d378b590aaee0.tar.gz
go-84198445d4d7d264dc3e1b66194d378b590aaee0.zip
crypto/ecdsa: improve documentation readability
Include references in the package-level comment block, expand the obscure IRO acronym, and add a reference for "the standard (cryptographic) assumptions". Fixes #33589 Change-Id: I76c3b0a2f7258b3ab4bf1c8e7681c5d159720a20 GitHub-Last-Rev: 30d5a1e2fbbbb577ccc819f5ef80d5238565c9f3 GitHub-Pull-Request: golang/go#33723 Reviewed-on: https://go-review.googlesource.com/c/go/+/190840 Reviewed-by: Filippo Valsorda <filippo@golang.org>
Diffstat (limited to 'src/crypto/ecdsa/ecdsa.go')
-rw-r--r--src/crypto/ecdsa/ecdsa.go20
1 files changed, 15 insertions, 5 deletions
diff --git a/src/crypto/ecdsa/ecdsa.go b/src/crypto/ecdsa/ecdsa.go
index ddc3b35ba3..d1c7975aa9 100644
--- a/src/crypto/ecdsa/ecdsa.go
+++ b/src/crypto/ecdsa/ecdsa.go
@@ -5,13 +5,23 @@
// Package ecdsa implements the Elliptic Curve Digital Signature Algorithm, as
// defined in FIPS 186-3.
//
-// This implementation derives the nonce from an AES-CTR CSPRNG keyed by
-// ChopMD(256, SHA2-512(priv.D || entropy || hash)). The CSPRNG key is IRO by
-// a result of Coron; the AES-CTR stream is IRO under standard assumptions.
+// This implementation derives the nonce from an AES-CTR CSPRNG keyed by:
+//
+// SHA2-512(priv.D || entropy || hash)[:32]
+//
+// The CSPRNG key is indifferentiable from a random oracle as shown in
+// [Coron], the AES-CTR stream is indifferentiable from a random oracle
+// under standard cryptographic assumptions (see [Larsson] for examples).
+//
+// References:
+// [Coron]
+// https://cs.nyu.edu/~dodis/ps/merkle.pdf
+// [Larsson]
+// https://www.nada.kth.se/kurser/kth/2D1441/semteo03/lecturenotes/assump.pdf
package ecdsa
-// References:
-// [NSA]: Suite B implementer's guide to FIPS 186-3,
+// Further references:
+// [NSA]: Suite B implementer's guide to FIPS 186-3
// https://apps.nsa.gov/iaarchive/library/ia-guidance/ia-solutions-for-classified/algorithm-guidance/suite-b-implementers-guide-to-fips-186-3-ecdsa.cfm
// [SECG]: SECG, SEC1
// http://www.secg.org/sec1-v2.pdf