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
- The AES supports AES-128 block cipher encryption.
- The AES supports the following cipher modes for encryption: ECB, CBC-MAC, CBC, CTR, CFB, OFB, and PCBC.
- CCM can also be accelerated by the software configuring CBC-MAC and CTR modes accordingly.
- Cipher mode decryption 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 CPU and µDMA.
- The µDMA interface includes two 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.
- Completes a single AES-128 ECB encryption within 23 CLKSVT clock cycles (approximately 50μs).
- The AES implements hardware features to minimize bus traffic and disturbances to running code.
- The AES key is stored within the AES module, avoiding the need to reload the key for every encryption operation.
- Implements hardware acceleration and configurable increment option for AES-CTR modes
- Supports writing the next block of plaintext during ongoing encryption, which enables parallel processing