mirror of
https://github.com/golang/go
synced 2024-11-26 15:56:57 -07:00
d88d91e32e
We use crypto/internal/edwards25519/field to implement X25519 directly, so that golang.org/x/crypto/curve25519 can be dropped from the src module dependencies, and eventually replaced with a crypto/ecdh wrapper, removing the need to keep golang.org/x/crypto/curve25519/internal/field in sync with crypto/internal/edwards25519/field. In crypto/internal/nistec, we add BytesX to serialize only the x coordinate, which we'll need for the horrible ECDSA x-coord-to-scalar operation, too. In crypto/tls, we replace the ECDHE implementation with crypto/ecdh, dropping the X25519 special cases and related scaffolding. Finally, FINALLY, we deprecate the ~white whale~ big.Int-based APIs of the crypto/elliptic package. •_•) ( •_•)>⌐■-■ (⌐■_■) Fixes #52182 Fixes #34648 Fixes #52221 Change-Id: Iccdda210319cc892e96bb28a0e7b7123551982c7 Reviewed-on: https://go-review.googlesource.com/c/go/+/398914 Reviewed-by: Fernando Lobato Meeser <felobato@google.com> Reviewed-by: Roland Shoemaker <roland@golang.org> Run-TryBot: Filippo Valsorda <filippo@golang.org> TryBot-Result: Gopher Robot <gobot@golang.org>
20 lines
1.2 KiB
Plaintext
20 lines
1.2 KiB
Plaintext
pkg crypto/ecdh, func P256() Curve #52221
|
|
pkg crypto/ecdh, func P384() Curve #52221
|
|
pkg crypto/ecdh, func P521() Curve #52221
|
|
pkg crypto/ecdh, func X25519() Curve #52221
|
|
pkg crypto/ecdh, method (*PrivateKey) Bytes() []uint8 #52221
|
|
pkg crypto/ecdh, method (*PrivateKey) Curve() Curve #52221
|
|
pkg crypto/ecdh, method (*PrivateKey) Equal(crypto.PrivateKey) bool #52221
|
|
pkg crypto/ecdh, method (*PrivateKey) Public() crypto.PublicKey #52221
|
|
pkg crypto/ecdh, method (*PrivateKey) PublicKey() *PublicKey #52221
|
|
pkg crypto/ecdh, method (*PublicKey) Bytes() []uint8 #52221
|
|
pkg crypto/ecdh, method (*PublicKey) Curve() Curve #52221
|
|
pkg crypto/ecdh, method (*PublicKey) Equal(crypto.PublicKey) bool #52221
|
|
pkg crypto/ecdh, type Curve interface, ECDH(*PrivateKey, *PublicKey) ([]uint8, error) #52221
|
|
pkg crypto/ecdh, type Curve interface, GenerateKey(io.Reader) (*PrivateKey, error) #52221
|
|
pkg crypto/ecdh, type Curve interface, NewPrivateKey([]uint8) (*PrivateKey, error) #52221
|
|
pkg crypto/ecdh, type Curve interface, NewPublicKey([]uint8) (*PublicKey, error) #52221
|
|
pkg crypto/ecdh, type Curve interface, unexported methods #52221
|
|
pkg crypto/ecdh, type PrivateKey struct #52221
|
|
pkg crypto/ecdh, type PublicKey struct #52221
|