Download Requirements for AES

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
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).