Other Parts Discussed in Thread: TIMAC, CC2650
This is for an existing product so I have no flexibility in hardware, software or the type of encryption I am using.
I am writing an application for a CC2630 that requires CBC AES function. The ICall libraries don't appear to support this nor do the underlying CryptoCC26XX libraries, although it is a feature supported in hardware.
/*! * @brief CryptoCC26XX Operation Type * * This type holds the CryptoCC26XX operation. * * Currently supported types are * ::CRYPTOCC26XX_OP_AES_CCM, ::CRYPTOCC26XX_OP_AES_CCMINV, * ::CRYPTOCC26XX_OP_AES_ECB, ::CRYPTOCC26XX_OP_AES_CCM_NOCRYPT, * ::CRYPTOCC26XX_OP_AES_CCMINV_NOCRYPT and ::CRYPTOCC26XX_OP_AES_ECB_NOCRYPT. */ typedef uint8_t CryptoCC26XX_Operation; ... #define CRYPTOCC26XX_OP_AES_CCM 0 /*!< AES-CCM Operation with Cryptation */ #define CRYPTOCC26XX_OP_AES_CCM_NOCRYPT 1 /*!< AES-CCM Operation without Cryptation */ #define CRYPTOCC26XX_OP_AES_CCMINV 2 /*!< AES-CCM Inverse Operation with Cryptation */ #define CRYPTOCC26XX_OP_AES_CCMINV_NOCRYPT 3 /*!< AES-CCM Inverse Operation without Cryptation*/ #define CRYPTOCC26XX_OP_AES_ECB 4 /*!< AES-ECB Operation with Cryptation */ #define CRYPTOCC26XX_OP_AES_ECB_NOCRYPT 5 /*!< AES-ECB Operation without Cryptation */
This application will have a single caller (the only one that will ever use the crypto features) that needs to do the CBC AES encryption and decryption. How should I accomplish this either through the libraries or implementing it myself in a TI-RTOS friendly convention?