MCF548x Reference Manual, Rev. 3
22-92 Freescale Semiconductor
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.
Ciphertext is brought into the DEU/AESU input FIFO, with the MDEU in-snooping the portion of the data
it has been told to process. As the decryption continues, the plaintext fills the DEU/AEU output FIFO, and
this data is written back to system memory as needed. When the final byte of data to be HMAC’d has been
processed through the MDEU, the descriptor will cause the MDEU to write the HMAC to the indicated
area in system memory. Software will compare the most significant bytes of the HMAC generated by the
SEC with the HMAC which was received with the in-bound packet (the exact number of bytes compared
depend on the security protocol used). If the HMACs match, the integrity check passes.
Table 22-92 lists typical DEU/HMAC multi-function descriptor header values.
Table 22-91. Descriptor for Dynamic Multi-Function Decryption
Field Name Value/Type Description
Header Table 22-92 Header common to several descriptors (TYPE 0010)
LEN_1 HMAC Key Length Number of bytes in HMAC Key
PTR_1 HMAC Key Pointer Address of HMAC Key
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 Number of bytes in Key (8, 16, 24, or 32 bytes)
PTR_3 Key Pointer Address of Key
LEN_4 IV Length Number of bytes in IV (8, 24, or 56)
PTR_4 IV Pointer Address of IV
LEN_5 Data In Length Bytes of ciphertext to be decrypted
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 Number of bytes HMAC output (16, 20 or 32 bytes)
PTR_7 HMAC Out Pointer Address where hash output is to be written
PTR_NEXT Next Descriptor Pointer Pointer to next data packet descriptor
Table 22-92. Typical Header Values for Dynamic Multi-Function DEU Descriptors
Header Value E/C S/T E/D Algorithm HMAC Pad
0x20031D22 ECB Single DES Decrypt SHA256 Yes Yes
0x20031E22 ECB Single DES Decrypt MD5 Yes Yes
0x20031C22 ECB Single DES Decrypt SHA Yes Yes
0x20431D22 ECB Triple DES Decrypt SHA256 Yes Yes
0x20431E22 ECB Triple DES Decrypt MD5 Yes Yes
0x20431C22 ECB Triple DES Decrypt SHA Yes Yes