const BlockSize … type aesCipher … type KeySizeError … func (k KeySizeError) Error() string { … } // NewCipher creates and returns a new [cipher.Block]. // The key argument should be the AES key, // either 16, 24, or 32 bytes to select // AES-128, AES-192, or AES-256. func NewCipher(key []byte) (cipher.Block, error) { … } // newCipherGeneric creates and returns a new cipher.Block // implemented in pure Go. func newCipherGeneric(key []byte) (cipher.Block, error) { … } func (c *aesCipher) BlockSize() int { … } func (c *aesCipher) Encrypt(dst, src []byte) { … } func (c *aesCipher) Decrypt(dst, src []byte) { … }