MCF548x Reference Manual, Rev. 3
22-6 Freescale Semiconductor
Figure 22-4. RC4 Encryption Process

22.4.4.3 Advanced Encryption Standard Execution Unit (AESU)

The AESU is used to accelerate bulk data encryption/decryption in compliance with the advanced
encryption standard algorithm (AESA) Rinjdael. The AESU executes on 128 bit blocks with a choice of
key sizes: 128, 192, or 256 bits.
AESU is a symmetric key algorithm, the sender and receiver use the same key for both encryption and
decryption. The session key and initialization vector (CBC mode) are supplied to the AESU module prior
to encryption. The processor supplies data to the module that is processed as 128-bit input. The AESU
engine performs a fixed number of rounds for encryption or decryption depending on the key size.
AESU operates in ECB, CBC, OCB, and CTR modes.
Figure 22-5. AES Encryption Process

22.4.4.4 Message Digest Execution Unit (MDEU)

The MDEU computes a single message digest (or hash or integrity check) value of all the data presented
on the input bus, using either the MD5, SHA-1, or SHA-256 algorithms for bulk data hashing.
The MD5 generates a 128-bit hash, and the algorithm is specified in RFC 1321.
SHA-1 is a 160-bit hash function, specified by the ANSI X9.30-2 and FIPS 180-1 standards.
SHA-256 is a 256-bit hash function that provides 256 bits of security against collision attacks.
Table 22-1. AESA Rounds as a Function of Key Size
Key Size Rounds Cycles
(after initial key expansion)
128 10 11
192 12 13
256 14 15
...
RC4
n-bit key
byte 1byte 2byte n-1byte n ... byte 1byte 2byte n-1byte n
Plaintext stream Ciphertext stream
...
AES
128–256-bit key
128-bit
block 1
128-bit
block 2
128-bit
block n-1
128-bit
block n
... 128-bit
block 1
128-bit
block 2
128-bit
block n-1
128-bit
block n
Plaintext blocks Ciphertext blocks