Documentation ¶
Overview ¶
Package x25519 implements the X25519 Elliptic Curve Diffie-Hellman algorithm. See RFC 8032.
Index ¶
Constants ¶
View Source
const ( // PublicKeySize is the size, in bytes, of public keys as used in this package. PublicKeySize = 32 // PrivateKeySize is the size, in bytes, of private keys as used in this package. PrivateKeySize = 64 // SignatureSize is the size, in bytes, of signatures generated and verified by this package. SignatureSize = 64 // SeedSize is the size, in bytes, of private key seeds. These are the private key representations used by RFC 8032. SeedSize = 32 )
Variables ¶
This section is empty.
Functions ¶
func GenerateKey ¶
func GenerateKey(rand io.Reader) (PublicKey, PrivateKey, error)
GenerateKey generates a public/private key pair using entropy from rand. If rand is nil, crypto/rand.Reader will be used.
Types ¶
type PrivateKey ¶
type PrivateKey []byte
PrivateKey is the type of X25519 private keys.
func NewKeyFromSeed ¶
func NewKeyFromSeed(seed []byte) PrivateKey
NewKeyFromSeed calculates a private key from a seed. It will panic if len(seed) is not SeedSize. This function is provided for interoperability with RFC 8032. RFC 8032's private keys correspond to seeds in this package.
func (PrivateKey) ECDH ¶
func (priv PrivateKey) ECDH() (*ecdh.PrivateKey, error)
ECDH returns priv as a crypto/ecdh.PrivateKey.
func (PrivateKey) Equal ¶
func (priv PrivateKey) Equal(x crypto.PrivateKey) bool
Equal reports whether priv and x have the same value.
func (PrivateKey) Public ¶
func (priv PrivateKey) Public() crypto.PublicKey
Public returns the PublicKey corresponding to priv.
Click to show internal directories.
Click to hide internal directories.