|
|
1 | (12) |
|
1.1 Context and Motivation |
|
|
1 | (2) |
|
|
3 | (3) |
|
1.2.1 Cipher Design and Classical Cryptanalysis |
|
|
3 | (2) |
|
1.2.2 Realization/Mapping |
|
|
5 | (1) |
|
1.2.3 Physical Attack and Countermeasure |
|
|
5 | (1) |
|
1.3 Standardization of Ciphers |
|
|
6 | (1) |
|
|
7 | (3) |
|
|
10 | (3) |
|
2 Fundamentals of Symmetric Key Cryptography |
|
|
13 | (46) |
|
|
13 | (6) |
|
|
13 | (1) |
|
2.1.2 Substitution Box (SBox) |
|
|
14 | (5) |
|
|
19 | (1) |
|
|
19 | (7) |
|
2.2.1 (Un-keyed) Permutation |
|
|
19 | (1) |
|
|
20 | (1) |
|
|
21 | (1) |
|
|
22 | (2) |
|
2.2.5 Message Authentication Code (MAC) |
|
|
24 | (1) |
|
2.2.6 Authenticated Encryption with Associated Data (AEAD) |
|
|
25 | (1) |
|
|
26 | (4) |
|
2.3.1 Substitution Permutation Network (SPN) |
|
|
26 | (1) |
|
|
27 | (2) |
|
2.3.3 Add--Rotation--XOR (ARX) Construction |
|
|
29 | (1) |
|
2.4 Description of Exemplary Ciphers |
|
|
30 | (9) |
|
2.4.1 Advanced Encryption Standard (AES) |
|
|
30 | (3) |
|
|
33 | (2) |
|
|
35 | (1) |
|
|
36 | (3) |
|
2.5 Formidability of the Attacker |
|
|
39 | (3) |
|
2.5.1 Conventional Notions of Security |
|
|
39 | (1) |
|
2.5.2 Power of the Attacker |
|
|
39 | (1) |
|
2.5.3 Objective of the Attacker |
|
|
40 | (2) |
|
2.6 Major Classical Attacks |
|
|
42 | (5) |
|
2.6.1 Differential Attack |
|
|
42 | (2) |
|
|
44 | (1) |
|
|
44 | (2) |
|
2.6.4 Integral/Cube Attack |
|
|
46 | (1) |
|
2.6.5 Impossible Differential Attack |
|
|
47 | (1) |
|
2.7 Device Implementation |
|
|
47 | (2) |
|
|
49 | (6) |
|
2.8.1 Black Box--Grey Box--White Box Models |
|
|
49 | (1) |
|
2.8.2 Mixed Integer Linear Programming (MILP) |
|
|
50 | (1) |
|
2.8.3 Machine Learning (ML) |
|
|
51 | (3) |
|
|
54 | (1) |
|
|
55 | (4) |
|
|
59 | (40) |
|
|
59 | (1) |
|
|
60 | (2) |
|
|
60 | (1) |
|
3.2.2 Single/Multiple Fault Adversary |
|
|
60 | (1) |
|
3.2.3 Random/Deterministic Fault Model |
|
|
61 | (1) |
|
3.2.4 Information Theoretic View |
|
|
61 | (1) |
|
|
61 | (1) |
|
3.3 Data Alteration Methods |
|
|
62 | (3) |
|
|
62 | (1) |
|
3.3.2 Modification of Operation |
|
|
62 | (1) |
|
3.3.3 Modification of Operand |
|
|
63 | (2) |
|
3.4 Sources of Fault Injection |
|
|
65 | (3) |
|
|
68 | (13) |
|
3.5.1 Difference-Based Fault Analysis |
|
|
69 | (7) |
|
3.5.2 Collision-Based Fault Analysis |
|
|
76 | (1) |
|
3.5.3 Statistics-Based Fault Analysis |
|
|
77 | (3) |
|
|
80 | (1) |
|
3.6 Generalized Fault Attack Automation Frameworks |
|
|
81 | (1) |
|
3.6.1 Cipher Level Approaches |
|
|
81 | (1) |
|
3.6.2 Implementation Level Approaches |
|
|
82 | (1) |
|
|
82 | (7) |
|
|
84 | (1) |
|
|
85 | (1) |
|
|
86 | (1) |
|
3.7.4 Re-keying, Tweak and Tweak-in-Plaintext, Masking Plaintext |
|
|
86 | (1) |
|
3.7.5 Attacks on Countermeasures |
|
|
87 | (1) |
|
3.7.6 Specialized Countermeasures Against Statistical Ineffective Fault Attack |
|
|
88 | (1) |
|
|
89 | (10) |
|
|
99 | (10) |
|
4.1 Introduction and Background |
|
|
99 | (2) |
|
|
101 | (3) |
|
4.2.1 Simple Power Analysis |
|
|
102 | (1) |
|
4.2.2 Differential Power Analysis (DPA) |
|
|
102 | (1) |
|
|
103 | (1) |
|
4.2.4 Correlation Power Analysis (CPA) |
|
|
103 | (1) |
|
|
103 | (1) |
|
4.3 Case Study: Side Channel Analysis of CHASKEY |
|
|
104 | (3) |
|
4.3.1 Practical Attack Setups |
|
|
104 | (1) |
|
4.3.2 Experimental Results |
|
|
105 | (2) |
|
|
107 | (2) |
|
5 New Insights on Differential and Linear Bounds Using Mixed Integer Linear Programming |
|
|
109 | (32) |
|
|
110 | (1) |
|
|
111 | (5) |
|
5.2.1 Branch Number to Model SBox (Inscrypt' 11) |
|
|
112 | (1) |
|
5.2.2 Convex Hull to Model SBox---Active SBox Count (Eprint' 13) |
|
|
113 | (2) |
|
5.2.3 Convex Hull to Model SBox---Exact Bound (Eprint' 14) |
|
|
115 | (1) |
|
5.2.4 Redundant Constraints to Reduce Solution Time (Eprint' 19) |
|
|
116 | (1) |
|
5.3 Problem with Convex Hull Modelling |
|
|
116 | (5) |
|
5.4 Automated Bounds with MILP: Our Proposal |
|
|
121 | (10) |
|
|
122 | (1) |
|
|
123 | (3) |
|
|
126 | (5) |
|
|
131 | (1) |
|
5.6 Supplementary Discussion |
|
|
132 | (7) |
|
5.6.1 Detailed Description on MILP Modelling of XOR |
|
|
132 | (1) |
|
5.6.2 Illustration with MILP Model for 1-Round Differential Bound for GIFT-128 |
|
|
133 | (1) |
|
5.6.3 Illustration with MILP Model of Previous Constraints for 4-Round Differential Bound for GIFT-128 |
|
|
133 | (6) |
|
|
139 | (2) |
|
6 Machine Learning-Assisted Differential Distinguishers for Lightweight Ciphers |
|
|
141 | (22) |
|
|
142 | (2) |
|
|
144 | (3) |
|
|
144 | (2) |
|
6.2.2 Gohr's Work on SPECK (CRYPTO' 19) |
|
|
146 | (1) |
|
6.3 Basic Description of the Ciphers |
|
|
147 | (3) |
|
|
147 | (2) |
|
|
149 | (1) |
|
|
149 | (1) |
|
6.4 Machine Learning-Based Distinguishers |
|
|
150 | (4) |
|
6.4.1 Model 1: Multiple Input Differences |
|
|
150 | (3) |
|
6.4.2 Model 2: One Input Difference |
|
|
153 | (1) |
|
6.4.3 Comparison with Existing Models |
|
|
154 | (1) |
|
6.5 Results on Round-Reduced Ciphers |
|
|
154 | (3) |
|
|
154 | (2) |
|
6.5.2 ASCON and KNOT (Model 1) |
|
|
156 | (1) |
|
|
157 | (1) |
|
6.6 Choice of Machine Learning Model |
|
|
157 | (2) |
|
6.7 Conclusion and Follow-Up Problems |
|
|
159 | (2) |
|
|
161 | (2) |
|
7 Differential Paradox: How an SBox Plays Against Differential Fault Analysis |
|
|
163 | (14) |
|
|
163 | (1) |
|
7.2 Difference Distribution Table-Related Properties |
|
|
164 | (3) |
|
7.3 Characterizing SBoxes in View of DFA |
|
|
167 | (7) |
|
7.4 Implication of Our Analysis and Future Work |
|
|
174 | (1) |
|
|
175 | (2) |
|
8 DEFAULT: Cipher-Level Resistance Against Differential Fault Attack |
|
|
177 | (40) |
|
|
177 | (3) |
|
|
180 | (5) |
|
|
180 | (1) |
|
|
181 | (1) |
|
8.2.3 Feasibility of Cipher-Level Protection Against Faults |
|
|
182 | (2) |
|
8.2.4 Working Principle for DFA |
|
|
184 | (1) |
|
8.3 Construction of DFA-Resistant Layer/Cipher |
|
|
185 | (6) |
|
8.3.1 Ad-hoc DFA Protection to Any Cipher (DEFAULT-LAYER) |
|
|
185 | (1) |
|
8.3.2 Extension to a Full-Fledged Cipher (DEFAULT) |
|
|
186 | (1) |
|
8.3.3 Construction of DEFAULT-LAYER |
|
|
187 | (2) |
|
8.3.4 Construction of DEFAULT-CORE (and DEFAULT) |
|
|
189 | (2) |
|
|
191 | (7) |
|
|
191 | (2) |
|
8.4.2 Structure of the DEFAULT PermBits |
|
|
193 | (1) |
|
8.4.3 Selection of the DEFAULT SBoxes |
|
|
194 | (3) |
|
8.4.4 Unbiased Linear Structures |
|
|
197 | (1) |
|
|
198 | (6) |
|
8.5.1 Protection Against Differential Fault Attack |
|
|
199 | (2) |
|
8.5.2 Protection Against Classical Cryptanalysis |
|
|
201 | (2) |
|
8.5.3 Protection Against Side Channels Attacks |
|
|
203 | (1) |
|
8.6 Automated Bounds for Differential and Linear Attacks |
|
|
204 | (2) |
|
|
206 | (2) |
|
|
206 | (1) |
|
|
207 | (1) |
|
|
208 | (2) |
|
8.9 Supplementary Discussion |
|
|
210 | (4) |
|
|
214 | (3) |
|
9 To Infect or Not to Infect: A Critical Analysis of Infective Countermeasures in Fault Attacks |
|
|
217 | (38) |
|
|
217 | (3) |
|
|
220 | (10) |
|
9.2.1 Context of Differential Fault Analysis |
|
|
220 | (1) |
|
9.2.2 Early Countermeasures: Detection-Based |
|
|
220 | (1) |
|
9.2.3 Evolution of Infective Countermeasures |
|
|
221 | (1) |
|
9.2.4 Notations and Terminologies |
|
|
222 | (4) |
|
9.2.5 Necessity and Sufficiency of Randomness |
|
|
226 | (1) |
|
9.2.6 Scope and Applicability |
|
|
226 | (3) |
|
9.2.7 Connection with Side Channel Countermeasures |
|
|
229 | (1) |
|
|
230 | (7) |
|
9.3.1 Multiplication-Based Constructions |
|
|
230 | (1) |
|
9.3.2 Derivative-Based Constructions |
|
|
231 | (1) |
|
|
231 | (4) |
|
9.3.4 Benchmarking Results for Type I Schemes |
|
|
235 | (2) |
|
9.4 Type II/Cipher-Level Constructions |
|
|
237 | (12) |
|
9.4.1 Critical Look at CHES' 14 Countermeasure |
|
|
241 | (2) |
|
9.4.2 Our Patch for Latin Crypt' 12 Countermeasure |
|
|
243 | (6) |
|
|
249 | (1) |
|
|
250 | (5) |
|
10 A Novel Duplication-Based Countermeasure to Statistical Ineffective Fault Analysis |
|
|
255 | (22) |
|
|
255 | (3) |
|
10.2 Fault Attack Preliminaries |
|
|
258 | (1) |
|
10.2.1 Differential Fault Attack (DFA) |
|
|
258 | (1) |
|
10.2.2 General Countermeasures Against Fault Attacks |
|
|
258 | (1) |
|
10.3 Statistical Ineffective Fault Attack (SIFA) |
|
|
259 | (3) |
|
10.3.1 Duplication-Based Countermeasures and Need for Specialization |
|
|
259 | (2) |
|
10.3.2 Existing SIFA Countermeasures |
|
|
261 | (1) |
|
10.4 Our Proposed Solution |
|
|
262 | (10) |
|
10.4.1 Adopting Inverted Logic to Symmetric Key Ciphers |
|
|
265 | (3) |
|
|
268 | (1) |
|
|
269 | (1) |
|
10.4.4 Comparison with Existing Countermeasures |
|
|
269 | (3) |
|
10.4.5 Connection with Side Channel Countermeasures |
|
|
272 | (1) |
|
|
272 | (1) |
|
|
273 | (4) |
|
|
277 | (6) |
|
|
277 | (2) |
|
11.2 Interesting Problems for Future Research |
|
|
279 | (2) |
|
|
281 | (2) |
Index |
|
283 | |