Kendall's Online blog

Wednesday, March 15, 2006

Cryptography Primer III: Advanced Encryption Standard (AES)

Introduction to AES
The AES was introduced in 2000 by NIST to replace DES which was found to be vulnerable to linear and differential cryptanalysis. The Rjindael algorithm was selected as the final candidate for AES. AES is also a symmetric-key block cipher like DES in which both receiver and sender encrypt/decrypt data with a private key. AES unlike DES can be used to encrypt variable block sizes of length 128, 192 and 256 bits. The difference during (de)encryption is that larger block sizes are encrypted by a different number of rounds. The number of rounds is 10, 12 and 14 for 128,192, 256 block sizes respectively. NIST adopted only the block length of 128 bits and 10 rounds in AES. The round transformation is made on the 128 bits which is broken down into 16 bytes of 8 bits each. The 16 bytes are arranged in a 4 X 4 matrix.
The 4 steps in the AES algorithm are:
ByteSub Transformation (BS): This transformation makes it resistant to linear and differential cryptanalysis. This is an S-Box substitution where each element of the array is substituted by the value in the S-Box transformation. If abcdefgh is the element of length 8 bits to be substituted, the value in row abcd and column efgh is read of from the S-Box.
ShiftRow Transformation (SR): This linear mixing step causes the bits to be diffused more in each successive round. The 4 rows of the matrix are shifted cyclically by offsets of 0,1,2,3 respectively.
MixColumn Transformation (MC): This layer does the same function as ShiftRow. Each column is multiplied by a 4 X 4 matrix with elements made up of entries in GF (28) to produce the output.
AddRoundKey(ARK): The output of MC is XORed with the output of the key scheduler

AES Encryption
The steps in the AES encryption are:
ARK using the 0th roundkey.
Nine rounds of BS, SR, MC, ARK using round keys 1 to 9.
A final round of BS, SR, ARK using the 10th round Key.

AES Decryption
The steps in the AES decryption are:
ARK using the 10th roundkey.
Nine rounds of IBS, ISR, IMC, ARK using round keys 9 to 1.
A final round of IBS, ISR, ARK using the 0th round Key.

P. C. van Oorschot, A. J. Menezes, S.A. Vanstone, “Handbook of Applied Cryptography,” CRC Press Inc., Florida , 1996.
K. K. Parhi, X. Zhang, “Implementation Approaches for the Advanced Encryption Standard Algorithm”, IEEE Circuits and Systems Magazine, 2002, pp. 24 – 46.


Post a Comment

Links to this post:

Create a Link

<< Home