The more popular and widely adopted symmetric encryption algorithm likely to be encountered nowadays is the Advanced Encryption Standard (AES). It is found at least six times faster than triple DES.
A replacement for DES was needed as its key size too small. With increasing computing power, it considered vulnerable to exhaustive key search attack. Triple DES designed to overcome this drawback but it found slow.
The features of AES are as follows
- Symmetric key symmetric block cipher.
- 128-bit data, 128/192/256-bit keys.
- Stronger and faster than Triple DES.
- Provide full specification and design details.
- Software implementable in C and JAVA.
Equivalent Inverse Cipher: AES Implementation
- While implementing AES if we interchange the order of operation than it will affect the result or not discussed here.
- If we interchange inverse shift row and inverse substitute byte operation than it will not affect and we get the same output.
- So we can obtain two equivalent decryption algorithms for one encryption algorithm.
- As inverse shift row will change the position of byte and it will not affect byte value. While inverse substitute byte will change byte value by table lookup and it not concerns with byte position. So we can interchange those two operations.
- If we interchange inverse mix column and add round key operation than it will affect and we do not get the same output.
- Both the operation will affect the value and so it cannot interchange.
Implementation Aspects: AES Implementation
- As in AES out of four three operations byte level operation and it can efficiently implement on 8bit processors.
- Only mix column operation is requiring matrix multiplication which requires some storage space and also time to consume on the 8-bit processor.
- To overcome it we can use the table lookup to reduce time requirement.
- Also, we can implement it on 32-bit processors.
- In 32-bit processor, we can use the word by word operation and it much faster.