1068
6437E–ATARM–23-Apr-13
SAM9M11
Handling the AES interrupt requires programming the Interrupt Controller before configuring the
AES.
44.4
Functional Description
The Advanced Encryption Standard (AES) specifies a FIPS-approved cryptographic algorithm
that can be used to protect electronic data. The AES algorithm is a symmetric block cipher that
can encrypt (encipher) and decrypt (decipher) information.
Encryption converts data to an unintelligible form called ciphertext. Decrypting the ciphertext
converts the data back into its original form, called plaintext. The CIPHER bit in the AES Mode
Register (AES_MR) allows selection between the encryption and the decryption processes.
The AES is capable of using cryptographic keys of 128/192/256 bits to encrypt and decrypt data
in blocks of 128 bits. This 128-bit/192-bit/256-bit key is defined in the Key Registers
(AES_KEYWRx).
The input to the encryption processes of the CBC, CFB, and OFB modes includes, in addition to
the plaintext, a 128-bit data block called the initialization vector (IV), which must be set in the Ini-
tialization Vector Registers (AES_IVRx). The initialization vector is used in an initial step in the
encryption of a message and in the corresponding decryption of the message. The Initialization
Vector Registers are also used by the CTR mode to set the counter value.
44.4.1
Operation Modes
The AES supports the following modes of operation:
ECB: Electronic Code Book
CBC: Cipher Block Chaining
OFB: Output Feedback
CFB: Cipher Feedback
– CFB8 (CFB where the length of the data segment is 8 bits)
– CFB16 (CFB where the length of the data segment is 16 bits)
– CFB32 (CFB where the length of the data segment is 32 bits)
– CFB64 (CFB where the length of the data segment is 64 bits)
– CFB128 (CFB where the length of the data segment is 128 bits)
CTR: Counter
The data pre-processing, post-processing and data chaining for the concerned modes are auto-
matically performed. Refer to the NIST Special Publication 800-38A Recommendation for more
complete information.
These modes are selected by setting the OPMOD field in the AES Mode Register (AES_MR).
In CFB mode, five data sizes are possible (8, 16, 32, 64 or 128 bits), configurable by means of
In CTR mode, the size of the block counter embedded in the module is 16 bits. Therefore, there
is a rollover after processing 1 megabyte of data.
Table 44-1.
Peripheral IDs
Instance
ID
AES
28