|
1 The Advanced Encryption Standard Process |
|
|
1 | (8) |
|
|
1 | (1) |
|
1.2 AES: Scope and Significance |
|
|
1 | (1) |
|
1.3 Start of the AES Process |
|
|
2 | (1) |
|
|
3 | (1) |
|
|
4 | (1) |
|
|
4 | (1) |
|
|
4 | (1) |
|
1.5.3 Algorithm and Implementation Characteristics |
|
|
4 | (1) |
|
1.6 Selection of Five Finalists |
|
|
5 | (2) |
|
1.6.1 The Second AES Conference |
|
|
5 | (1) |
|
|
6 | (1) |
|
|
7 | (1) |
|
|
7 | (2) |
|
|
9 | (22) |
|
|
10 | (10) |
|
2.1.1 Groups, Rings and Fields |
|
|
10 | (1) |
|
|
11 | (2) |
|
2.1.3 Fields with a Finite Number of Elements |
|
|
13 | (1) |
|
2.1.4 Polynomials over a Field |
|
|
13 | (1) |
|
2.1.5 Operations on Polynomials |
|
|
14 | (1) |
|
2.1.6 Polynomials and Bytes |
|
|
15 | (1) |
|
2.1.7 Polynomials and Columns |
|
|
16 | (1) |
|
2.1.8 Functions over Fields |
|
|
17 | (1) |
|
2.1.9 Representations of GF(pn) |
|
|
18 | (2) |
|
|
20 | (2) |
|
|
20 | (2) |
|
|
22 | (1) |
|
|
22 | (4) |
|
|
23 | (1) |
|
|
24 | (1) |
|
2.3.3 Bricklayer Functions |
|
|
25 | (1) |
|
2.3.4 Iterative Boolean Transformations |
|
|
26 | (1) |
|
|
26 | (5) |
|
2.4.1 Iterative Block Ciphers |
|
|
27 | (1) |
|
2.4.2 Key-Alternating Block Ciphers |
|
|
28 | (3) |
|
3 Specification of Rijndael |
|
|
31 | (22) |
|
3.1 Differences Between Rijndael and the AES |
|
|
31 | (1) |
|
3.2 Input and Output for Encryption and Decryption |
|
|
31 | (2) |
|
3.3 Structure of Rijndael |
|
|
33 | (1) |
|
3.4 The Round Transformation |
|
|
33 | (9) |
|
|
34 | (3) |
|
|
37 | (2) |
|
3.4.3 The MixColumns Step |
|
|
39 | (2) |
|
|
41 | (1) |
|
3.4.5 The Rijndael Super Box |
|
|
41 | (1) |
|
|
42 | (1) |
|
|
43 | (3) |
|
|
44 | (1) |
|
|
44 | (2) |
|
|
46 | (4) |
|
3.7.1 Decryption for a Two-Round Rijndael Variant |
|
|
46 | (2) |
|
3.7.2 Algebraic Properties |
|
|
48 | (1) |
|
3.7.3 The Equivalent Decryption Algorithm |
|
|
48 | (2) |
|
|
50 | (3) |
|
|
53 | (12) |
|
|
53 | (3) |
|
4.1.1 Finite-Field Multiplication |
|
|
53 | (1) |
|
|
54 | (1) |
|
|
55 | (1) |
|
4.2 Thirty-Two-Bit Platforms |
|
|
56 | (4) |
|
4.2.1 T-Table Implementation |
|
|
56 | (3) |
|
|
59 | (1) |
|
|
60 | (2) |
|
4.3.1 Decomposition of Srd |
|
|
61 | (1) |
|
4.3.2 Efficient Inversion in GF(28) |
|
|
61 | (1) |
|
|
62 | (1) |
|
4.4 Multiprocessor Platforms |
|
|
62 | (1) |
|
|
63 | (2) |
|
|
65 | (18) |
|
5.1 Generic Criteria in Cipher Design |
|
|
65 | (1) |
|
|
65 | (1) |
|
|
65 | (1) |
|
|
66 | (1) |
|
|
66 | (1) |
|
|
66 | (1) |
|
|
66 | (1) |
|
|
67 | (4) |
|
5.3.1 Symmetry Across the Rounds |
|
|
67 | (1) |
|
5.3.2 Symmetry Within the Round Transformation |
|
|
68 | (1) |
|
5.3.3 Symmetry in the D-Box |
|
|
69 | (1) |
|
5.3.4 Symmetry and Simplicity in the S-Box |
|
|
69 | (1) |
|
5.3.5 Symmetry Between Encryption and Decryption |
|
|
69 | (1) |
|
5.3.6 Additional Benefits of Symmetry |
|
|
70 | (1) |
|
|
71 | (2) |
|
5.4.1 Arithmetic Operations |
|
|
71 | (1) |
|
5.4.2 Data-Dependent Shifts |
|
|
72 | (1) |
|
|
73 | (3) |
|
|
73 | (1) |
|
5.5.2 Translation of Security Goals into Modern Security Notions |
|
|
74 | (1) |
|
5.5.3 Unknown Attacks Versus Known Attacks |
|
|
75 | (1) |
|
5.5.4 Provable Security Versus Provable Bounds |
|
|
76 | (1) |
|
|
76 | (3) |
|
5.6.1 Nonlinearity and Diffusion Criteria |
|
|
76 | (1) |
|
5.6.2 Resistance Against Differential and Linear Cryptanalysis |
|
|
76 | (1) |
|
5.6.3 Local Versus Global Optimization |
|
|
77 | (2) |
|
5.7 Key-Alternating Cipher Structure |
|
|
79 | (1) |
|
|
80 | (2) |
|
5.8.1 The Function of a Key Schedule |
|
|
80 | (1) |
|
5.8.2 Key Expansion and Key Selection |
|
|
80 | (1) |
|
5.8.3 The Cost of the Key Expansion |
|
|
81 | (1) |
|
5.8.4 A Recursive Key Expansion |
|
|
81 | (1) |
|
|
82 | (1) |
|
6 The Data Encryption Standard |
|
|
83 | (8) |
|
|
83 | (2) |
|
6.2 Differential Cryptanalysis |
|
|
85 | (2) |
|
|
87 | (2) |
|
|
89 | (2) |
|
|
91 | (24) |
|
7.1 The Walsh-Hadamard Transform |
|
|
91 | (4) |
|
|
91 | (1) |
|
|
91 | (1) |
|
7.1.3 Real-Valued Counterpart of a Binary Boolean Function |
|
|
92 | (1) |
|
7.1.4 Orthogonality and Correlation |
|
|
92 | (1) |
|
7.1.5 Spectrum of a Binary Boolean Function |
|
|
93 | (2) |
|
7.2 Composing Binary Boolean Functions |
|
|
95 | (1) |
|
|
95 | (1) |
|
|
95 | (1) |
|
7.2.3 Disjunct Boolean Functions |
|
|
96 | (1) |
|
|
96 | (4) |
|
7.3.1 Equivalence of a Boolean Function and Its Correlation Matrix |
|
|
97 | (1) |
|
7.3.2 Iterative Boolean Functions |
|
|
98 | (1) |
|
7.3.3 Boolean Permutations |
|
|
98 | (2) |
|
|
100 | (1) |
|
7.4.1 Addition with a Constant |
|
|
100 | (1) |
|
|
100 | (1) |
|
7.4.3 Bricklayer Functions |
|
|
100 | (1) |
|
|
101 | (1) |
|
|
101 | (2) |
|
|
103 | (1) |
|
7.7 Cross-correlation and Autocorrelation |
|
|
104 | (1) |
|
|
105 | (1) |
|
|
106 | (5) |
|
|
106 | (1) |
|
7.9.2 Key-Alternating Cipher |
|
|
106 | (1) |
|
7.9.3 Averaging over All Round Keys |
|
|
107 | (2) |
|
7.9.4 The Effect of the Key Schedule |
|
|
109 | (2) |
|
7.10 Correlation Matrices and the Linear Cryptanalysis Literature |
|
|
111 | (1) |
|
7.10.1 Linear Cryptanalysis of the DES |
|
|
111 | (1) |
|
|
112 | (1) |
|
|
113 | (2) |
|
|
115 | (10) |
|
8.1 Difference Propagation |
|
|
115 | (1) |
|
|
116 | (2) |
|
|
116 | (1) |
|
8.2.2 Bricklayer Functions |
|
|
117 | (1) |
|
8.2.3 Truncating Functions |
|
|
117 | (1) |
|
|
117 | (1) |
|
8.3 Relation Between DP Values and Correlations |
|
|
118 | (1) |
|
|
119 | (2) |
|
|
119 | (1) |
|
8.4.2 Independence of Restrictions |
|
|
120 | (1) |
|
8.5 Key-Alternating Cipher |
|
|
121 | (1) |
|
8.6 The Effect of the Key Schedule |
|
|
122 | (1) |
|
8.7 Differential Trails and the Differential Cryptanalysis Literature |
|
|
122 | (1) |
|
8.7.1 Differential Cryptanalysis of the DES Revisited |
|
|
122 | (1) |
|
|
123 | (1) |
|
|
123 | (2) |
|
9 The Wide Trail Strategy |
|
|
125 | (24) |
|
9.1 Propagation in Key-Alternating Block Ciphers |
|
|
125 | (3) |
|
9.1.1 Linear Cryptanalysis |
|
|
125 | (1) |
|
9.1.2 Differential Cryptanalysis |
|
|
126 | (2) |
|
9.1.3 Differences Between Linear Trails and Differential Trails |
|
|
128 | (1) |
|
9.2 The Wide Trail Strategy |
|
|
128 | (5) |
|
9.2.1 The 7A Round Structure in Block Ciphers |
|
|
129 | (2) |
|
|
131 | (1) |
|
|
132 | (1) |
|
9.3 Branch Numbers and Two-Round Trails |
|
|
133 | (3) |
|
|
135 | (1) |
|
9.3.2 A Two-Round Propagation Theorem |
|
|
135 | (1) |
|
9.4 An Efficient Key-Alternating Structure |
|
|
136 | (4) |
|
9.4.1 The Diffusion Step 6 |
|
|
136 | (2) |
|
|
138 | (1) |
|
9.4.3 A Lower Bound on the Byte Weight of Four-Round Trails |
|
|
138 | (1) |
|
9.4.4 An Efficient Construction for |
|
|
139 | (1) |
|
9.5 The Round Structure of Rijndael |
|
|
140 | (3) |
|
9.5.1 A Key-Iterated Structure |
|
|
140 | (2) |
|
9.5.2 Applying the Wide Trail Strategy to Rijndael |
|
|
142 | (1) |
|
|
143 | (2) |
|
9.7 Choices for the Structure of and Π |
|
|
145 | (2) |
|
9.7.1 The Hypercube Structure |
|
|
145 | (2) |
|
9.7.2 The Rectangular Structure |
|
|
147 | (1) |
|
|
147 | (2) |
|
|
149 | (20) |
|
10.1 Truncated Differentials |
|
|
149 | (1) |
|
|
149 | (6) |
|
|
150 | (1) |
|
|
151 | (1) |
|
10.2.3 Influence of the Final Round |
|
|
152 | (1) |
|
10.2.4 Extension at the End |
|
|
153 | (1) |
|
10.2.5 Extension at the Beginning |
|
|
153 | (1) |
|
10.2.6 Attacks on Six Rounds |
|
|
154 | (1) |
|
10.2.7 The Herds Attack and Other Extensions |
|
|
154 | (1) |
|
10.2.8 Division Cryptanalysis |
|
|
155 | (1) |
|
10.3 Gilbert-Minier and Demirci-Selcuk Attack |
|
|
155 | (2) |
|
10.3.1 The Four-Round Distinguisher |
|
|
155 | (1) |
|
10.3.2 The Attack on Seven Rounds |
|
|
156 | (1) |
|
10.3.3 The Demirci-Selcuk Attack |
|
|
157 | (1) |
|
10.4 Interpolation Attacks |
|
|
157 | (1) |
|
|
158 | (4) |
|
10.5.1 The Key Schedule of Rijndael-256 |
|
|
159 | (1) |
|
10.5.2 The Biryukov-Khovratovich Attack |
|
|
159 | (1) |
|
10.5.3 The KAS of the Biryukov-Khovratovich Attack |
|
|
160 | (2) |
|
|
162 | (1) |
|
|
162 | (1) |
|
10.8 Impossible-Differential Attacks |
|
|
163 | (1) |
|
10.8.1 Principle of the Attack |
|
|
163 | (1) |
|
10.8.2 Application to Rijndael |
|
|
164 | (1) |
|
10.9 Implementation Attacks |
|
|
164 | (2) |
|
|
164 | (1) |
|
|
165 | (1) |
|
|
166 | (3) |
|
|
169 | (12) |
|
|
169 | (2) |
|
|
169 | (1) |
|
11.1.2 The Round Transformation |
|
|
170 | (1) |
|
|
171 | (2) |
|
|
173 | (3) |
|
|
176 | (3) |
|
|
179 | (2) |
|
12 Correlation Analysis in GF(2n) |
|
|
181 | (14) |
|
12.1 Description of Correlation in Functions over GF(2n) |
|
|
182 | (4) |
|
12.1.1 Functions That Are Linear over GF(2n) |
|
|
184 | (1) |
|
12.1.2 Functions That Are Linear over GF(2) |
|
|
184 | (2) |
|
12.2 Description of Correlation in Functions over GF(2n) |
|
|
186 | (2) |
|
12.2.1 Functions That Are Linear over GF(2n) |
|
|
187 | (1) |
|
12.2.2 Functions That Are Linear over GF(2) |
|
|
187 | (1) |
|
12.3 Boolean Functions and Functions in GF(2n) |
|
|
188 | (4) |
|
12.3.1 Relationship Between Trace Masks and Selection Masksl88 |
|
|
|
12.3.2 Relationship Between Linear Functions in GF(2)n and GF(2n) |
|
|
189 | (3) |
|
|
192 | (3) |
|
13 On the EDP and the ELP of Two and Four Rijndael Rounds |
|
|
195 | (10) |
|
13.1 Properties of MDS Mappings |
|
|
195 | (3) |
|
13.2 Bounds for Two Rounds |
|
|
198 | (5) |
|
13.2.1 Difference Propagation |
|
|
200 | (2) |
|
|
202 | (1) |
|
13.3 Bounds for Four Rounds |
|
|
203 | (1) |
|
|
204 | (1) |
|
14 Two-Round Differential Trail Clustering |
|
|
205 | (18) |
|
14.1 The Multiplicative Inverse in GF(2n) |
|
|
205 | (2) |
|
14.2 Bundles in the Rijndael Super Box |
|
|
207 | (4) |
|
14.2.1 Differentials, Trails and Trail Cores |
|
|
207 | (2) |
|
|
209 | (1) |
|
14.2.3 Number of Bundles with a Given Number of Active Bytes |
|
|
210 | (1) |
|
14.3 Conditions for a Trail Core to Extend to a Trail |
|
|
211 | (2) |
|
14.3.1 The Naive Super Box |
|
|
211 | (1) |
|
14.3.2 Sharp Conditions and Blurred Conditions |
|
|
212 | (1) |
|
14.4 Number of Trail Cores in a Bundle Extending to a Trail |
|
|
213 | (3) |
|
14.4.1 Bundles with One Active S-Box in the First Round |
|
|
213 | (1) |
|
|
214 | (1) |
|
14.4.3 Experimental Verification |
|
|
215 | (1) |
|
|
216 | (2) |
|
14.5.1 Multiple Solutions |
|
|
217 | (1) |
|
14.5.2 Occurrence in Trails |
|
|
217 | (1) |
|
14.5.3 How Li Makes a Difference |
|
|
218 | (1) |
|
14.6 EDP of a Differential |
|
|
218 | (2) |
|
14.6.1 Differentials with Activity Pattern (1110; 1110) |
|
|
218 | (1) |
|
14.6.2 A Bound on the Multiplicity |
|
|
219 | (1) |
|
14.7 Differentials with the Maximum EDP Value |
|
|
220 | (1) |
|
|
221 | (2) |
|
|
223 | (26) |
|
|
223 | (1) |
|
15.2 Two-Round Plateau Trails |
|
|
224 | (5) |
|
15.2.1 Planar Differentials and Maps |
|
|
224 | (2) |
|
|
226 | (1) |
|
15.2.3 Plateau Trails in Super Boxes |
|
|
227 | (2) |
|
15.3 Plateau Trails over More Than Two Rounds |
|
|
229 | (1) |
|
15.4 Further Observations |
|
|
230 | (1) |
|
15.4.1 Effect of the Key Schedule |
|
|
230 | (1) |
|
15.4.2 Impact on the DP of Differentials |
|
|
231 | (1) |
|
15.5 Two-Round Trails in Rijndael |
|
|
231 | (3) |
|
15.5.1 Trails in the Rijndael Super Box |
|
|
231 | (1) |
|
|
232 | (2) |
|
|
234 | (1) |
|
15.6 Trails over Four or More Rounds in Rijndael |
|
|
234 | (2) |
|
15.7 DP of Differentials in Rijndael |
|
|
236 | (1) |
|
15.8 Related Differentials |
|
|
236 | (3) |
|
|
236 | (1) |
|
15.8.2 Related Differentials and Plateau Trails |
|
|
237 | (2) |
|
15.9 Determining the Related Differentials |
|
|
239 | (5) |
|
|
239 | (1) |
|
15.9.2 For Any Given Differential |
|
|
240 | (1) |
|
15.9.3 For All Differentials with the Same Activity Pattern |
|
|
241 | (1) |
|
|
241 | (2) |
|
15.9.5 A Combinatorial Bound |
|
|
243 | (1) |
|
15.10 Implications for Rijndael-Like Super Boxes |
|
|
244 | (2) |
|
15.10.1 Related Differentials over Circulant Matrices |
|
|
244 | (1) |
|
15.10.2 Related Differentials in MixColumns |
|
|
244 | (1) |
|
15.10.3 Avoiding Related Differentials |
|
|
245 | (1) |
|
15.11 Conclusions and Further Work |
|
|
246 | (3) |
|
|
249 | (4) |
|
|
249 | (3) |
|
|
252 | (1) |
|
|
252 | (1) |
|
|
252 | (1) |
|
|
253 | (6) |
|
|
253 | (1) |
|
|
253 | (2) |
|
B.3 Other Block Lengths and Key Lengths |
|
|
255 | (4) |
|
|
259 | (8) |
Bibliography |
|
267 | (12) |
Index |
|
279 | |