Freescale Semiconductor MCF5480 User Manual
Page 700

MCF548x Reference Manual, Rev. 3
22-98
Freescale Semiconductor
shows the representative descriptor format for the middle descriptors in a statically assigned
multi-function operation descriptor chain. The middle 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 still not available, continue is set while initialize, HMAC, and
autopad 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 to expect
more data (continue on), the descriptor must not attempt to output the HMAC.
lists typical DEU/HMAC multi-function descriptor header values for the first descriptor.
Table 22-100. Middle Descriptor for Multi-Function Encryption/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
LEN_4
IV Length
NULL
PTR_4
IV Pointer
NULL
LEN_5
Data In Length
Bytes of input data
PTR_5
Data In Pointer
Address of ciphertext to be decrypted
LEN_6
Data Out Length
Bytes of output data (should be equal to length of data in)
PTR_6
Data Out Pointer
Address where output data is to be written
LEN_7
HMAC Out Length
NULL
PTR_7
HMAC Out Pointer
NULL
PTR_NEXT
Next Descriptor Pointer Pointer to next data packet descriptor
Table 22-101. Typical Header Values for Middle Static Multi-Function DEU Descriptors
Header Value
E/C
S/T
E/D
Algorithm
HMAC
Pad
0x20038122
ECB
Single DES
Decrypt
SHA256
No
No
0x20138120
ECB
Single DES
Encrypt
SHA256
No
No
0x20038222
ECB
Single DES
Decrypt
MD5
No
No