ed25519.PrivateKeySize
// PrivateKeySize is the size, in bytes, of private keys as used in this package.
const PrivateKeySize = 64
ed25519.PublicKeySize
// PublicKeySize is the size, in bytes, of public keys as used in this package.
const PublicKeySize = 32
ed25519.SeedSize
// SeedSize is the size, in bytes, of private key seeds. These are the private key representations used by RFC 8032.
const SeedSize = 32
ed25519.SignatureSize
// SignatureSize is the size, in bytes, of signatures generated and verified by this package.
const SignatureSize = 64
ed25519.GenerateKey
// GenerateKey generates a public/private key pair using entropy from rand.
// If rand is nil, [crypto/rand.Reader] will be used.
func GenerateKey(rand io.Reader) (PublicKey, PrivateKey, error)
ed25519.NewKeyFromSeed
// 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 NewKeyFromSeed(seed []byte) PrivateKey
ed25519.Sign
// Sign signs the message with privateKey and returns a signature. It will
// panic if len(privateKey) is not [PrivateKeySize].
func Sign(privateKey PrivateKey, message []byte) []byte
ed25519.Verify
// Verify reports whether sig is a valid signature of message by publicKey. It
// will panic if len(publicKey) is not [PublicKeySize].
func Verify(publicKey PublicKey, message []byte, sig []byte) bool
ed25519.VerifyWithOptions
// VerifyWithOptions reports whether sig is a valid signature of message by
// publicKey. A valid signature is indicated by returning a nil error. It will
// panic if len(publicKey) is not [PublicKeySize].
//
// If opts.Hash is [crypto.SHA512], the pre-hashed variant Ed25519ph is used and
// message is expected to be a SHA-512 hash, otherwise opts.Hash must be
// [crypto.Hash](0) and the message must not be hashed, as Ed25519 performs two
// passes over messages to be signed.
func VerifyWithOptions(publicKey PublicKey, message []byte, sig []byte, opts *Options) error