Professional Documents
Culture Documents
Block Ciphers
Block Ciphers
7.55
7.1.3 Continue
7.56
Broad Steps (AES-128)
Generate round keys using key expansion
schedule
Original
key of 16 bytes (128bits) is expanded into a
key containing 11*16 bytes (176 bytes=1408 bits)
11 states (matrices) of 4*4 bytes
Substitute: byte
substitution using s box
Byte 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
positi
on
Value 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
W0 W1 W2 W3
Rotate(W[3])
0D 0E 0F 0C
Subword(0D 0E 0F 0C)
D7 AB 76 FE
Add constant(i/4)=1=01
D7 AB 76 FE xor 01 00 00 00
D6 AB 76 FE
W[4]=W[0] xor D6 AB 76 FE
D6 AA 74 FD Prof. Stevina Correia-DJSCOE
Actual rounds depending upon
#rounds
Each round consist of four distinct transformation
functions:
SubBytes, ShiftRows, MixColumns, and AddRoundKey
Pre round section uses only single transformation
(AddRoundKey) before the first round, which
can be considered Round 0.
The final round contains only three
transformations (SubBytes, ShiftRows, and
AddRoundKey)
Prof. Stevina Correia-DJSCOE
7.1.5 Structure of Each Round
7.68
Prof. Stevina Correia-DJSCOE
SubBytes (substitute Bytes): provides confusion
effect
To substitute a byte, we interpret the byte as two
hexadecimal digits.
Predefined S-box is used
InvShiftRows
In the decryption, the transformation is called
InvShiftRows and the shifting is to the right.
Nos. to be multiplied using Mixcol will form 2digit no. (if single
digit append 0)
1st digit horizontal, 2nd digit vertical
L(AF)=B7
L(08)=4B
B7+4B=102>FF
E(102-FF=03)=0F