EU Specific Data Packet Descriptors
MCF548x Reference Manual, Rev. 3
Freescale Semiconductor 22-95
Table 22-96 lists typical AESU/HMAC multi-function descriptor header values.

22.14.6.3 Static Multi-Function Descriptor Formats

This example is designed to contrast the dynamic descriptors shown in Section 22.14.6.2, “Dynamic
Multi-Function Descriptor Formats.” For whatever reason, the data to be decrypted/encrypted and
authenticated is not available in a single contiguous block, or the total data size is larger than 32 Kbytes.
The user must statically assign a DEU/AESU and MDEU to a channel before launching this descriptor
chain.
Table 22-97 shows the representative descriptor format for the first descriptor in a statically assigned
multi-function operation descriptor chain. The first descriptor header encodes to select the DEU or AESU
as the primary EU, and the MDEU for the secondary EU. Because all the data necessary to calculate the
HMAC in a single dynamic descriptor is not available, initialize and continue are set and the autopad bit
is 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 is loaded first, followed by the length and pointer to the data
over which the initial HMAC will be calculated. The DEU/AESU key is loaded next, followed by the
context (IV). The number of bytes to be ciphered and starting address will be an offset of the number of
bytes being HMAC’d. The data to be decrypted and HMAC’d is only brought in the SEC a single time,
with the DEU/AESU and MDEU only reading the portion that matches the starting address and byte length
in the length/pointer fields corresponding to their data of interest.
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 to expect
more data (continue on), the descriptor must not attempt to output the HMAC.
0x20731E20 CBC Triple DES Encrypt MD5 Yes Yes
0x20731C20 CBC Triple DES Encrypt SHA Yes Yes
Table 22-96. Typical Header Values for Dynamic Multi-Function AESU Descriptors
Header Value Mode E/D Algorithm HMAC Pad
0x60931D20 ECB Encrypt SHA256 Yes Yes
0x60931E20 ECB Encrypt MD5 Yes Yes
0x60931C20 ECB Encrypt SHA Yes Yes
0x60B31D20 CBC Encrypt SHA256 Yes Yes
0x60B31E20 CBC Encrypt MD5 Yes Yes
0x60B31C20 CBC Encrypt SHA Yes Yes
0x60E31D20 CTR SHA256 Yes Yes
0x60E31E20 CTR MD5 Yes Yes
0x60E31C20 CTR SHA Yes Yes
Table 22-95. Typical Header Values for Dynamic Multi-Function DEU Descriptors (Continued)
Header Value E/C S/T E/D Algorithm HMAC Pad