package aes
Import Path
crypto/internal/fips140/aes (on go.dev)
Dependency Relation
imports 12 packages, and imported by 5 packages
Involved Source Files
aes.go
aes_asm.go
aes_generic.go
cast.go
cbc.go
cbc_noasm.go
const.go
ctr.go
ctr_asm.go
aes_amd64.s
ctr_amd64.s
Package-Level Type Names (total 5)
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)
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.
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.
The pages are generated with Golds v0.7.3-preview. (GOOS=linux GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds. |