DocID018909 Rev 11
719/1731
RM0090
Cryptographic processor (CRYP)
757
Figure 221. DES/TDES-CBC mode decryption
1. K: key; C: cipher text; I: input block; O: output block; Ps: plain text before swapping (when decoding) or
after swapping (when encoding); P: plain text; IV: initialization vectors.
23.3.2 AES
cryptographic
core
The AES cryptographic core consists of three components:
•
The AES algorithm (AEA: advanced encryption algorithm)
•
Multiple keys
•
Initialization vector(s) or Nonce
The AES utilizes keys of 3 possible lengths: 128, 192 or 256 bits and, depending on the
operation mode used, zero or one 128-bit initialization vector (IV).
The basic processing involved in the AES is as follows: an input block of 128 bits is read
from the input FIFO and sent to the AEA to be encrypted using the key (K0...3). The key
format depends on the key size:
•
If Key size = 128: Key = [K3 K2]
•
If Key size = 192: Key = [K3 K2 K1]
•
If Key size = 256: Key = [K3 K2 K1 K0]
where Kx=[KxR KxL],R=right, L=left
According to the mode implemented, the resultant output block is used to calculate the
ciphertext.
FIPS PUB 197 (November 26, 2001) provides a thorough explanation of the processing
involved in the four operation modes supplied by the AES core: AES-ECB encryption, AES-
).&)&/
)BITS
/54&)&/
0SBITS
CIPHERTEXT#
PLAINTEXT0
0BITS
SWAPPING
$%!DECRYPT
+
$%!ENCRYPT
+
$%!DECRYPT
+
)6,2
!("DATAWRITE
BEFORE#290
ISENABLED
/BITS
)ISWRITTENBACK
INTO)6ATTHE
SAMETIMEAS0
ISPUSHEDINTO
THE/54&)&/
#BITS
SWAPPING
$!4!490%
$!4!490%
-36