SLAU846A June 2023 – October 2023 MSPM0G1105 , MSPM0G1106 , MSPM0G1107 , MSPM0G1505 , MSPM0G1506 , MSPM0G1507 , MSPM0G3105 , MSPM0G3105-Q1 , MSPM0G3106 , MSPM0G3106-Q1 , MSPM0G3107 , MSPM0G3107-Q1 , MSPM0G3505 , MSPM0G3505-Q1 , MSPM0G3506 , MSPM0G3506-Q1 , MSPM0G3507 , MSPM0G3507-Q1
The key can be loaded by writing to the AESAKEY register or by setting the KEYWR bit. Depending on the selected key length (KLx in the AESCTL0 register), a different number of bits must be loaded:
The key memory is reset after changing the KLx bits.
If a key was loaded previously without changing the OPx bits, the KEYWR flag is cleared with the first write access to AESAKEY.
If an operation is triggered without writing a new key, the last key is used. The key must always be written before writing the data.
The AES algorithm operates not only on the STATE but also on the key. To avoid the need to reload the key for each operation, a key buffer is included such that the key expansion operations for round key generation to not remove the cipher key loaded in AESAKEY.