Presentation on theme: "AES Advanced Encryption Standard Prepared by: Divan Sir."— Presentation transcript:
AES Advanced 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.
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: Byt e hex A0A 0B0B 0C0C 0D0D 0E0E 0F0F
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 = D6 AB 76 FE Finally this XOR with w [i-4] means w0. where I = word number Round constant B36
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).