Title | 4d mini AES [Lecture Presentation Slides] |
---|---|
Course | Cryptography |
Institution | Universiti Teknologi Malaysia |
Pages | 11 |
File Size | 876.3 KB |
File Type | |
Total Downloads | 3 |
Total Views | 143 |
The Presentation Slides Belongs To The Title As Above....
18/2/2019
Mini Advanced Encryption Standard (Mini - AES)
1
Roadmap • AES background • Mathematical Background • Mini-AES Components – NibbleSub – ShiftRow – MixColumn – KeyAddition
• Mini-AES Key-schedule Galois Field
2
1
18/2/2019
Mathematical Background • Finite Field GF(24) • Finite field or Galois field (so named in honor of Évariste Galois) is a field that contains a finite number of elements. • have the special property that operations (+,−, × and ÷) on the field elements always cause the result to be also in the field.
Galois Field
5
Finite Field GF(24)
Galois Field
6
2
18/2/2019
Addition in GF(24)
Galois Field
7
Multiplication in GF(24) - 1
Galois Field
8
3
18/2/2019
Multiplication in GF(24) - 2
Galois Field
9
Multiplication in GF(24) - 3
Galois Field
10
4
18/2/2019
Mini-AES
Galois Field
11
Mini-AES – Data unit • Input plaintext block of 16 bits, P = (p0, p1, p2, p3) is represented as a matrix of 2 rows and 2 columns of 4 bits (a nibble), as given in Figure
Galois Field
12
5
18/2/2019
Mini-AES Components • NibbleSub • ShiftRow • MixColumn • KeyAddition Galois Field
13
Mini-AES Components - NibbleSub • NibbleSub is a simple operation that substitutes each input nibble with an output nibble according to a 4 × 4 substitution table (S-box), as given in Table.
Galois Field
14
6
18/2/2019
Mini-AES Components - NibbleSub • The NibbleSub operation is illustrated in Figure, where A = (a0, a1, a2, a3) is the input block and B = (b0, b1, b2, b3) is the output.
• Example: For an input nibble, a0 = 1111, then based on Table 1, the output nibble is b0 = 0111. Galois Field
15
Mini-AES Components - ShiftRow • The first row is unchanged while the second row is rotated left by one nibble. This is illustrated in Figure, where B = (b0, b1, b2, b3) and C = (c0, c1, c2, c3) are the input and output respectively.
• So C = (c0, c1, c2, c3) = (b0, b3, b2, b1) Galois Field
16
7
18/2/2019
Mini-AES Components - MixColumn
• • • •
d0 = (0011⊗ c0 ) + (0010⊗ c1 ) d1 = (0010⊗ c0 ) + (0011⊗ c1 ) d2 = (0011⊗ c2 ) + (0010⊗ c3 ) d3 = (0010⊗ c2 ) + (0011⊗ c3 ). Galois Field
17
Mini-AES Components - KeyAddition
• Example: Given an input block be D = (d0, d1, d2, d3) = 1111 0000 1010 1100, and the round key Ki = (k0, k1, k2, k3) = 0101 0011 1111 0000, then the output block, E = (e0, e1, e2, e3) is: E = D ⊕ Ki = 1111 0000 1010 1100 ⊕ 0101 0011 1111 0000 = 1010 0011 0101 1100 Galois Field
18
8
18/2/2019
Mini-AES Key-schedule • Mini-AES encryption is defined to have 2 rounds, hence three round keys, K0, K1 and K2
Galois Field
19
Mini-AES Key-schedule - Example
Galois Field
20
9
18/2/2019
Mini-AES Key-schedule - Example
Galois Field
21
Mini-AES Encryption K1
K0
K2
Galois Field
22
10
18/2/2019
Mini-AES Decryption • In order to get back the original plaintext, the reverse process of encryption must be performed on the ciphertext. ShiftRow, MixColumn and KeyAddition are same as encryption. • NibbleSub is a nibble substitution operation based on this Table.
Galois Field
23
11...