1083
11028E–ATARM–22-Apr-13
SAM9G46
45. Advanced Encryption Standard (AES)
45.1
Description
The Advanced Encryption Standard (AES) is compliant with the American FIPS (Federal Infor-
mation Processing Standard) Publication 197 specification.
The AES supports all five confidentiality modes of operation for symmetrical key block cipher
algorithms (ECB, CBC, OFB, CFB and CTR), as specified in the NIST Special Publication 800-
38A Recommendation. It is compatible with all these modes via Peripheral DMA Controller chan-
nels, minimizing processor intervention for large buffer transfers.
The 128-bit/192-bit/256-bit key is stored in four/six/eight 32-bit registers (AES_KEYWRx) which
are all write-only.
The 128-bit input data and initialization vector (for some modes) are each stored in four 32-bit
registers (AES_IDATARx and AES_IVRx) which are all write-only.
As soon as the initialization vector, the input data and the key are configured, the encryp-
tion/decryption process may be started. Then the encrypted/decrypted data is ready to be read
out on the four 32-bit output data registers (AES_ODATARx) or through the DMA channels.
45.2
Embedded Characteristics
Compliant with FIPS Publication 197, Advanced Encryption Standard (AES)
256-bit Cryptographic Key
16 Clock Cycles Encryption/Decryption Processing Time with a 256-bit Cryptographic Key
Support of the Five Standard Modes of Operation Specified in the NIST Special Publication
800- 38A, Recommendation for Block Cipher Modes of Operation - Methods and Techniques:
– Electronic Code Book (ECB)
– Cipher Block Chaining (CBC)
– Cipher Feedback (CFB)
– Output Feedback (OFB)
– Counter (CTR)
8-, 16-, 32-, 64- and 128-bit Data Sizes Possible in CFB Mode
Last Output Data Mode Allows Optimized Message Authentication Code (MAC) Generation
Hardware Countermeasures
Connected to the DMA Controller to Optimize Data Transfers for all Operating Modes
– One Channel for the Receiver, One Channel for the Transmitter
– Next Buffer Support
45.3
Product Dependencies
45.3.1
Power Management
The AES may be clocked through the Power Management Controller (PMC), so the programmer
must first to configure the PMC to enable the AES clock.
45.3.2
Interrupt
The AES interface has an interrupt line connected to the Interrupt Controller.