preview

Cryptography : Aes And Rsa

Decent Essays

CRYPTOGRAPHY: AES and RSA
2 AES
The Advanced Encryption Standard (AES) was published by the National Institute of Standards and Technology (NIST) in 2001. AES is a symmetric block cipher with variable key and fixed data length. The structure of AES is quite complex and cannot be explained easily compared to RSA. In an AES, all operations are performed on 8-bit bytes. The cipher takes a plaintext block size of 16 bytes (i.e. 128 bits). The key length can be 16, 24, or 32 bytes. Depending on the key length, the algorithm is referred to as AES-128, AES-192 or AES-256 respectively. The total number of rounds N also depends on the key size. The number of rounds is 10, 12 and 14 for 128-bit, 192-bit and 256-bit key length respectively. The …show more content…

The output of the final round will be the cipher text.
2.1 DETAILED STRUCTURE OF AN AES ALGORITHM
The key expansion works as follows: The initial key is expanded into an array of words. Each word is four bytes and for a 128-bit key, we will have 44 words (starting from w0 to w43). The initial key is copied into the first four words of the expanded key. The remaining words of the expanded key are filled in four words at a time. Each added word wi depends on the previous word wi-1 and the word four positions back wi-4. A simple XOR is used and the key is therefore expanded into the remaining words.
The AES algorithm has 4 basic transformations:
2.1.1 SubBytes
In this step, the algorithm uses a look-up table (LUT) or a substitution table/s-box to perform a byte-by-byte transformation on the state array. The byte s[i, j] becomes s’[i, j] after the substitution is done using the substitution table. The inverse SubBytes uses the Inverse S-box to perform the transformation.
2.1.2 ShiftRows
This second step in each rounds is a permutation of rows by circular left shift. The inverse shift row transformation is the inverse to ShiftRows as it performs the circular shift in the opposite direction.
2.1.3 MixColumns
The third step operates on each column separately. Each byte of a column is mapped into a new value which is a function of all the four bytes in that column. It is designed as a matrix multiplication in which each byte is treated as a polynomial in

Get Access