4 message digest execution unit (mdeu), Message digest execution unit (mdeu) -6 – Freescale Semiconductor MCF5480 User Manual
Page 608

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 1
byte 2
byte n-1
byte n
...
byte 1
byte 2
byte n-1
byte 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