package aes

Import Path
	crypto/internal/fips140/aes (on go.dev)

Dependency Relation
	imports 12 packages, and imported by 5 packages


Package-Level Type Names (total 5)
/* sort by: | */
A Block is an instance of AES using a particular key. It is safe for concurrent use. (*Block) BlockSize() int (*Block) Decrypt(dst, src []byte) (*Block) Encrypt(dst, src []byte) *Block : crypto/cipher.Block func New(key []byte) (*Block, error) func EncryptionKeySchedule(c *Block) []uint32 func NewCBCDecrypter(b *Block, iv [16]byte) *CBCDecrypter func NewCBCEncrypter(b *Block, iv [16]byte) *CBCEncrypter func NewCTR(b *Block, iv []byte) *CTR func crypto/internal/fips140/aes/gcm.New(cipher *Block, nonceSize, tagSize int) (*gcm.GCM, error) func crypto/internal/fips140/aes/gcm.NewCMAC(b *Block) *gcm.CMAC func crypto/internal/fips140/aes/gcm.NewCounterKDF(b *Block) *gcm.CounterKDF func crypto/internal/fips140/aes/gcm.NewGCMForSSH(cipher *Block) (*gcm.GCMForSSH, error) func crypto/internal/fips140/aes/gcm.NewGCMForTLS12(cipher *Block) (*gcm.GCMForTLS12, error) func crypto/internal/fips140/aes/gcm.NewGCMForTLS13(cipher *Block) (*gcm.GCMForTLS13, error) func crypto/internal/fips140/aes/gcm.NewGCMWithCounterNonce(cipher *Block) (*gcm.GCMWithCounterNonce, error)
(*CBCDecrypter) BlockSize() int (*CBCDecrypter) CryptBlocks(dst, src []byte) (*CBCDecrypter) SetIV(iv []byte) *CBCDecrypter : crypto/cipher.BlockMode func NewCBCDecrypter(b *Block, iv [16]byte) *CBCDecrypter
(*CBCEncrypter) BlockSize() int (*CBCEncrypter) CryptBlocks(dst, src []byte) (*CBCEncrypter) SetIV(iv []byte) *CBCEncrypter : crypto/cipher.BlockMode func NewCBCEncrypter(b *Block, iv [16]byte) *CBCEncrypter
(*CTR) XORKeyStream(dst, src []byte) XORKeyStreamAt behaves like XORKeyStream but keeps no state, and instead seeks into the keystream by the given bytes offset from the start (ignoring any XORKetStream calls). This allows for random access into the keystream, up to 16 EiB from the start. *CTR : crypto/cipher.Stream func NewCTR(b *Block, iv []byte) *CTR func RoundToBlock(c *CTR)
( KeySizeError) Error() string KeySizeError : error
Package-Level Functions (total 6)
EncryptionKeySchedule is used from the GCM implementation to access the precomputed AES key schedule, to pass to the assembly implementation.
New creates and returns a new [cipher.Block] implementation. The key argument should be the AES key, either 16, 24, or 32 bytes to select AES-128, AES-192, or AES-256.
NewCBCDecrypter returns a [cipher.BlockMode] which decrypts in cipher block chaining mode, using the given Block.
NewCBCEncrypter returns a [cipher.BlockMode] which encrypts in cipher block chaining mode, using the given Block.
func NewCTR(b *Block, iv []byte) *CTR
RoundToBlock is used by CTR_DRBG, which discards the rightmost unused bits at each request. It rounds the offset up to the next block boundary.
Package-Level Constants (only one)
BlockSize is the AES block size in bytes.