Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 16

ADVANCED ENCRYPTION

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

ADD ROUND KEY

R
Substitute byte
O
Shift row
U
MIX COLUMN
N

D ADD ROUND KEY


Cont..
 AES encryption by using 128 bit(16 byte)
ROUNDS FUNCTIONS
- Add round key (state)
0 Add round key(Mix column(Shift Row(Byte Sub(state))))
1 Add round key(Mix column(Shift Row(Byte Sub(state))))
2 Add round key(Mix column(Shift Row(Byte Sub(state))))
3 Add round key(Mix column(Shift Row(Byte Sub(state))))
4 Add round key(Mix column(Shift Row(Byte Sub(state))))
5 Add round key(Mix column(Shift Row(Byte Sub(state))))
6 Add round key(Mix column(Shift Row(Byte Sub(state))))
7 Add round key(Mix column(Shift Row(Byte Sub(state))))
8 Add round key(Mix column(Shift Row(Byte Sub(state))))
9 Add round key(Shift Row(Byte Sub(state)))
 At last round mix column is not performed .
 AES decryption is same step like encryption by inversing steps
 Mix column(Add round key(Byte Sub (Shift Row (state))))
AES Cipher Functions
 AES has four function Add round key, Byte substitution, Shift row and mix column

1. ADD ROUND KEY


 In this each byte of the state is combined with a block of the round key using bitwise XOR
 Example key=0f1571c947d90cb7add6af7f6798
Text=0123456789abcdeffedcba9876543210

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..

 The substitute value found at row 3 and column 6 , which is 42


AES Cipher Functions

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

16 byte matrix 16 byte state


Cont..
 The first result byte is calculated by multiplying 4 value of the state column against
1st row 4 values of the matrix . The result of each multiplication is then XORed to
produce 1 byte
B1= (b1*2) XOR (b2*3) XOR (b3*1) XOR (b4*1)
 2nd result is found by multiplying same 4 value with 2nd row of matrix then XOR the
result to produce 1 byte
B2= (b1*1) XOR (b2*2) XOR (b3*3) XOR (b4*1)
 3rd result is found by multiplying same 4 value with 3rd row of matrix then XOR the
result to produce 1 byte
B3= (b1*1) XOR (b2*1) XOR (b3*2) XOR (b4*3)
 4th result is found by multiplying same 4 value with 4th row of matrix then XOR the
result to produce 1 byte
B4= (b1*3) XOR (b2*1) XOR (b3*1) XOR (b4*2)
Attacks on AES

 Brute force
 XSL attack
 Related-key attack
 Known-key distinguishing attack
 Biclinque attack
THANK YOU

You might also like