CryptoAuthLib
Microchip CryptoAuthentication Library
atca_aes_gcm_ctx Struct Reference

#include <atca_basic_aes_gcm.h>

Data Fields

uint16_t key_id
 Key location. Can either be a slot number or ATCA_TEMPKEY_KEYID for TempKey. More...
 
uint8_t key_block
 Index of the 16-byte block to use within the key location for the actual key. More...
 
uint8_t cb [AES_DATA_SIZE]
 Counter block, comprises of nonce + count value (16 bytes). More...
 
uint32_t data_size
 Size of the data being encrypted/decrypted in bytes. More...
 
uint32_t aad_size
 Size of the additional authenticated data in bytes. More...
 
uint8_t h [AES_DATA_SIZE]
 Subkey for ghash functions in GCM. More...
 
uint8_t j0 [AES_DATA_SIZE]
 Precounter block generated from IV. More...
 
uint8_t y [AES_DATA_SIZE]
 Current GHASH output. More...
 
uint8_t partial_aad [AES_DATA_SIZE]
 Partial blocks of data waiting to be processed. More...
 
uint32_t partial_aad_size
 Amount of data in the partial block buffer. More...
 
uint8_t enc_cb [AES_DATA_SIZE]
 Last encrypted counter block. More...
 
uint8_t ciphertext_block [AES_DATA_SIZE]
 Last ciphertext block. More...
 

Detailed Description

Context structure for AES GCM operations.

Field Documentation

◆ aad_size

uint32_t aad_size

Size of the additional authenticated data in bytes.

◆ cb

uint8_t cb[AES_DATA_SIZE]

Counter block, comprises of nonce + count value (16 bytes).

◆ ciphertext_block

uint8_t ciphertext_block[AES_DATA_SIZE]

Last ciphertext block.

◆ data_size

uint32_t data_size

Size of the data being encrypted/decrypted in bytes.

◆ enc_cb

uint8_t enc_cb[AES_DATA_SIZE]

Last encrypted counter block.

◆ h

uint8_t h[AES_DATA_SIZE]

Subkey for ghash functions in GCM.

◆ j0

uint8_t j0[AES_DATA_SIZE]

Precounter block generated from IV.

◆ key_block

uint8_t key_block

Index of the 16-byte block to use within the key location for the actual key.

◆ key_id

uint16_t key_id

Key location. Can either be a slot number or ATCA_TEMPKEY_KEYID for TempKey.

◆ partial_aad

uint8_t partial_aad[AES_DATA_SIZE]

Partial blocks of data waiting to be processed.

◆ partial_aad_size

uint32_t partial_aad_size

Amount of data in the partial block buffer.

◆ y

uint8_t y[AES_DATA_SIZE]

Current GHASH output.