Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
crypto.go 430 B
package crypto

// CryptoAlgorithm is an interface that provides the methods required for
// encryption and decryption of data.
// Currently only AES is supported, but this could be extended to support other
// algorithms in the future.
type CryptoAlgorithm interface {
	Encrypt(plaintext []byte, key []byte) ([]byte, []byte, []byte, error)
	Decrypt(nonce, authTag, ciphertext []byte, key []byte) ([]byte, error)
	Name() string
}