package
1.7.0
Repository: https://github.com/google/tink.git
Documentation: pkg.go.dev

# Functions

NewAESCTR returns an AESCTR instance.
NewAESGCM returns an AESGCM instance, where key is the AES key with length 16 bytes (AES-128) or 32 bytes (AES-256).
NewAESGCMSIV returns an AESGCMSIV instance.
NewChaCha20Poly1305 returns an ChaCha20Poly1305 instance.
NewEncryptThenAuthenticate returns a new instance of EncryptThenAuthenticate.
NewPolyval returns a Polyval instance.
NewXChaCha20Poly1305 returns an XChaCha20Poly1305 instance.
ValidateAESKeySize checks if the given key size is a valid AES key size.

# Constants

AESCTRMinIVSize is the minimum IV size that this implementation supports.
AESGCMIVSize is the acceptable IV size defined by RFC 5116.
AESGCMSIVNonceSize is the acceptable IV size defined by RFC 8452.
AESGCMTagSize is the acceptable tag size defined by RFC 5116.
PolyvalBlockSize is the block size (in bytes) that POLYVAL uses.

# Structs

AESCTR is an implementation of AEAD interface.
AESGCM is an implementation of AEAD interface.
AESGCMSIV is an implementation of AEAD interface.
ChaCha20Poly1305 is an implementation of AEAD interface.
EncryptThenAuthenticate performs an encrypt-then-MAC operation on plaintext and associated data (ad).
XChaCha20Poly1305 is an implementation of AEAD interface.

# Interfaces

INDCPACipher provides an interface for symmetric key ciphers that are indistinguishable against chosen-plaintext attacks.
Polyval (RFC 8452) is a universal hash function which operates on GF(2^128) and can be used for constructing a Message Authentication Code (MAC).