EU Specific Data Packet Descriptors
MCF548x Reference Manual, Rev. 3
Freescale Semiconductor 22-105
The primary EU is the AFEU, with its mode bits set to cause the AFEU to load the key and initialize the
AFEU S-box for data permutation. The descriptor does not designate a secondary EU, so the setting of the
snoop type bit is ignored.
At the conclusion of inbound TLS descriptor 1, the AFEU has decrypted the TLS record so that the payload
and HMAC are readable. The negotiation of the TLS session should provide the receiver with enough
information about the session parameters (hash algorithm for HMAC, whether padding is in use) to create
inbound descriptor 2 along with descriptor 1. If so, the next descriptor pointer field should point to
descriptor 2.
Alternatively, the SEC could signal DONE at the conclusion of inbound descriptor 1 to allow the host to
inspect the decrypted record, and generate the descriptor necessary to validate the HMAC. If this is the
case, inbound descriptor 2 does not need to be linked to inbound descriptor 1, and could even be processed
by a different crypto-channel.
The second descriptor, shown in Table 22-110, performs the HMAC of the record header and the record
payload. The primary EU is the MDEU, with its mode bits set to cause the MDEU to initialize its context
registers, perform auto-padding if the data size is not evenly divisible by 512 bits, and calculate an HMAC.
The descriptor header does not designate a secondary EU, so the setting of the snoop type bit is ignored.
Table 22-109. Inbound TLS Descriptor One Format
Field Name Value/Type Description
Header 0x10000050 Perform permute (TYPE 0101)
LEN_1 Length (not used) NULL
PTR_1 Pointer (not used) NULL
LEN_2 IV Length NULL
PTR_2 IV Pointer NULL
LEN_3 Key Length Number of bytes in key (5–16 bytes)
PTR_3 Key Pointer Address of key to be written into AFEU
LEN_4 Data In Length Number of bytes of data to be ciphered
PTR_4 Data In Pointer Pointer to data to perform cipher upon
LEN_5 Data Out Length Number of bytes of data after ciphering
PTR_5 Data Out Pointer Pointer to location where cipher output is to be written
LEN_6 IV Out Length NULL
PTR_6 IV Out Pointer NULL
LEN_7 MD Out Length NULL
PTR_7 MD Out Pointer NULL
PTR_NEXT Next Descriptor Pointer NULL or Pointer to unrelated next descriptor
Table 22-110. Inbound TLS Descriptor Two Format
Field Name Value/Type Description
Header see Table 22-111 Header common to several descriptors (TYPE 0001)
LEN_1 Length (not used) NULL