Data Fields
AESGCM_OneStepOperation Struct Reference

Struct containing the parameters required for encrypting/decrypting and authenticating/verifying a message for one-step operations. More...

#include <AESGCM.h>

Collaboration diagram for AESGCM_OneStepOperation:
Collaboration graph
[legend]

Data Fields

CryptoKeykey
 
uint8_t * aad
 
uint8_t * input
 
uint8_t * output
 
uint8_t * iv
 
uint8_t * mac
 
size_t aadLength
 
size_t inputLength
 
uint8_t ivLength
 
uint8_t macLength
 
bool ivInternallyGenerated
 

Detailed Description

Struct containing the parameters required for encrypting/decrypting and authenticating/verifying a message for one-step operations.

Field Documentation

§ key

CryptoKey* AESGCM_OneStepOperation::key

A previously initialized CryptoKey

§ aad

uint8_t* AESGCM_OneStepOperation::aad

A buffer of length aadLength containing additional authentication data to be authenticated/verified but not encrypted/decrypted.

§ input

uint8_t* AESGCM_OneStepOperation::input
  • Encryption: The plaintext buffer to be encrypted and authenticated in the GCM operation.
  • Decryption: The ciphertext to be decrypted and verified.

§ output

uint8_t* AESGCM_OneStepOperation::output
  • Encryption: The output ciphertext buffer that the encrypted plaintext is copied to.
  • Decryption: The plaintext derived from the decrypted and verified ciphertext is copied here.

§ iv

uint8_t* AESGCM_OneStepOperation::iv

A buffer containing an IV. IVs must be unique to each GCM operation and may not be reused. If ivInternallyGenerated is set, the IV will be generated by AESGCM_oneStepEncrypt() and copied to this buffer.

§ mac

uint8_t* AESGCM_OneStepOperation::mac
  • Encryption: The buffer where the message authentication code is copied.
  • Decryption: The buffer containing the received message authentication code.

§ aadLength

size_t AESGCM_OneStepOperation::aadLength

Length of the total aad in bytes. Either aadLength or inputLength must be non-zero.

§ inputLength

size_t AESGCM_OneStepOperation::inputLength

Length of the input/output data in bytes. Either aadLength or inputLength must be non-zero. Unlike this field in AESGCM_SegmentedDataOperation, the length doesn't need to be block-aligned.

§ ivLength

uint8_t AESGCM_OneStepOperation::ivLength

Length of IV in bytes. The only currently supported IV length is 12 bytes.

§ macLength

uint8_t AESGCM_OneStepOperation::macLength

Length of mac in bytes. Valid MAC lengths are [4, 8, 12, 13, 14, 15, 16].

§ ivInternallyGenerated

bool AESGCM_OneStepOperation::ivInternallyGenerated

When true, the IV buffer passed into AESGCM_oneStepEncrypt() will be overwritten with a randomly generated IV. Not supported by all implementations.


The documentation for this struct was generated from the following file:
© Copyright 1995-2023, Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy policy | Terms of use | Terms of sale