EMBEDDED AES(ADVANCED ENCRYPTION STANDARD)
INTRODUCTION:
- In the modern world that we are living in, security plays a crucial role.
- Usually this technology was used to protect classified files and military applications.
- Many different types of algorithm are used for protection purposes.
Fig 1. ENCRYPTION AND DECRYPTION PROCESS
PROCEDURE:
- CIPHERING:
- The plain text to be data protected by AES is ciphered using a common key at the transmitter side.
- DECRYPTION:
- Then when the receiver wants to decode the encoded text he deciphers it by using the same key as the cipher.
STEPS INVOLVED IN AES:
- Add round key
- Substitute bytes
- Shift rows
- Mix columns
- All these transitions work on a matrix called state.
- AES works on byte elements using input data of 128 bits.
- The Key expansion expands the key in order to supply it for all the iterations.
- The amount of times a particular state is being iterated in a loop depends on the chosen key length.
- For eg:-
If the Nb(no of states)=128 implies 4 32 – bit key words.
- The transformations SB , SR and AR are applied after the loop but prior to the ciphering of text.
- Within AES algorithm, the parameter Nb(= 4) refers to the number of rows of state.
- Within the AES cipher (or encryption) process, the AR transformation is applied before the start of the loop. The transformations within the AES cipher loop are SB, SR, MC and AR.
- As the AES algorithm works on byte elements, we form the AES State of 4×4 bytes size by filling the 4×4 matrix column using the data input of 128 bits. The key expansion module (KE) expands the input Nk words to (Nr+1)*Nb words.
- Within Add Round key transformation(AR) , we add 16 bytes (or 4 words) of the expanded key to the 16 bytes of AES State whenever AR is called.
- Within Substitute Bytes (SB) transformation, we replace each byte of AES State within substitute byte look-up table S-Box elements thereby using State bytes as an offset to the look-up table.
- Within the Shift Rows (SR) transformation, we tend to rotate 4×4 state rows (except the first row) to the left by the row index number of bytes (that is rotate left first row by 1 byte, second row by 2 bytes and third row by 3 bytes).
- Within the Mix Columns (MC) transformation, we perform multiplication on the state within the MC matrix in Galois field GF(28).
Fig . AES ENCRYPTION ENGINE FLOWCHART
EXPLANATION:-
- Within the inverse ciphering process, the input is the ciphered text and the output is the decoded data.
- All the processes as mentioned above are performed in inverse to decipher the encoded plain text.
- All the inverse processes involved are as follows:-
- Inverse Substitute Bytes (ISB)
- Inverse Shift Rows (ISR),
- Inverse Add Round key (IAR)
- Inverse Mixcolumns (IMC)
- Different lookup tables are viewed for implementing ISB and SB.
- In the Substitute bytes we rotate the corresponding elements to the left whereas to the right in the inverse process.
- Each row and column of matrix A and B have the same basic 4 elements.
- According to the first column or row the other columns or rows elements are relatively rotated.