CC26xx Driver Library |

- Main Page
- Related Pages
- CC26xx APIs
- Register Descriptions
- Online Resources

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Macros | Functions
crypto.h File Reference
`#include <stdbool.h>`
`#include <stdint.h>`
`#include <inc/hw_types.h>`
`#include <inc/hw_memmap.h>`
`#include <inc/hw_ints.h>`
`#include <inc/hw_crypto.h>`
`#include <driverlib/debug.h>`
`#include <driverlib/interrupt.h>`
`#include <driverlib/cpu.h>`

Go to the source code of this file.

## Macros
#define | AES_ECB_LENGTH 16
#define | CRYPTO_DMA_IN_DONE 0x00000002
#define | CRYPTO_RESULT_RDY 0x00000001
#define | CRYPTO_DMA_BUS_ERR 0x80000000
#define | CRYPTO_KEY_ST_WR_ERR 0x40000000
#define | CRYPTO_KEY_ST_RD_ERR 0x20000000
#define | CRYPTO_INT_LEVEL 0x00000001
#define | CRYPTO_INT_PULSE 0x00000000
#define | CRYPTO_DMA_CHAN0 0x00000001
#define | CRYPTO_DMA_CHAN1 0x00000002
#define | CRYPTO_AES128_ENCRYPT 0x0000000C
#define | CRYPTO_AES128_DECRYPT 0x00000008
#define | CRYPTO_DMA_READY 0x00000000
#define | CRYPTO_DMA_BSY 0x00000003
#define | CRYPTO_DMA_BUS_ERROR 0x00020000
#define | AES_SUCCESS 0
#define | AES_KEYSTORE_READ_ERROR 1
#define | AES_KEYSTORE_WRITE_ERROR 2
#define | AES_DMA_BUS_ERROR 3
#define | CCM_AUTHENTICATION_FAILED 4
#define | AES_ECB_TEST_ERROR 8
#define | AES_NULL_ERROR 9
#define | AES_CCM_TEST_ERROR 10
#define | AES_DMA_BSY 11
#define | STATE_BLENGTH 16
#define | KEY_BLENGTH 16
#define | KEY_EXP_LENGTH 176
#define | KEY_STORE_SIZE_128 0x00000001
#define | KEY_STORE_SIZE_192 0x00000002
#define | KEY_STORE_SIZE_256 0x00000003
#define | KEY_STORE_SIZE_BITS 0x00000003
#define | CRYPTO_KEY_AREA_0 0
#define | CRYPTO_KEY_AREA_1 1
#define | CRYPTO_KEY_AREA_2 2
#define | CRYPTO_KEY_AREA_3 3
#define | CRYPTO_KEY_AREA_4 4
#define | CRYPTO_KEY_AREA_5 5
#define | CRYPTO_KEY_AREA_6 6
#define | CRYPTO_KEY_AREA_7 7
#define | CRYPTO_AES_NONE 0
#define | CRYPTO_AES_KEYL0AD 1
#define | CRYPTO_AES_ECB 2
#define | CRYPTO_AES_CCM 3
#define | CRYPTO_AES_RNG 4
#define | CRYPTO_AES_CTR_32 0x0
#define | CRYPTO_AES_CTR_64 0x1
#define | CRYPTO_AES_CTR_96 0x2
#define | CRYPTO_AES_CTR_128 0x3

## Functions
uint32_t | CRYPTOAesLoadKey (uint32_t *pui32AesKey, uint32_t ui32KeyLocation)
| Write the key into the Key Ram. More...
uint32_t | CRYPTOAesEcb (uint32_t *pui32MsgIn, uint32_t *pui32MsgOut, uint32_t ui32KeyLocation, bool bEncrypt, bool bIntEnable)
| Start an AES-ECB operation (encryption or decryption). More...
uint32_t | CRYPTOAesEcbStatus (void)
| Check the result of an AES ECB operation. More...
__STATIC_INLINE void | CRYPTOAesEcbFinish (void)
| Finish the encryption operation by resetting the operation mode. More...
uint32_t | CRYPTOCcmAuthEncrypt (bool bEncrypt, uint32_t ui32AuthLength, uint32_t *pui32Nonce, uint32_t *pui32PlainText, uint32_t ui32PlainTextLength, uint32_t *pui32Header, uint32_t ui32HeaderLength, uint32_t ui32KeyLocation, uint32_t ui32FieldLength, bool bIntEnable)
| Start CCM operation. More...
uint32_t | CRYPTOCcmAuthEncryptStatus (void)
| Check the result of an AES CCM operation. More...
uint32_t | CRYPTOCcmAuthEncryptResultGet (uint32_t ui32TagLength, uint32_t *pui32CcmTag)
| Get the result of an AES CCM operation. More...
uint32_t | CRYPTOCcmInvAuthDecrypt (bool bDecrypt, uint32_t ui32AuthLength, uint32_t *pui32Nonce, uint32_t *pui32CipherText, uint32_t ui32CipherTextLength, uint32_t *pui32Header, uint32_t ui32HeaderLength, uint32_t ui32KeyLocation, uint32_t ui32FieldLength, bool bIntEnable)
| Start a CCM Decryption and Inverse Authentication operation. More...
uint32_t | CRYPTOCcmInvAuthDecryptStatus (void)
| Checks CCM decrypt and Inverse Authentication result. More...
uint32_t | CRYPTOCcmInvAuthDecryptResultGet (uint32_t ui32AuthLength, uint32_t *pui32CipherText, uint32_t ui32CipherTextLength, uint32_t *pui32CcmTag)
| Get the result of the CCM operation. More...
__STATIC_INLINE uint32_t | CRYPTODmaStatus (void)
| Get the current status of the Crypto DMA controller. More...
void | CRYPTODmaEnable (uint32_t ui32Channels)
| Enable Crypto DMA operation. More...
void | CRYPTODmaDisable (uint32_t ui32Channels)
| Disable Crypto DMA operation. More...
__STATIC_INLINE void | CRYPTOIntEnable (uint32_t ui32IntFlags)
| Enables individual Crypto interrupt sources. More...
__STATIC_INLINE void | CRYPTOIntDisable (uint32_t ui32IntFlags)
| Disables individual CRYPTO interrupt sources. More...
__STATIC_INLINE uint32_t | CRYPTOIntStatus (bool bMasked)
| Gets the current interrupt status. More...
__STATIC_INLINE void | CRYPTOIntClear (uint32_t ui32IntFlags)
| Clears Crypto interrupt sources. More...
__STATIC_INLINE void | CRYPTOIntRegister (void(*pfnHandler)(void))
| Registers an interrupt handler for a Crypto interrupt. More...
__STATIC_INLINE void | CRYPTOIntUnregister (void)
| Unregisters an interrupt handler for a Crypto interrupt. More...