Data Structures
AESGCMCC26XX.h File Reference

Detailed Description

AESGCM driver implementation for the CC26XX family.

============================================================================

Warning
This is a beta API. It may change in future releases.

This file should only be included in the board file to fill the AESGCM_config struct.

Hardware Accelerator

The CC26XX family has a dedicated hardware crypto accelerator. It is capable of multiple AES block cipher modes of operation including GCM. Only one operation can be carried out on the accerator at a time. Mutual exclusion is implemented at the driver level and coordinated between all drivers relying on the accelerator. It is transparent to the application and only noted ensure sensible access timeouts are set.

Key Store

The CC26XX crypto module contains a key store. The only way to load a key into the AES accelerator is to first load it into the key store. To guarantee availability of open key locations in the key store for AES operations, the last two key locations (6 and 7) are reserved for ad-hoc operations. The key is loaded into the key store, the AES operation is carried out, and the key is deleted from the key store. Since the key store does not have retention and the keys can not survive going into standby, the key store is only used to load keys into the AES accelerator rather than store keys. Support for pre-loading keys into the key store and using them in an AES operation is not supported in this driver.

Implementation Limitations

Runtime Parameter Validation

The driver implementation does not perform runtime checks for most input parameters. Only values that are likely to have a stochastic element to them are checked (such as whether a driver is already open). Higher input paramter validation coverage is achieved by turning on assertions when compiling the driver.

#include <stdint.h>
#include <stdbool.h>
#include <ti/drivers/Power.h>
#include <ti/drivers/AESGCM.h>
#include <ti/drivers/cryptoutils/cryptokey/CryptoKey.h>
#include <ti/drivers/dpl/HwiP.h>
#include <ti/drivers/dpl/SwiP.h>
#include <ti/drivers/dpl/SemaphoreP.h>
Include dependency graph for AESGCMCC26XX.h:

Go to the source code of this file.

Data Structures

struct  AESGCMCC26XX_HWAttrs
 AESGCMCC26XX Hardware Attributes. More...
 
struct  AESGCMCC26XX_Object
 AESGCMCC26XX Object. More...
 
© Copyright 1995-2019, Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy policy | Terms of use | Terms of sale