3 static multi-function descriptor formats, Static multi-function descriptor formats -95 – Freescale Semiconductor MCF5480 User Manual
Page 697

EU Specific Data Packet Descriptors
MCF548x Reference Manual, Rev. 3
Freescale Semiconductor
22-95
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
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.
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