Freescale Semiconductor MCF5480 User Manual
Page 702

MCF548x Reference Manual, Rev. 3
22-100
Freescale Semiconductor
shows the representative descriptor format for the final descriptor in a statically assigned
multi-function operation descriptor chain. The final descriptor header encodes to select the DEU or AESU
as the primary EU, and the MDEU for the secondary EU. Because the final data necessary to calculate the
HMAC is now present, the HMAC and autopad bits are set, while continue and initialize are cleared in the
SMODE field.
The descriptor header also encodes the descriptor type 0010, which defines the input and output ordering
for “hmac_snoop_no_afeu.” The HMAC key, DEU/AESU key, and context are already loaded, and do not
need to be reloaded. The length and pointer to the data over which the initial hash will be calculated must
be provided for this descriptor.
Input data is brought into the DEU/AESU input FIFO, with the MDEU snooping the portion of the data it
has been told to process. As the decryption/encryption continues, the output data fills the DEU/AEU
output FIFO, and this data is written back to system memory as needed. Because it has been told it has the
final data for HMAC calculation (HMAC on, continue off), the descriptor provides the length and pointer
for the HMAC output. Depending on whether the packet is inbound or outbound, the host will either insert
the most significant bytesof the HMAC generated by the SEC into the packet header (outbound) or
compare the HMAC generated by the SEC with the HMAC which was received with the packet (inbound).
If the HMACs match, the packet integrity check passes.
0x60A38222
CBC
Decrypt
MD5
No
No
0x60B38220
CBC
Encrypt
MD5
No
No
0x60A38022
CBC
Decrypt
SHA
No
No
0x60B38020
CBC
Encrypt
SHA
No
No
0x60E38122
CTR
Decrypt
SHA256
No
No
0x60E38120
CTR
Encrypt
SHA256
No
No
0x60E38222
CTR
Decrypt
MD5
No
No
0x60E38220
CTR
Encrypt
MD5
No
No
0x60E38022
CTR
Decrypt
SHA
No
No
0x60E38020
CTR
Encrypt
SHA
No
No
Table 22-103. Final Descriptor for Multi-Function Encrytion/Decryption
Field Name
Value/Type
Description
Header
Header common to several descriptors (TYPE 0010)
LEN_1
HMAC Key Length
NULL
PTR_1
HMAC Key Pointer
NULL
LEN_2
HMAC Data Length
Number of bytes to be HMAC’d
PTR_2
HMAC Data Pointer
Address of data to be HMAC’d
LEN_3
Key Length
NULL
PTR_3
Key Pointer
NULL
Table 22-102. Typical Header Values for Middle Static Multi-Function AESU Descriptors (Continued)
Header Value
Mode
E/D
Algorithm
HMAC
Pad