
DocID024597 Rev 5
823/1830
RM0351
Advanced encryption standard hardware accelerator (AES)
852
Suspended mode for a given message
It is possible to suspend a message if another message with a higher priority needs to be
processed. After sending this highest priority message, the suspended message may be
resumed in both encryption or decryption mode. This feature is available only when the data
transfer is done by CPU accesses to the AES_DOUTR and AES_DINR registers. It is
advised to not use it when the DMA controller is managing the data transfer.
For correct operation, the message must be suspended at the end of a block processing
(after the fourth read of the AES_DOUTR register and before the next AES_DINR write
access corresponding to the input of the next block to be processed).
The AES should be disabled writing bit EN = 0 in the AES_CR register. The software has to
read the AES_IVRx which contains the latest value to be used for the chaining XOR
operation before message interruption. This value has to be stored for reuse by writing the
AES_IVRx registers as soon as the interrupted message has to be resumed (when AES is
disabled).
Note:
This does not break the chaining operation and the message processing can be resumed as
soon as the AES is enabled again to send the next 128-bit data block.
Note:
This behavior is valid whatever the AES configuration (encryption or decryption mode).
gives an example of a message 1 which is suspended in order to send a higher
priority message 2, shorter than message 1. At the end of the 128-bit block processing, AES
is disabled. The AES_IVR register is read back to store the value to be retrieved later on
when the message is resumed, in order not to break the chaining operation. Then, the AES
is configured to send message 2 and it is enabled to start processing. At the end of
message 2 processing, AES has to be disabled again and the AES_IVRx registers have to
be loaded with the value previously stored when the message 1 was interrupted. Then
software has to restart from the input value corresponding to block 4 as soon as AES is
enabled to resume message 1.