crypto/ed25519
David Benjamin 5ba7f63082 ed25519: actually be compatible with RFC 8032
Most implementations, including this one, consider the private key to be
the concatenation of the initial 32-byte seed and the public key.
However the RFC 8032 formulation considers the "private key" to just be
the seed, which, in turn, means the upcoming draft-ietf-curdle-pkix
specification for embedding Ed25519 into PKCS#8 only stores the seed.

Exporting ed25519.PrivateKey to the seed is easy: key[:32]. Importing
the seed to ed25519.PrivateKey is not currently possible because the
logic is tied up in ed25519.GenerateKey. Split out
ed25519.NewKeyFromSeed for this, as well as an ed25519.PrivateKey.Seed
accessor to keep the abstraction consistent.

Change-Id: I4068eaf2073009dff3d84224aa145b56b59a5854
Reviewed-on: https://go-review.googlesource.com/115297
Reviewed-by: Filippo Valsorda <filippo@golang.org>
Run-TryBot: Filippo Valsorda <filippo@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2018-05-31 19:11:17 +00:00
..
internal/edwards25519 ed25519: require canonical signatures 2018-03-13 19:52:38 +00:00
testdata x/crypto/ed25519: add package. 2016-04-25 23:11:06 +00:00
ed25519.go ed25519: actually be compatible with RFC 8032 2018-05-31 19:11:17 +00:00
ed25519_test.go ed25519: actually be compatible with RFC 8032 2018-05-31 19:11:17 +00:00