The AES accelerator module performs encryption and decryption of 128-bit data blocks with a 128-bit key in hardware according to the Advanced Encryption Standard (AES). AES is a symmetric-key block cipher algorithm specified in FIPS PUB 197. Encryption converts data to an unintelligible form called ciphertext. Decryption converts the ciphertext back into the original form called plaintext.
Features
- AES supports AES-128 block cipher encryption
- AES supports the following cipher modes for encryption: ECB, CBC-MAC, CBC, CTR, CFB, OFB, PCBC
- CCM can also be accelerated by software configuring CBC-MAC and CTR modes accordingly
- Decryption of cipher modes is supported, except for ECB, CBC, and PCBC
- The module supports AES CTR-DRBG acceleration
- Data can be routed to and from the module through the CPU and µDMA
- µDMA interface includes 2 channels to enable parallel execution of writing and reading data
- µDMA is capable of feeding the module in all listed cipher modes.
- Capable of completing 256 B CCM using the AES module within 60 µs
- AES implements hardware features to minimize bus traffic and disturbances to running code
- AES key is stored within AES module, avoiding need to reload the key for every encryption operation.
- Implements hardware acceleration and configurable increment option for AES-CTR modes
- Supports writing next block of plaintext during ongoing encryption, which enables parallel processing