Data Fields
AESCCM_OneStepOperation Struct Reference

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

#include <AESCCM.h>

Collaboration diagram for AESCCM_OneStepOperation:
Collaboration graph
[legend]

Data Fields

CryptoKeykey
 
uint8_t * aad
 
uint8_t * input
 
uint8_t * output
 
uint8_t * nonce
 
uint8_t * mac
 
size_t aadLength
 
size_t inputLength
 
uint8_t nonceLength
 
uint8_t macLength
 
bool nonceInternallyGenerated
 

Detailed Description

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

Field Documentation

§ key

CryptoKey* AESCCM_OneStepOperation::key

A previously initialized CryptoKey

§ aad

uint8_t* AESCCM_OneStepOperation::aad

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

§ input

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

§ output

uint8_t* AESCCM_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.

§ nonce

uint8_t* AESCCM_OneStepOperation::nonce

A buffer containing a nonce. Nonces must be unique to each CCM operation and may not be reused. If nonceInternallyGenerated is set, the nonce will be generated by AESCCM_oneStepEncrypt() and copied to this buffer.

§ mac

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

§ aadLength

size_t AESCCM_OneStepOperation::aadLength

Length of the total aad in bytes. Either aadLength or inputLength must be non-zero. Unlike this field in AESCCM_SegmentedAADOperation, the length doesn't need to be block-aligned.

§ inputLength

size_t AESCCM_OneStepOperation::inputLength

Length of the input/output data in bytes. Either aadLength or inputLength must be non-zero. Unlike this field in AESCCM_SegmentedDataOperation, the length doesn't need to be block-aligned. Max length supported may be limited depending on the return behavior.

§ nonceLength

uint8_t AESCCM_OneStepOperation::nonceLength

Length of nonce in bytes. Valid nonce lengths are [7, 8, ... 13].

§ macLength

uint8_t AESCCM_OneStepOperation::macLength

Length of mac in bytes. Valid MAC lengths are [0, 4, 6, 8, 10, 12, 14, 16]. A length of 0 disables authentication and verification. This is only permitted when using CCM*.

§ nonceInternallyGenerated

bool AESCCM_OneStepOperation::nonceInternallyGenerated

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


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