Versions in this module Expand all Collapse all v1 v1.0.1 Aug 6, 2023 v1.0.0 May 7, 2023 Changes in this version + var ErrInvalidMessage = errors.New("invalid message") + var ErrInvalidSignature = errors.New("invalid signature") + var ErrKeySize = errors.New("key size must be 16, 24 or 32 bytes") + var ErrKeyringCannotDecrypt = errors.New("no installed keys could decrypt the message") + var ErrKeyringCannotVerify = errors.New("no installed keys could verify the message") + var ErrKeyringEmpty = errors.New("no installed keys") + var HEADER = []byte("A128GCM") + func Decrypt(secret, encrypted, aad []byte) (plain []byte, err error) + func Encrypt(secret, data, aad []byte) (encrypted []byte, err error) + func SecureBytesCompare(input, secret []byte) bool + func ValidateKey(key []byte) error + type KeyGenerator struct + func (g *KeyGenerator) Generate(secret []byte, salt []byte, iterations int, length int, digest string) []byte + type Keyring struct + func (k *Keyring) AddKey(key []byte) error + func (k *Keyring) Decrypt(cipherText, aad []byte) (plain []byte, err error) + func (k *Keyring) Encrypt(data, aad []byte) (cipherText []byte, err error) + func (k *Keyring) GetKeys() [][]byte + func (k *Keyring) GetPrimaryKey() (key []byte) + func (k *Keyring) MessageDecrypt(encrypted []byte, aad []byte) ([]byte, error) + func (k *Keyring) MessageEncrypt(content []byte, aad []byte) (encrypted string, err error) + func (k *Keyring) MessageSign(message []byte, digest string) (string, error) + func (k *Keyring) MessageVerify(signed []byte) (decoded []byte, err error) + type MessageEncryptor struct + func (e *MessageEncryptor) Decrypt(secret, encoded, aad []byte) (content []byte, err error) + func (e *MessageEncryptor) Encrypt(secret, content, aad []byte) (encoded string, err error) + type MessageVerifier struct + func (v *MessageVerifier) Sign(secret []byte, content []byte, digest string) string + func (v *MessageVerifier) Verify(secret []byte, signed []byte) (decoded []byte, err error)