AES Module Programming Guide
675
SLAU723A – October 2017 – Revised October 2018
Copyright © 2017–2018, Texas Instruments Incorporated
Advance Encryption Standard Accelerator (AES)
4. Load the AES Initialization Vector Input n (AES_IV_IN_n) registers at offset 0x040 to 0x04C.
9.4.1.2.3 Subsequence: Initialize CBC-MAC AES Core Mode
To initialize CBC-MAC Mode:
1. Enable CBC-MAC Mode by setting the CBCMAC bit in the AES_CTRL register.
2. Select encryption mode by setting the DIRECTION bit in the AES_CTRL register at offset 0x050
3. Load the AES Initialization Vector Input n (AES_IV_IN_n) registers at offset 0x040 to 0x04C.
9.4.1.2.4 Subsequence: Initialize F9 AES Core Mode
The steps for configuring the AES for F9 mode is as follows:
1. Enable F9 Mode by setting the F9 bit in the AES_CTRL register.
2. Set the key size to 128 bits by programming the KEY_SIZE field to 0x1 in the AES_CTRL register.
3. Load the AES Initialization Vector Input n (AES_IV_IN_n) registers at offset 0x040 to 0x04C.
9.4.1.2.5 Subsequence: Initialize F8 AES Core Mode
The steps for configuring the AES for F8 mode is as follows:
1. Enable F8 Mode by setting the F8 bit in the AES_CTRL register.
2. Select the counter width by programming the CTR_WIDTH field in the AES_CTRL register.
3. Set the key size to 128 bits by setting the KEY_SIZE field to 0x1 in the AES_CTRL register.
4. Load the AES Initialization Vector Input n (AES_IV_IN_n) registers at offset 0x040 to 0x04C.
9.4.1.2.6 Subsequence: Initialize XTS AES Core Mode
The steps for XTS mode configuration are as follows:
1. Enable XTS Mode by configuring the XTS field in the AES_CTRL register.
2. If the XTS field in the AES_CTRL register indicates that the AAD length is required, load the AAD
length in the AES_AUTH_LENGTH register.
3. Load the AES Initialization Vector Input n (AES_IV_IN_n) registers at offset 0x040 to 0x04C.
9.4.1.2.7 Subsequence: Initialize CFB AES Core Mode
To initialize the AES code for CFB mode:
1. Enable CFB Mode by setting the CFB bit in the AES_CTRL register.
2. Load the AES Initialization Vector Input n (AES_IV_IN_n) registers at offset 0x040 to 0x04C.
9.4.1.2.8 Subsequence: Initialize ICM AES Core Mode
To initialize the AES code for ICM mode:
1. Enable ICM Mode by setting the ICM bit in the AES_CTRL register.
2. Configure for a 16-bit counter by programming the CTR_WIDTH to 0x0 in the AES_CTRL register.
3. Load the AES Initialization Vector Input n (AES_IV_IN_n) registers at offset 0x040 to 0x04C.
9.4.1.2.9 Subsequence: Initialize CTR AES Core Mode
To initialize CTR mode:
1. Enable CTR Mode by setting the CTR bit in the AES_CTRL register.
2. Select counter width by programming the CTR_WIDTH in the AES_CTRL register.
3. Load the AES Initialization Vector Input n (AES_IV_IN_n) registers at offset 0x040 to 0x04C.