AES | Advanced Encryption Standard
Advanced Encryption Standard
The AES algorithm is a symmetric block cipher that can encrypt (encipher) and decrypt (decipher) information ensuring the secure transfer of data.
TERMINOLOGY
AES CM – Advanced Encryption Standard counter mode
AES-f8 – AES in f8-mode, Universal Mobile Telecommunications System (UMTS) 3G mobile networks use AES-f8.
AES CBC – Advanced Encryption Standard Cipher-block chaining
Platforms
Availability
| Platforms |
| Arm ® Devices – Armv7-A | Armv8-A | Armv9-A || Legacy Arm9E / Arm11 |
| Texas Instruments – TI TMS320C7000 C7x, TMS320C6000 C64x/C64x+/C66x, TMS320C5000 C55x |
| MIPS32® 24KE™ |
Features
- Encryption Algorithm Types: AES – CM, AES – F8, AES – CBC
- Encrypt (encipher) and Decrypt (decipher)
- Converts data to ciphertext; decrypting the ciphertext converts the data back into its original form, called plaintext
- Functions are C-callable.
- Multi–Channel Implementation.
Description
Advanced Encryption Standard (AES) is a United States government standard algorithm for encrypting and decrypting data.
The Adaptive Digital Technologies AES Encryption and Decryption encrypts and decrypts character data according to the FIPs – 197 AES Standard.
The Advanced Encryption Standard 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.
Each AES cipher has a 128-bit block size, with key sizes of 128, 192 and 256 bits, respectively. The AES ciphers have been analyzed extensively and are now used worldwide. AES is one of the most popular algorithms used in symmetric key cryptography.
Specification Tables
NOTE: We specify MIPS (Millions of Instructions Per Second) as MCPS (Millions of Instruction Cycles Per Second). Unless otherwise specified, peak MIPS are indicated.
↓ Click on links below to view specification tables.
ARM Devices
Note: All CPU usage given in MIPS (also known as MCPS or MHz)
AES Cortex – A8/A9/A15
CYCLE COUNT| Key Length | Encryption | Decryption |
| 128 bits | 5000 | 6000 |
| 192 bits | 6000 | 7000 |
| 256 bits | 7000 | 7000 |
All Memory usage is given in units of byte
| Function | Program Memory | Tables | Channel Memory |
| Encryption / Decryption | 6064 | 2104 | 488 |
| 488 |
AES ARM9e / ARM11
CPU Utilization| Key Length | Encryption MIPS* | Decryption MIPS* |
| 128 bit KeyLength | 5000 | 6000 |
| 192 bit KeyLength | 6000 | 6000 |
| 256 bit KeyLength | 7000 | 7000 |
All Memory usage is given in units of byte
| Function | Program Memory | Tables | Channel Memory |
| Encryption / Decryption | 9584 | 2104 | 488 |
| 488 |
TI Processors
TI TMS320C6000
Note: All CPU usage given in MIPS (also known as MCPS or MHz)
AES C64x / C64x+ / C66x
CYCLE COUNT| Key Length | Encryption | Decryption |
| 128 bits | 2600 | 2500 |
| 192 bits | 3100 | 3000 |
| 256 bits | 3600 | 3500 |
| Key Length | Encryption MIPS* | Decryption MIPS* |
| 128 bit KeyLength | 0.17 | 0.16 |
| 192 bit KeyLength | 0.20 | 0.19 |
| 256 bit KeyLength | 0.23 | 0.22 |
All Memory usage is given in units of byte
| Function | Program Memory | Tables | Channel Memory |
| Encryption / Decryption | 5064 | 2104 | 488 |
| 488 |
TI TMS320C5000
AES C55x
CYCLE COUNT| Key Length | Encryption | Decryption |
| 128 bits | 7562 | 9091 |
| 192 bits | 9052 | 11221 |
| 256 bits | 10618 | 13072 |
| Key Length | Encryption MIPS* | Decryption MIPS* |
| 128 bit KeyLength | 0.48 | 0.62 |
| 192 bit KeyLength | 0.57 | 0.70 |
| 256 bit KeyLength | 0.67 | 0.82 |
All Memory usage is given in units of byte
| Function | Program Memory | Tables | Channel Memory |
| Encryption / Decryption | 1468 | 4196 | 968 |
| 968 |
TI MSP430 Ultra-Low-Power MCU
MEMORY REQUIREMENTSAll Memory usage is given in units of byte
| Function | Program Memory | Tables | Channel Memory |
| Encryption / Decryption | 2044 | 2078 | 488 |
| 488 |
API Functions
API function call summary
AES_ADT_ChanInst_t ChannelEncrypt; // Allocate Encryption channel space
AES_ADT_ChanInst_t ChannelDecrypt; // Allocate Decryption channel space