46.5.3.1.4 Plain text processing with DMAC
Follow these steps for processing plain text with DMAC:
- Set CTRLB.NEWMSG for the new set of plain text processing.
- Load the CIPLEN register.
- Load (J0+1) in the INTVECT register.
- Load plain text in the INDATA register.
- Wait for INTFLAG.ENCCMP to be set.
- AES Hardware generates output in the INDATA register.
- Intermediate GHASH is stored in the GHASH register and ciphertext available in the INDATA register.
- Continue Step 3 to 5 till the input of plain text to get the ciphertext and the HashKeys.
- At the last input, set CTRLB.EOM.
- Write last in-data to the INDATA register.
- Wait for INTFLAG.ENCCMP to be set.
- AES Hardware generates output in the INDATA register and the final HashKey in the GHASH register.
- Load [LEN(A)]64||[LEN(C)]64 in the INDATA register and set CTRLB.GFMUL and CTRLB.START as ‘1’.
- Wait for INTFLAG.GFMCMP to be set.
- AES hardware generates the final GHASH value in the GHASH register.
