INNER CODE UNIT · Go
GenerateKey
aead/minisign · minisign.go:38
func GenerateKey(random io.Reader) (PublicKey, PrivateKey, error) {
pub, priv, err := ed25519.GenerateKey(random)
if err != nil {
return PublicKey{}, PrivateKey{}, err
}
id := blake2b.Sum256(pub[:])
publicKey := PublicKey{
id: binary.LittleEndian.Uint64(id[:8]),
}
copy(publicKey.bytes[:], pub)
privateKey := PrivateKey{
id: publicKey.ID(),
}
copy(privateKey.bytes[:], priv)
return publicKey, privateKey, nil