In: Computer Science
AES
(a) Give the names of at least two finalist ciphers, besides Rijndael, of the AES competition.
(b) What are the main four layers (steps within each round) of the AES and what is their role in the encryption?
(c) The recommended key sizes for the AES are 128, 192 and 256 bits. How many rounds of AES should be done for each of these sizes?
(d) DES has 8 different S-boxes, AES has only 1. State briefly negative security consequences of these two choices, separately for DES and AES.
(e) In order to strengthen AES one could increase the number of rounds and/or increase the size of the block. Which of the three options would be best for this purpose and why?
Question (a)
Answer:
Two names finalist ciphers, besides Rijndael, of the AES
competition are:
1) Serpent algorithm: It obtained 59 positive and 7 negative AES2
conference votes.
2) Twofish algorithm: It obtained 31 positive and 21 negative AES2
conference votes.
Whereas, the Rijndael algorithm obtained 86 positive and 10
negative AES2 conference votes.
Question (b)
Answer:
The main four layers i.e, the steps within and that is used
in each round of the AES:
(1) Byte substitution: Byte substitution steps are carried
in encryption and decryption. It is the byte-by-byte substitution
that is carried out the ring the forward process and is called
SubBytes during encryption. The corresponding byte substitution
step carried out during decryption is called InvSubBytes.
(2) Shift rows: It shifts the rows of the state array during the forward process in encryption and is called ShiftRows. The corresponding transformation carried during decryption is called InvShiftRows which is the abbreviation for Inverse Shift-Row Transformation. The step scrambles the byte order inside every 128-bit block.
(3) Mix columns: This step mixes up the bytes
in each column separately during the forward process in encryption
and is called MixColumns. The corresponding transformation during
decryption is called InvMixColumns which is the abbreviation for
the inverse mix column. The step further scrambles up the 128-bit
input block.
transformation.
(4) Add round key: This step adds the round key to the previous step's output during the forward process in encryption and is called AddRoundKey. The corresponding step during decryption is called InvAddRoundKey which is the abbreviation for inverse add round key transformation.
Question (c)
Answer:
The encryption mechanism involves for 128-bit key size 10 rounds of
AES processing, for 192-bit key size 12 rounds of AES processing,
and for 256-bit key size, 14 rounds of AES processing should be
done. All three- 10, 12, 14 rounds of AES processing involve each
of the 10, 12, and 14 rounds using 4 keywords from the key
schedule.
Question (d)
Answer:
The negative security consequences of these two choices, separately
for DES and AES would be constrained hardware and complex
implementation in software. In Serpent, even when
Substitution-boxes (S-boxes) are used, each round uses the same
S-box, making it easier for bitsplicing the cipher or processing
each 4-bit S-box in parallel.
For a DES implementation, 2300 gates are the minimum gate count. Currently, it is 1075 gates.
A cipher that can be easily serialized provides benefits to software and constrained hardware implementations.
AES is more secure when it comes to encryption when compared to DES.
There was security concern around the 8 S-boxes of DES that a backdoor, which is basically a vulnerability, which only its designers were aware of might have been placed in the cipher. Later it was shown the S-boxes have been carefully tuned for increasing resistance against this specific attack. However, later it was also found even small modifications to an S-box could notably weaken DES.
The AES 1 S-box, which is also called Rijndael S-box is designed to resist linear and differential cryptanalysis. Replacing the AES 1 S-box in the Rijndael cipher defeats the suspicion of vulnerability, weakness, or a backdoor that placed into the cipher exploiting a static S-box.