Freescale Semiconductor MCF5480 User Manual

Page 700

Advertising
background image

MCF548x Reference Manual, Rev. 3

22-98

Freescale Semiconductor

Table 22-100

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.

Table 22-98

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

Table 22-101

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

Advertising
This manual is related to the following products: