Advanced Encryption Standard
Advanced Encryption Standard
Advanced Encryption Standard
STANDARD
Prepared by : GROUP ONE
INTRODUCTION
The advanced Encryption Standard or AES is symmetric block cipher chosen by
U.S government to protect classified information and is implemented in
software and hardware throughout the world to encrypt sensitive data.
AES algorithm uses symmetric-key algorithm , meaning the same key is used
for both encrypting and decrypting the data.
AES work on fixed block size.
The size of each block is usually measured in bits which make simpler to
implement and explain.
AES support three keys with different lengths: 128-bits,192-bits,and 256-bit
keys.
The longer the key , the stronger the encryption (256-bit is strongest but it
take longer time for encryption and decryption , so has less performance)
Cont ..
AES work by repeating the same defined steps multiple times
Each block size has it own number of round to perform encryption and
decryption
10 rounds for 128-bit keys
12 rounds for 192-bit keys
14 rounds for 256-bit keys
AES use almost same step performed to complete both encryption and
decryption in reverse order
But AES restricted to block size of 128 bit (16 byte)
HOW AES BECOME STATNDARD
U.S government uses DES (Data Encryption Standard) for about two decades
since 1997 but this standard later was proven to be insecure, promoting the
government to look for a replacement.
This led fifteen competing symmetric key algorithm designs were subjected
to preliminary analysis by the world cryptographic community, including
National Security Agency(NSA).
Then in 1999, NIST (national institute of standards and technology) select five
algorithms for more extensive analysis, they are MARS from IBM,RC6 from RSA
security, Rijndael submitted by two Belgian John daemen and Vincent Rijmen,
Serpent and Twofish.
Then each algorithms are tested how they reliable , how much time (speed)
take during encryption and decryption, key and algorithm setup time and
resistance to various attacks
Finally Rijndael algorithm was selected as proposed algorithm for AES.
In 2003, the U.S government announced that AES is used to protect data.
AES has ISO/IEC 18033-3 standard
HOW AES WORK
As we discussed before AES comprises three block ciphers: AE-128,AES-192
and AES-256
It uses Symmetric key which is same key is used to encryption and decryption,
so both sender and receiver must both know and use same secret key.
It operate 4 x 4 matrix
AES DESIGN
128 bit
192 bit Secret Key Plain text
256 bit
Cipher
128 bit
192 bit
256 bit Cipher text
Cont …
The AES encryption algorithm define number of transformations that are
performed on data stored in an array.
The first step of cipher is to put the data into array; after which the cipher
transformation are repeated over a number of encryption rounds.
The number of encryption round is determined by key length , with 10 rounds
for 128-bit keys, 12 rounds for 192-bit keys and 14 round for 256 bit keys.
plain text
R
Substitute byte
O
Shift row
U
MIX COLUMN
N
01 89 fe 76 + 0f 47 0c af 0e ce f2 d9
23 ab dc 54 15 d9 b7 7f = 36 72 6b 2b
45 cd ba 32 71 e8 ad 67 34 25 17 55
67 ef 98 10 c9 59 d6 98 ae b6 4e 88
128-bit text 128-bit key 128-bit result
in xor (0-0=0,1-0=1,1-1=0,0-1=1)
23 = 0010 0011
15 = 0001 0101
0011 0110 = 36 (in hex)
AES Cipher Functions
2. Substitute Bytes
In this step each byte in the state is replaced with crossponding S-BOX
value
Each byte is replaced by byte indexed by row (left 4-bits) and column
(right 4 bits) of 16 x 16 table
Example the result from the above step is 36 (in HEX)
36 to binary 0011 0110 the first four bits 0011 is row and 0110 is
column then replace 36 with crossponding value in the table
Cont..
3. Shift Row
In this step bytes in each row of the state are shifted cyclically to the left
The number of places each byte is shifted differ for each row
It operates on the row of state
Shifts in each row
1st row is unchanged
2nd row does 1 byte circular shift to left
3rd row does 2 byte circular shift to left
4th row does 3 byte circular shift to left
Cont…
Example
AES Cipher Functions
4. MIX Column
In this step each value in the column is eventually multiplied against every value of
the matrix
The mix column function takes four byte as in put and outputs four bytes.
16 total multiplication, the result of these multiplication are XORed together to
produce only 4 bytes of for next state
2 3 1 1 b1 b5 b9 b13
1 2 3 1 b2 b6 b10 b14
1 1 2 3 b3 b7 b11 b15
3 1 1 2 b4 b8 b12 b16
Brute force
XSL attack
Related-key attack
Known-key distinguishing attack
Biclinque attack
THANK YOU