31 |
CTXTRDY |
R |
0x1 |
Context Data Registers Ready
0x0 = The context data registers are not ready to be overwritten.
0x1 = The context data registers can be overwritten and the host is permitted to write the next context.
|
30 |
SVCTXTRDY |
R |
0x0 |
AES TAG/IV Blocks Ready.
This bit is only asserted if the SAVE_CONTEXT bit is set to 1.
This bit is mutual exclusive with the CTXTRDY bit.
0x0 = AES authentication TAG and/or IV block(s) is/are not available.
0x1 = Indicates the AES authentication TAG and /or IV block(s) is/are available for the host to retrieve.
|
29 |
SAVE_CONTEXT |
R/W |
0x0 |
TAG or Result IV Save.
If this bit is set, the CONTEXT_OUT interrupt bit is set in the AES_IRQSTATUS register if the operation is finished and related signals are enabled.
0x0 = No effect.
0x1 = Indicates an authentication TAG of result IV needs to be stored as a result context.
|
28-25 |
RESERVED |
R |
0x0 |
|
24-22 |
CCM_M |
R/W |
0x0 |
Counter with CBC-MAC (CCM).
Defines M which indicates the length of the authentication field for CCM operations the authentication field length equals two times the sum of CCM-M plus one.
The AES Engine always returns a 128-bit authentication field, of which the M least significant bytes are valid.
All values are supported. |
21-19 |
CCM_L |
R/W |
0x0 |
L Value.
Defines L, which indicates the width of the length field for CCM operations the length field in bytes equals the value of CMM-L plus one.
Supported values for L are:
0x0 = reserved
0x1 = width = 2
0x2 = reserved
0x3 = width = 4
0x7 = width = 8
|
18 |
CCM |
R/W |
0x0 |
AES-CCM Mode Enable
0x0 = AES-CCM mode is not enabled.
0x1 = AES-CCM mode enabled. This is a combined mode, using AES for both authentication and encryption. No additional mode selection is required.
|
17-16 |
GCM |
R/W |
0x0 |
AES-GCM Mode Enable.
This is a combined mode, using the Galois field-multiplier GF(2128) for authentication and AES-CTR mode for encryption the bits specify the GCM mode.
0x0 = No operation
0x1 = GHASH with H loaded and Y0-encrypted forced to zero
0x2 = GHASH with H loaded and Y0-encrypted calculated internally
0x3 = Autonomous GHASH (both H and Y0-encrypted calculated internally)
|
15 |
CBCMAC |
R/W |
0x0 |
AES-CBC MAC Enable.
The DIRECTION bit must be set to 1 for this mode.
0x0 = AES-CBC MAC mode is not enabled.
0x1 = AES-CBC MAC mode enabled.
|
14 |
F9 |
R/W |
0x0 |
AES f9 Mode Enable.
The AES key size must be set to
128-bit for this mode.
0x0 = f9 mode is not enabled
0x1 = f9 mode is enabled.
|
13 |
F8 |
R/W |
0x0 |
AES f8 Mode Enable.
The KEY_SIZE must be set to
128-bit for this mode.
0x0 = AES f8 mode is not enabled.
0x1 = AES f8 mode is enabled.
|
12-11 |
XTS |
R/W |
0x0 |
AES-XTS Operation Enabled.
The bits specify the XTS mode.
0x0 = No operation
0x1 = Previous/intermediate tweak value and j loaded (value is loaded via IV, j is loaded via the AAD length register)
0x2 = Key2, n and j are loaded (n is loaded via IV, j is loaded via the AAD length register)
0x3 = Key2 and n are loaded; j=0 (n is loaded via IV)
|
10 |
CFB |
R/W |
0x0 |
Full block AES cipher feedback mode (CFB128) Enable
0x0 = AES-CFB mode is not enabled.
0x1 = AES-CFB mode is enabled.
|
9 |
ICM |
R/W |
0x0 |
AES Integer Counter Mode (ICM) Enable.
This is a counter mode with a 16-bit wide counter.
0x0 = AES-ICM mode is not enabled.
0x1 = AES-ICM mode is enabled.
|
8-7 |
CTR_WIDTH |
R/W |
0x0 |
AES-CTR Mode Counter Width
0x0 = Counter is 32 bits
0x1 = Counter is 64 bits
0x2 = Counter is 96 bits
0x3 = Counter is 128 bits
|
6 |
CTR |
R/W |
0x0 |
Counter Mode.
This bit must also be set for GCM and CCM mode, when encryption/decryption is required.
0x0 = Counter mode is not enabled.
0x1 = Counter mode is enabled.
|
5 |
MODE |
R/W |
0x0 |
ECB/CBC Mode
0x0 = ECB mode
0x1 = CBC mode
|
4-3 |
KEY_SIZE |
R/W |
0x0 |
Key Size
0x0 = reserved
0x1 = Key is 128 bits
0x2 = Key is 192 bits
0x3 = Key is 256 bits
|
2 |
DIRECTION |
R/W |
0x0 |
Encryption/Decryption Selection.
If set to DIRECTION = 1, an encrypt operation is performed.
If set to 0, a decrypt operation is performed.
0x0 = Decryption is selected.
0x1 = Encryption is selected.
|
1 |
INPUT_READY |
R |
0x0 |
Input Ready Status
0x0 = Input buffer is not empty.
0x1 = Indicates that the 16-byte input buffer is empty, and the host is permitted to write the next block of data.
|
0 |
OUTPUT_READY |
R |
0x0 |
Output Ready Status
0x0 = No AES output block is available.
0x1 = An AES output block is available for the host to retrieve.
|