AM263Px MCU+ SDK: APIs for DTHE AES

| AM263Px MCU+ SDK 26.00.00 |

Files | Data Structures | Functions | Enumerations | Macros
APIs for DTHE AES
APIs for Security Drivers

## Introduction

This module contains APIs to program and use the DTHE AES.

## Files
file | dthe_aes.h
| This file contains the prototype of DTHE AES driver APIs.

## Data Structures
struct | DTHE_AES_Params
| AES Driver Parameters This structure has all the parameters which are need by the AES Driver to perform the specified operation. More...

## Functions
DTHE_AES_Return_t | DTHE_AES_open (DTHE_Handle handle)
| Function to Open DTHE AES Driver. More...
DTHE_AES_Return_t | DTHE_AES_execute (DTHE_Handle handle, const DTHE_AES_Params *ptrParams)
| The function is used to execute the AES Driver with the specified parameters. More...
DTHE_AES_Return_t | DTHE_AES_close (DTHE_Handle handle)
| Function to close DTHE AES Driver. More...

## Enumerations
enum | DTHE_AES_Return_t { DTHE_AES_RETURN_SUCCESS = 0x62E699D9U, DTHE_AES_RETURN_FAILURE = 0x904D041AU }
| DTHE AES Driver Error code. More...

## Macros
#define | DTHE_AES_ECB_MODE (0x00000000U)
| Flag for AES ECB Mode. More...
#define | DTHE_AES_CBC_MODE (0x00000001U)
| Flag for AES CBC Mode. More...
#define | DTHE_AES_CTR_MODE (0x00000002U)
| Flag for AES CTR Mode. More...
#define | DTHE_AES_ICM_MODE (0x00000004U)
| Flag for AES ICM Mode. More...
#define | DTHE_AES_CFB_MODE (0x00000008U)
| Flag for AES CFB Mode. More...
#define | DTHE_AES_F8_MODE (0x00000010U)
| Flag for AES F8 Mode. More...
#define | DTHE_AES_F9_MODE (0x00000020U)
| Flag for AES F9 Mode. More...
#define | DTHE_AES_XTS_MODE (0x00000040U)
| Flag for AES XTS Mode. More...
#define | DTHE_AES_CBC_MAC_MODE (0x00000080U)
| Flag for AES CBC-MAC Mode. More...
#define | DTHE_AES_CMAC_MODE (0x00000100U)
| Flag for AES CMAC Mode. More...
#define | DTHE_AES_GCM_MODE (0x00000200U)
| Flag for AES GCM Mode. More...
#define | DTHE_AES_GHASH_ONLY_MODE (0x00000400U)
| Flag for AES GCM Mode. More...
#define | DTHE_AES_CCM_MODE (0x00000800U)
| Flag for AES CCM Mode. More...
#define | DTHE_AES_KEY_128_SIZE (0x00000001U)
| Size of AES key is of 128-bit. More...
#define | DTHE_AES_KEY_192_SIZE (0x00000002U)
| Size of AES key is of 192-bit. More...
#define | DTHE_AES_KEY_256_SIZE (0x00000003U)
| Size of AES key is of 256-bit. More...
#define | DTHE_AES_ENCRYPT (0x016FE45DU)
| AES Encrypt Flag. More...
#define | DTHE_AES_DECRYPT (0xDCBA4213U)
| AES Decrypt Flag. More...
#define | DTHE_AES_CTR_WIDTH_16 (0x00000001U)
| AES CTR Counter Width is 16 (ICM) More...
#define | DTHE_AES_CTR_WIDTH_32 (0x00000002U)
| AES CTR Counter Width is 32. More...
#define | DTHE_AES_CTR_WIDTH_64 (0x00000004U)
| AES CTR Counter Width is 64. More...
#define | DTHE_AES_CTR_WIDTH_96 (0x00000008U)
| AES CTR Counter Width is 96. More...
#define | DTHE_AES_CTR_WIDTH_128 (0x00000010U)
| AES CTR Counter Width is 128. More...
#define | DTHE_AES_ONE_SHOT_SUPPORT (0x00000000U)
| AES STREAM SUPPORT. More...
#define | DTHE_AES_STREAM_INIT (0xAA11BB22U)
| AES STREAM SUPPORT : INIT. More...
#define | DTHE_AES_STREAM_UPDATE (0x33CC44DDU)
| AES STREAM SUPPORT : UPDATE. More...
#define | DTHE_AES_STREAM_FINISH (0xEE55FF66U)
| AES STREAM SUPPORT : FINISH. More...
#define | DTHE_AES_NO_MODE (0x0U)
| AES No Mode Suppored. More...
#define | DTHE_AES_GCM_MODE_1 (0x1U)
| AES GCM Operation Select Mode 1. More...
#define | DTHE_AES_GCM_MODE_2 (0x2U)
| AES GCM Operation Select Mode 2. More...
#define | DTHE_AES_GCM_MODE_3 (0x3U)
| AES GCM Operation Select Mode 3. More...
#define | DTHE_AES_XTS_MODE_1 (0x1U)
| AES XTS Operation Select Mode 1. More...
#define | DTHE_AES_XTS_MODE_2 (0x2U)
| AES XTS Operation Select Mode 2. More...
#define | DTHE_AES_XTS_MODE_3 (0x3U)
| AES XTS Operation Select Mode 3. More...

## Macro Definition Documentation

## ◆ DTHE_AES_ECB_MODE

#define DTHE_AES_ECB_MODE (0x00000000U)

Flag for AES ECB Mode.

## ◆ DTHE_AES_CBC_MODE

#define DTHE_AES_CBC_MODE (0x00000001U)

Flag for AES CBC Mode.

## ◆ DTHE_AES_CTR_MODE

#define DTHE_AES_CTR_MODE (0x00000002U)

Flag for AES CTR Mode.

## ◆ DTHE_AES_ICM_MODE

#define DTHE_AES_ICM_MODE (0x00000004U)

Flag for AES ICM Mode.

## ◆ DTHE_AES_CFB_MODE

#define DTHE_AES_CFB_MODE (0x00000008U)

Flag for AES CFB Mode.

## ◆ DTHE_AES_F8_MODE

#define DTHE_AES_F8_MODE (0x00000010U)

Flag for AES F8 Mode.

## ◆ DTHE_AES_F9_MODE

#define DTHE_AES_F9_MODE (0x00000020U)

Flag for AES F9 Mode.

## ◆ DTHE_AES_XTS_MODE

#define DTHE_AES_XTS_MODE (0x00000040U)

Flag for AES XTS Mode.

## ◆ DTHE_AES_CBC_MAC_MODE

#define DTHE_AES_CBC_MAC_MODE (0x00000080U)

Flag for AES CBC-MAC Mode.

## ◆ DTHE_AES_CMAC_MODE

#define DTHE_AES_CMAC_MODE (0x00000100U)

Flag for AES CMAC Mode.

## ◆ DTHE_AES_GCM_MODE

#define DTHE_AES_GCM_MODE (0x00000200U)

Flag for AES GCM Mode.

## ◆ DTHE_AES_GHASH_ONLY_MODE

#define DTHE_AES_GHASH_ONLY_MODE (0x00000400U)

Flag for AES GCM Mode.

## ◆ DTHE_AES_CCM_MODE

#define DTHE_AES_CCM_MODE (0x00000800U)

Flag for AES CCM Mode.

## ◆ DTHE_AES_KEY_128_SIZE

#define DTHE_AES_KEY_128_SIZE (0x00000001U)

Size of AES key is of 128-bit.

## ◆ DTHE_AES_KEY_192_SIZE

#define DTHE_AES_KEY_192_SIZE (0x00000002U)

Size of AES key is of 192-bit.

## ◆ DTHE_AES_KEY_256_SIZE

#define DTHE_AES_KEY_256_SIZE (0x00000003U)

Size of AES key is of 256-bit.

## ◆ DTHE_AES_ENCRYPT

#define DTHE_AES_ENCRYPT (0x016FE45DU)

AES Encrypt Flag.

## ◆ DTHE_AES_DECRYPT

#define DTHE_AES_DECRYPT (0xDCBA4213U)

AES Decrypt Flag.

## ◆ DTHE_AES_CTR_WIDTH_16

#define DTHE_AES_CTR_WIDTH_16 (0x00000001U)

AES CTR Counter Width is 16 (ICM)

## ◆ DTHE_AES_CTR_WIDTH_32

#define DTHE_AES_CTR_WIDTH_32 (0x00000002U)

AES CTR Counter Width is 32.

## ◆ DTHE_AES_CTR_WIDTH_64

#define DTHE_AES_CTR_WIDTH_64 (0x00000004U)

AES CTR Counter Width is 64.

## ◆ DTHE_AES_CTR_WIDTH_96

#define DTHE_AES_CTR_WIDTH_96 (0x00000008U)

AES CTR Counter Width is 96.

## ◆ DTHE_AES_CTR_WIDTH_128

#define DTHE_AES_CTR_WIDTH_128 (0x00000010U)

AES CTR Counter Width is 128.

## ◆ DTHE_AES_ONE_SHOT_SUPPORT

#define DTHE_AES_ONE_SHOT_SUPPORT (0x00000000U)

AES STREAM SUPPORT.

## ◆ DTHE_AES_STREAM_INIT

#define DTHE_AES_STREAM_INIT (0xAA11BB22U)

AES STREAM SUPPORT : INIT.

## ◆ DTHE_AES_STREAM_UPDATE

#define DTHE_AES_STREAM_UPDATE (0x33CC44DDU)

AES STREAM SUPPORT : UPDATE.

## ◆ DTHE_AES_STREAM_FINISH

#define DTHE_AES_STREAM_FINISH (0xEE55FF66U)

AES STREAM SUPPORT : FINISH.

## ◆ DTHE_AES_NO_MODE

#define DTHE_AES_NO_MODE (0x0U)

AES No Mode Suppored.

## ◆ DTHE_AES_GCM_MODE_1

#define DTHE_AES_GCM_MODE_1 (0x1U)

AES GCM Operation Select Mode 1.

## ◆ DTHE_AES_GCM_MODE_2

#define DTHE_AES_GCM_MODE_2 (0x2U)

AES GCM Operation Select Mode 2.

## ◆ DTHE_AES_GCM_MODE_3

#define DTHE_AES_GCM_MODE_3 (0x3U)

AES GCM Operation Select Mode 3.

## ◆ DTHE_AES_XTS_MODE_1

#define DTHE_AES_XTS_MODE_1 (0x1U)

AES XTS Operation Select Mode 1.

## ◆ DTHE_AES_XTS_MODE_2

#define DTHE_AES_XTS_MODE_2 (0x2U)

AES XTS Operation Select Mode 2.

## ◆ DTHE_AES_XTS_MODE_3

#define DTHE_AES_XTS_MODE_3 (0x3U)

AES XTS Operation Select Mode 3.

## Enumeration Type Documentation

## ◆ DTHE_AES_Return_t

enum DTHE_AES_Return_t

DTHE AES Driver Error code.

The enumeration describes all the possible return and error codes which the DTHE AES Driver can return

Enumerator
DTHE_AES_RETURN_SUCCESS | Success/pass return code
DTHE_AES_RETURN_FAILURE | General or unspecified failure/error

## Function Documentation

## ◆ DTHE_AES_open()

DTHE_AES_Return_t DTHE_AES_open | ( | DTHE_Handle | handle | ) |

Function to Open DTHE AES Driver.

Parameters

  handle | DTHE_Handle returned from DTHE_open().

Returns
  DTHE_AES_RETURN_SUCCESS if requested operation completed. DTHE_AES_RETURN_FAILURE if requested operation not completed.

## ◆ DTHE_AES_execute()

DTHE_AES_Return_t DTHE_AES_execute | ( | DTHE_Handle | handle,
|  | const DTHE_AES_Params * | ptrParams
| ) |  |

The function is used to execute the AES Driver with the specified parameters.

Parameters

  handle | DTHE_Handle returned from DTHE_open().
  ptrParams | Pointer to the parameters to be used to execute the driver.

Returns
  DTHE_AES_RETURN_SUCCESS if requested operation completed. DTHE_AES_RETURN_FAILURE if requested operation not completed.

## ◆ DTHE_AES_close()

DTHE_AES_Return_t DTHE_AES_close | ( | DTHE_Handle | handle | ) |

Function to close DTHE AES Driver.

Parameters

  handle | DTHE_Handle returned from DTHE_open().

Returns
  DTHE_AES_RETURN_SUCCESS if requested operation completed. DTHE_AES_RETURN_FAILURE if requested operation not completed.