SWCU194 March 2023 CC1314R10 , CC1354P10 , CC1354R10 , CC2674P10 , CC2674R10
For AES-CCM operations, the following configuration parameters are required:
CRYPTO:AESCTL.CCM_L must be 001b, 011b, or 111b, representing a crypto data length field of 2, 4, or 8 bytes, respectively.
CRYPTO:AESCTL.CCM_M can be set to any value and has no effect on the processing. The host must select the valid TAG bytes from the 128-bit TAG.
The AAD and cryptographic data may end misaligned. In this case, the crypto core pads both data types to a 128-bit boundary with zeroes. Padding is done as follows: the AAD and crypto data padding satisfy the bit string, 0n, with 0 ≤ n ≤127, such that the input data block length, including padding, is 128-bit aligned. The AAD data must be transferred to the AES engine with a separate DMA operation (it may not be combined with the payload data) or using slave transfers.
The context length field can have any value. If a data stream is done and the next data stream uses the same key and control, only the IV and length fields can be written with a new value. The user cannot write both length fields with zeroes.
The result TAG is typically read using the slave interface, but can also be written to an external memory location using a separate DMA operation.