Symmetric Cryptography - AES: Data and Information Management: ELEN 3015
Symmetric Cryptography - AES: Data and Information Management: ELEN 3015
1. Motivation
3. Key schedule
4. Rounds
5. Decryption
1. Motivation for AES
Rijndael → Key and blocklengths can be 128, 192 and 256 bits
Example:
{01100011} →
2. Introduction - Advanced Encryption
Standard
Example:
{01100011} → x 6 + x 5 + x + 1 → 6316
2. Introduction - Advanced Encryption
Standard
9 rounds AES
for Rounds Subkeys
AES128
Final Round
Ciphertext
3. Key Schedule
vj is given as
α(j−4)/4
0
vj =
0
0
4. Rounds
ByteSub
ShiftRow
MixColumn
RoundKey
Addition
ByteSub
ShiftRow
MixColumn
RoundKey
Addition
0 1 2 3 4 5 6 7 8 9 a b c d e f
0 63 7c 77 7b f2 6b 6f c5 30 01 67 2b fe d7 ab 76
1 ca 82 c9 7d fa 59 47 f0 ad d4 a2 af 9c a4 72 c0
2 b7 fd 93 26 36 3f f7 cc 34 a5 e5 f1 71 d8 31 15
3 04 c7 23 c3 18 96 05 9a 07 12 80 e2 eb 27 b2 75
4 09 83 2c 1a 1b 6e 5a a0 52 3b d6 b3 29 e3 2f 84
5 53 d1 00 ed 20 fc b1 5b 6a cb be 39 4a 4c 58 cf
6 d0 ef aa fb 43 4d 33 85 45 f9 02 7f 50 3c 9f a8
7 51 a3 40 8f 92 9d 38 f5 bc b6 da 21 10 ff f3 d2
8 cd 0c 13 ec 5f 97 44 17 c4 a7 7e 3d 64 5d 19 73
9 60 81 4f dc 22 2a 90 88 46 ee b8 14 de 5e 0b db
a e0 32 3a 0a 49 06 24 5c c2 d3 ac 62 91 95 e4 79
b e7 c8 37 6d 8d d5 4e a9 6c 56 f4 ea 65 7a ae 08
c ba 78 25 2e 1c a6 b4 c6 e8 dd 74 1f 4b bd 8b 8a
d 70 3e b5 66 48 03 f6 0e 61 35 57 b9 86 c1 1d 9e
e e1 f8 98 11 69 d9 8e 94 9b 1e 87 e9 ce 55 28 df
f 8c a1 89 0d bf e6 42 68 41 99 2d 0f b0 54 bb 16
4.1. Using the S-Box for the Code
16 × 16 matrix
Example:
Example:
Output = ed16
4.2. The ShiftRow Transformation
ByteSub
ShiftRow
MixColumn
RoundKey
Addition
Second step
B0,0 B0,1 B0,2 B0,3
B1,1 B1,2 B1,3 B1,0
C =
B2,2
B2,3 B2,0 B2,1
B3,3 B3,0 B3,1 B3,2
4.3. The MixColumn Transformation
ByteSub
ShiftRow
MixColumn
RoundKey
Addition
Third step
α α+1 1 1 B0,0 B0,1 B0,2 B0,3
1 α α + 1 1 B1,1 B1,2 B1,3 B1,0
MC =
1
1 α α + 1 B2,2 B2,3 B2,0 B2,1
α+1 1 1 α B3,3 B3,0 B3,1 B3,2
6. The MixColumn Transformation
Example:
MC
α α+1 1 1 8116 B0,1 B0,2 B0,3
1 α α+1 1 016 B1,2 B1,3 B1,0
=
1 1 α α + 1 916 B2,3 B2,0 B2,1
α+1 1 1 α 2a16 B3,0 B3,1 B3,2
x0 D0,1 D0,2 D0,3
x1 D1,1 D1,2 D1,3
=
x2 D2,1 D2,2 D2,3
x3 D3,1 D3,2 D3,3
6. The MixColumn Transformation
Example:
MC
α α+1 1 1 8116 B0,1 B0,2 B0,3
1 α α+1 1 016 B1,2 B1,3 B1,0
=
1 1 α α + 1 916 B2,3 B2,0 B2,1
α+1 1 1 α 2a16 B3,0 B3,1 B3,2
3a16 D0,1 D0,2 D0,3
b016 D1,1 D1,2 D1,3
=
ed16 D2,1 D2,2 D2,3
c516 D3,1 D3,2 D3,3
4.4. The RoundKey Addition
ByteSub
ShiftRow
MixColumn
RoundKey
Addition
Final step
1. Motivation
3. Key schedule
4. Rounds
5. Decryption