crypto/ed25519

Guided tour · Crypto · pkg.go.dev →

Ed25519 signatures. Small keys, small signatures, constant-time by design. Preferred for new signing systems.

Generate, sign, verify

End-to-end

pub, priv, err := ed25519.GenerateKey(rand.Reader)
if err != nil { log.Fatal(err) }

msg := []byte("hello")
sig := ed25519.Sign(priv, msg)
ok := ed25519.Verify(pub, msg, sig)
fmt.Println(ok)   // true

Keys are just byte slices — easy to store

PublicKeySize=32, PrivateKeySize=64, SignatureSize=64. Serialize with base64 or hex.