16-07-2012, 01:02 PM
ADVANCED ENCRYPTION STANDARD
ADVANCED ENCRYPTION STANDARD .docx (Size: 38.36 KB / Downloads: 32)
INTRODUCTION
Advanced Encryption Standard (AES) is a specification for the encryption of electronic data. It has been adopted by the U.S. government and is now used worldwide. It supersedes DES. The algorithm described by AES is a symmetric-key algorithm, meaning the same key is used for both encrypting and decrypting the data.
Originally called Rijndael, the cipher was developed by two Belgian cryptographers, Joan Daemen and Vincent Rijmen, and submitted by them to the AES selection process. The name Rijndael is a play on the names of the two inventors.
DESCRIPTION OF THE CIPHER
AES is based on a design principle known as a substitution-permutation network. It is fast in both software and hardware Unlike its predecessor, DES, AES does not use a Feistel network.
AES has a fixed block size of 128 bits and a key size of 128, 192, or 256 bits, whereas Rijndael can be specified with block and key sizes in any multiple of 32 bits, with a minimum of 128 bits. The blocksize has a maximum of 256 bits, but the keysize has no theoretical maximum.
AES operates on a 4×4 column-major order matrix of bytes, termed the state (versions of Rijndael with a larger block size have additional columns in the state). Most AES calculations are done in a special finite field.
The AES cipher is specified as a number of repetitions of transformation rounds that convert the input plaintext into the final output of ciphertext. Each round consists of several processing steps, including one that depends on the encryption key. A set of reverse rounds are applied to transform ciphertext back into the original plaintext using the same encryption key.
THE AES ALGORITHM
AES is a symmetric block cipher with a block size of 128 bits. Key lengths can be 128
bits, 192 bits, or 256 bits called AES-128, AES-192, and AES-256, respectively. AES-
128 uses 10 rounds, AES-192 uses 12 rounds and AES-256 uses 14 rounds.
The main loop of AES performs the following functions:
SubBytes()
SubBytes() adds confusion by processing each byte through an S-Box. An S-Box is a
substitution table, where one byte is substituted for another, based on a substitution
algorithm
ShiftRows()
ShiftRows() provides diffusion by mixing data within rows. Row zero of the State is
not shifted, row 1 is shifted 1 byte, row 2 is shifted 2 bytes, and row 3 is shifted 3 bytes.
MixColumns()
MixColumns() also provides diffusion by mixing data within columns. The 4 bytes of
each column in the State are treated as a 4-byte number and transformed to another 4-
byte number via finite field mathematics.
AddRoundKey()
The actual ‘encryption’ is performed in the AddRoundKey() function, when each byte
in the State is XORed with the subkey. The subkey is derived from the key according to a
key expansion schedule.
AES ENCRYPTION AND DECRYPTION
Advantages of AES:
1. AES is a cryptographic algorithm that protects sensitive, unclassified information.
2. The Advanced Encryption Standard (AES) feature adds support for the new encryption standard AES, with Cipher Block Chaining (CBC) mode, to IP Security (IPSec). This feature, which adds support for AES encryption to IPSec, introduces a new level of security strength and speed that was not present in the virtual private network (VPN) marketplace.
Disadvantages of AES:
1. Its algebraic structure is too simple.
2. It needs more processing.
3. It requires more rounds of communication as compared to DES.