EU Specific Data Packet Descriptors
MCF548x Reference Manual, Rev. 3
Freescale Semiconductor 22-73

22.14.2.1 Dynamically Assigned DEU

For IPSec processing, it is envisioned that the SEC will need to process small packets of data associated

with many different contexts. This descriptor type is designed to optimize system throughput in a case

where the DEU module is dynamically assigned by the controller to whichever crypto-channel requests it.

Table 22-57 shows a descriptor that loads a key and context (IV) into the DEU, performs the cipher on

data, and writes the result and optional context (IV) to memory.

Table 22-58 lists several different descriptors that use the format shown in Table 22-57.

Table 22-57. Descriptor for a Dynamically Assigned DEU

Field Name Value/Type Description
Header Table 22-58 Header common to several descriptors (TYPE 0001)
LEN_1 Length (not used) NULL
PTR_1 Pointer (not used) NULL
LEN_2 IV Length Number of bytes of IV to be written (always 8) (not used in
ECB mode)
PTR_2 IV Pointer Pointer to context to be written into DEU (not used in ECB
mode)
LEN_3 Key Length Number of bytes in Key (8 for SDES; 16 or 24 or TDES)
PTR_3 Key Pointer Address of Key
LEN_4 Data In Length Number of bytes of data to be ciphered (multiple of 8)
PTR_4 Data In Pointer Address of data to be ciphered
LEN_5 Data Out Length Bytes of output data (should be equal to length of data in)
PTR_5 Data Out Pointer Address to write output data
LEN_6 IV Out Length Number of bytes of output IV to be written (always 8)
(optional)
PTR_6 IV Out Pointer Address where output IV is to be written (optional)
LEN_7 MAC Out Length NULL
PTR_7 MAC Out Pointer NULL
PTR_NEXT Next Descriptor Pointer Pointer to next data packet descriptor

Table 22-58. Typical Header Values for Dynamic DEU Descriptor Format

Header Value E/C S/T E/D
0x20500010 CBC Single DES Encrypt
0x20400010 CBC Single DES Decrypt
0x20700010 CBC Triple DES Encrypt
0x20600010 CBC Triple DES Decrypt
0x20100010 ECB Single DES Encrypt
0x20000010 ECB Single DES Decrypt