Professional Documents
Culture Documents
Introduction:
AES also called as Advanced Encryption Standard was based on Rijndael algorithm developed by Joan Daeman & Vincent Rijmen in November 2001. The need for coming up with a new algorithm was actually because of the perceived weakness in DES. The 56-bit keys of DES were no longer considered safe against attacks based on exhaustive key searches and the 64-bit blocks were also considered as weak. AES was to based on 128-bit plain text blocks, with key size of 128 or 192 or 256-bits. No. of rounds is 10 or 12 or 14. In general, two versions of AES are used: 128-bit plain text block combined with 128-bit key block and 128-bit plain text block with 256-bit key block.
Description of Rijndael:
i. Do the following one-time initialization processes: a) Expand the 16-byte key to get the actual Key block to be used. b) Do one time initialization of the 16-byte plain text block (called as State). c) XOR the state with the key block. ii. For each round, do the following: a) Apply S-box to each of the plain text bytes. b) Rotate row k of the plain text block by k bytes. c) Perform a mix columns operation. d) XOR the state with the key block.
The remaining 10 arrays are filled on the basis of the algorithm described below:
b1=(b1 X 2) XOR (b2 X 3) XOR (b3 X 1) XOR (b4 X 1) b2=(b1 X 1) XOR (b2 X 2) XOR (b3 X 3) XOR (b4 X 1) b3=(b1 X 1) XOR (b2 X 1) XOR (b3 X 2) XOR (b4 X 3) b4=(b1 X 3) XOR (b2 X 1) XOR (b3 X 1) XOR (b4 X 2)
The result of the multiplication is actually the output of a lookup of L table, followed by the normal addition of the results, followed by a lookup of the E table. Out of the two digits of each number, 1st digit is the vertical index and 2nd digit is the horizontal index