Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
AES Advanced Encryption Standard 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. • Every added key array block depends on the immediately preceding block and the block 4 position earlier to it • If the word in W array is a multiple of four, some complex logic is used (for w4,w8,w12….) for increase security 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 0 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 1 5 hex 0 0 0 1 0 0 2 3 0 0 4 5 0 6 0 7 0 8 0 9 0 A 0 B 0 C 0 D 0 E 0 F Key expansion • For find w4: 1) 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. This constant is a word (4 bytes),and last 3 bytes always contain 0. Thus XORing any input word with such a constant is as good as XORing only with first byte of input word. Round 1 2 3 4 5 6 constant 01 02 04 08 10 20 7 8 9 10 40 80 1B 36 • 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 Operation A) First Plain text of 16 bytes arrange into 4 x 4 array. B) Apply Previous s-box to each array of plain text bytes. Note: only one S-BOX used. Plain text Operation C) Third step rotate Row of plain text k bytes. Plain text 0peration D) Last perform Mix columns: Matrix multiplication….for matrix, State is arranged into 4x4 matrix. This HEXA matrix multiplication is implemented over GALOIS FIELD. One round • Finally plaintext (substituted, rotate and mix columns ) XOR with KEY ( Expand, rotate, substitute, and xor with constant).