160 likes | 359 Views
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 .
E N D
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 • 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:
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
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).