AES Advanced Encryption Standard Prepared by: Divan Sir.

Post on 26-Mar-2015

231 Views

Category:

Documents

4 Downloads

Preview:

Click to see full reader

Transcript

AESAdvanced Encryption Standard

Prepared by:Divan Sir

Requirements for AES

• AES had to be a private key algorithm. It had to use a shared secret key.

• It had to support the following key sizes: – 128 bits – 192 bits – 256 bits

• DES uses only 56-bit keys.• If you were able to search half the DES key space in 1 second,

then on average, it would take 149 trillion years to crack a 128-bit AES key.

Operation

• 1) Expand 128 bits key or 16-byte ( 4 X 4 Arrays) key into 11 (4 X 4 Arrays) and each arrays containing 16 bytes. (16 bytes – 176 bytes) (4 words – 44 words)(w0 to w43).

• 2)16 – bytes plain text block is copied into 4x4 array is called state

• 3)XOR state with key block.

Key expansion

Key expansion

• After filling first array the remaining 10 arrays (w4 to w43) are filled one by one.

• If the word in W array is a multiple of four, some complex logic is used like w4,w8,w12…. But for others simple XOR is used.

• Like for w5, we would XOR w4 and w1 and store output as w5.

Key expansion

• But if word is multiple of four w4,w8,w12… then three functions are used.

• Rotate, Substitute and constant• Rotate :• Suppose original 4 word key is:

Byte

0 1 2 3 4 5 6 7 8 9 10

11

12

13

14

15

hex 00

01

02

03

04

05

06

07

08

09

0A

0B

0C

0D

0E

0F

Key expansion

• For find w4: • First Rotation will produce Rotate W3 ( 0C 0D

0E 0F) which is equals to ( 0D 0E 0F 0C ).

Key expansion• 2) second substitute,we need to take one byte

at a time and look up in S- box. For example first byte 0D is replace with 00,similarly, 0E is replace with 00..so on…

Key expansion

• 3) Finally at last stage substituted word XOR with constant ( with the help of constant table) as per round number.

• Like D7 AB 76 FE XOR 01 00 00 00 = D6 AB 76 FE

• Finally this XOR with w [i-4] means w0. where I = word number

Round 1 2 3 4 5 6 7 8 9 10

constant 01 02 04 08 10 20 40 80 1B 36

Plain text

• First Plain text of 16 bytes arrange into 4 x 4 array.

• Apply s-box to each array of plain text bytes.

Plain text

• Second step rotate Row of plain text k bytes.

Plain text• Last perform Mix columns: Matrix

multiplication….

One round

• Finally plaintext (substituted, rotate and mix columns ) XOR with KEY ( Expand, rotate, substitute, and xor with constant).

top related