AESGCM driver implementation for the MSP432E4 family.
The generic driver interface can be found in AESGCM.h. This file should only be included in the board file to fill the AESGCM_Config struct.
Features
Limitations
- When using AESGCM_RETURN_BEHAVIOR_BLOCKING and AESGCM_RETURN_BEHAVIOR_CALLBACK, the pointers AESGCM_Operation::input and AESGCM_Operation::output must be word-aligned. This is required by the DMA.
- Only plaintext CryptoKey types keys are supported by this implementation.
- Only one operation can be carried out on the accelerator 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 to ensure sensible access timeouts are set for AESGCM_Params::timeout.
- The length of initialization vectors is limited to 12 bytes.
- This implementation does not support internal generation of initialization vectors.
Performance
Polling mode offers better performance than blocking and callback mode because no DMA and no interrupt handling is involved. It is recommended to use polling mode for messages shorter than 512 bytes.