Requirements for AES

Download Report

Transcript Requirements for AES

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