|
1 Introduction to Cryptography |
|
|
1 | (8) |
|
1.1 Introduction to Cryptography |
|
|
1 | (1) |
|
1.2 The Players in the Game |
|
|
2 | (2) |
|
1.3 Ciphertext Only Attack: An Example |
|
|
4 | (3) |
|
|
7 | (2) |
|
2 Introduction to Probability |
|
|
9 | (20) |
|
2.1 Introduction to Probability |
|
|
9 | (5) |
|
2.1.1 Abstract Probability Spaces |
|
|
11 | (3) |
|
2.2 Conditional Probability |
|
|
14 | (1) |
|
|
15 | (4) |
|
|
19 | (3) |
|
2.5 2-Dimensional Random Variables |
|
|
22 | (3) |
|
|
25 | (1) |
|
|
26 | (3) |
|
3 Information Theory and Entropy |
|
|
29 | (24) |
|
|
29 | (6) |
|
3.1.1 Entropy and Randomness: Jensen's Inequality |
|
|
31 | (4) |
|
3.2 Entropy of Plaintext English |
|
|
35 | (5) |
|
|
39 | (1) |
|
3.3 Joint and Conditional Entropy |
|
|
40 | (4) |
|
|
44 | (6) |
|
|
50 | (3) |
|
4 Introduction to Complexity Theory |
|
|
53 | (20) |
|
4.1 Basics of Complexity Theory |
|
|
53 | (1) |
|
4.2 Polynomial Time Algorithms |
|
|
54 | (4) |
|
4.3 Non-polynomial Time Algorithms |
|
|
58 | (3) |
|
4.4 Complexity Classes P, PP, BPP |
|
|
61 | (7) |
|
4.4.1 Probabilistic Polynomial Time |
|
|
62 | (4) |
|
|
66 | (2) |
|
4.5 Probabilistic Algorithms for Functions |
|
|
68 | (1) |
|
|
69 | (4) |
|
5 Algebraic Foundations: Groups |
|
|
73 | (28) |
|
5.1 Introduction to Groups |
|
|
73 | (2) |
|
5.2 Examples of Infinite Groups |
|
|
75 | (2) |
|
5.3 Examples of Finite Groups |
|
|
77 | (7) |
|
5.3.1 The Symmetric Group on n Letters |
|
|
77 | (4) |
|
5.3.2 The Group of Residues Modulo n |
|
|
81 | (3) |
|
5.4 Direct Product of Groups |
|
|
84 | (1) |
|
|
85 | (2) |
|
5.6 Homomorphisms of Groups |
|
|
87 | (1) |
|
|
88 | (9) |
|
|
92 | (5) |
|
|
97 | (4) |
|
6 Algebraic Foundations: Rings and Fields |
|
|
101 | (16) |
|
6.1 Introduction to Rings and Fields |
|
|
101 | (5) |
|
6.1.1 Polynomials in F[ x] |
|
|
104 | (2) |
|
6.2 The Group of Units of Zn |
|
|
106 | (4) |
|
6.2.1 A Formula for Euler's Function |
|
|
109 | (1) |
|
|
110 | (1) |
|
|
111 | (5) |
|
|
112 | (4) |
|
|
116 | (1) |
|
7 Advanced Topics in Algebra |
|
|
117 | (22) |
|
7.1 Quotient Rings and Ring Homomorphisms |
|
|
117 | (9) |
|
|
117 | (6) |
|
|
123 | (3) |
|
7.2 Simple Algebraic Extensions |
|
|
126 | (2) |
|
|
128 | (1) |
|
|
128 | (6) |
|
7.4 Invertible Matrices over Zpq |
|
|
134 | (2) |
|
|
136 | (3) |
|
8 Symmetric Key Cryptography |
|
|
139 | (34) |
|
8.1 Simple Substitution Cryptosystems |
|
|
140 | (3) |
|
8.1.1 Unicity Distance of the Simple Substitution Cryptosy stem |
|
|
142 | (1) |
|
|
143 | (2) |
|
8.2.1 Unicity Distance of the Affine Cipher |
|
|
145 | (1) |
|
8.3 The Hill 2 × 2 Cipher |
|
|
145 | (4) |
|
8.3.1 Unicity Distance of the Hill 2 × 2 Cipher |
|
|
148 | (1) |
|
8.4 Cryptanalysis of the Simple Substitution Cryptosystem |
|
|
149 | (6) |
|
8.5 Polyalphabetic Cryptosystems |
|
|
155 | (8) |
|
8.5.1 The Vigenere Cipher |
|
|
156 | (1) |
|
8.5.2 Unicity Distance of the Vigenere Cipher |
|
|
157 | (1) |
|
8.5.3 Cryptanalysis of the Vigenere Cipher |
|
|
157 | (3) |
|
|
160 | (2) |
|
8.5.5 Unicity Distance of the Vernam Cipher |
|
|
162 | (1) |
|
|
163 | (1) |
|
|
164 | (4) |
|
8.7.1 Iterated Block Ciphers |
|
|
165 | (3) |
|
|
168 | (5) |
|
9 Public Key Cryptography |
|
|
173 | (30) |
|
9.1 Introduction to Public Key Cryptography |
|
|
173 | (4) |
|
9.1.1 Negligible Functions |
|
|
174 | (1) |
|
9.1.2 One-Way Trapdoor Functions |
|
|
175 | (2) |
|
9.2 The RSA Public Key Cryptosystem |
|
|
177 | (3) |
|
|
180 | (13) |
|
|
181 | (2) |
|
|
183 | (4) |
|
9.3.3 Difference of Two Squares |
|
|
187 | (6) |
|
9.4 The ElGamal Public Key Cryptosystem |
|
|
193 | (3) |
|
|
196 | (1) |
|
9.6 Symmetric vs. Public Key Cryptography |
|
|
197 | (2) |
|
|
199 | (4) |
|
10 Digital Signature Schemes |
|
|
203 | (14) |
|
10.1 Introduction to Digital Signature Schemes |
|
|
203 | (2) |
|
10.2 The RSA Digital Signature Scheme |
|
|
205 | (2) |
|
10.3 Signature with Privacy |
|
|
207 | (1) |
|
10.4 Security of Digital Signature Schemes |
|
|
208 | (1) |
|
10.5 Hash Functions and DSS |
|
|
209 | (6) |
|
10.5.1 The Discrete Log Family |
|
|
210 | (2) |
|
|
212 | (2) |
|
10.5.3 Hash-Then-Sign DSS |
|
|
214 | (1) |
|
|
215 | (2) |
|
|
217 | (38) |
|
11.1 Linearly Recursive Sequences |
|
|
217 | (9) |
|
11.2 The Shrinking Generator Sequence |
|
|
226 | (5) |
|
|
231 | (4) |
|
11.4 Pseudorandom Bit Generators |
|
|
235 | (16) |
|
11.4.1 Hard-Core Predicates |
|
|
237 | (1) |
|
11.4.2 Hard-Core Predicates and the DLA |
|
|
238 | (4) |
|
11.4.3 The Blum--Micali Bit Generator |
|
|
242 | (3) |
|
11.4.4 The Quadratic Residue Assumption |
|
|
245 | (2) |
|
11.4.5 The Blum--Blum--Shub Bit Generator |
|
|
247 | (4) |
|
|
251 | (4) |
|
|
255 | (16) |
|
12.1 The Diffie--Hellman Key Exchange Protocol |
|
|
255 | (1) |
|
12.2 The Discrete Logarithm Problem |
|
|
256 | (12) |
|
|
258 | (4) |
|
|
262 | (3) |
|
12.2.3 Efficiency of Index Calculus |
|
|
265 | (2) |
|
12.2.4 The Man-in-the-Middle Attack |
|
|
267 | (1) |
|
|
268 | (3) |
|
13 Elliptic Curves in Cryptography |
|
|
271 | (26) |
|
13.1 The Equation y1 = x3 + ax + b |
|
|
271 | (5) |
|
|
276 | (2) |
|
|
278 | (1) |
|
13.4 The Elliptic Curve Group |
|
|
279 | (8) |
|
|
285 | (2) |
|
13.5 The Elliptic Curve Key Exchange Protocol |
|
|
287 | (9) |
|
13.5.1 Comparing ECKEP and DHKEP |
|
|
289 | (1) |
|
13.5.2 What Elliptic Curves to Avoid |
|
|
290 | (2) |
|
13.5.3 Examples of Good Curves |
|
|
292 | (4) |
|
|
296 | (1) |
|
|
297 | (14) |
|
|
297 | (4) |
|
|
301 | (2) |
|
|
303 | (3) |
|
|
306 | (3) |
|
|
309 | (2) |
References |
|
311 | (4) |
Index |
|
315 | |