|
1 Introduction to Cryptology |
|
|
1 | (6) |
|
|
2 | (1) |
|
1.2 Cryptology in Practice |
|
|
2 | (2) |
|
1.3 Why Study Cryptology? |
|
|
4 | (3) |
|
|
7 | (26) |
|
2.1 Keyword Substitution Ciphers |
|
|
7 | (4) |
|
2.1.1 Simple Keyword Substitution Ciphers |
|
|
8 | (1) |
|
2.1.2 Keyword Columnar Substitution Ciphers |
|
|
9 | (2) |
|
2.2 A Maplet for Substitution Ciphers |
|
|
11 | (4) |
|
2.3 Cryptanalysis of Substitution Ciphers |
|
|
15 | (7) |
|
2.4 A Maplet for Cryptanalysis of Substitution Ciphers |
|
|
22 | (4) |
|
|
26 | (3) |
|
2.6 A Maplet for Playfair Ciphers |
|
|
29 | (4) |
|
|
33 | (30) |
|
3.1 Columnar Transposition Ciphers |
|
|
33 | (6) |
|
3.1.1 Simple Columnar Transposition Ciphers |
|
|
34 | (2) |
|
3.1.2 Keyword Columnar Transposition Ciphers |
|
|
36 | (3) |
|
3.2 A Maplet for Transposition Ciphers |
|
|
39 | (4) |
|
3.3 Cryptanalysis of Transposition Ciphers |
|
|
43 | (5) |
|
3.3.1 Cryptanalysis of Simple Columnar Ciphers |
|
|
43 | (2) |
|
3.3.2 Cryptanalysis of Keyword Columnar Ciphers |
|
|
45 | (3) |
|
3.4 Maplets for Cryptanalysis of Transposition Ciphers |
|
|
48 | (7) |
|
3.5 ADFGX and ADFGVX Ciphers |
|
|
55 | (3) |
|
3.6 A Maplet for ADFGX and ADFGVX Ciphers |
|
|
58 | (5) |
|
4 The Enigma Machine and Navajo Code |
|
|
63 | (50) |
|
4.1 The Enigma Cipher Machine |
|
|
64 | (17) |
|
4.2 A Maplet for the Enigma Cipher Machine |
|
|
81 | (5) |
|
|
86 | (10) |
|
4.3.1 The Multiplication Principle |
|
|
86 | (2) |
|
|
88 | (3) |
|
|
91 | (5) |
|
4.4 Cryptanalysis of the Enigma Cipher Machine |
|
|
96 | (7) |
|
4.4.1 Calculating the Number of Initial Configurations |
|
|
96 | (3) |
|
4.4.2 Some History of Cryptanalysis of the Enigma |
|
|
99 | (4) |
|
|
103 | (5) |
|
4.6 A Maplet for the Navajo Code |
|
|
108 | (5) |
|
5 Shift and Affine Ciphers |
|
|
113 | (44) |
|
|
113 | (11) |
|
5.2 A Maplet for Modular Reduction |
|
|
124 | (2) |
|
|
126 | (4) |
|
5.4 A Maplet for Shift Ciphers |
|
|
130 | (3) |
|
5.5 Cryptanalysis of Shift Ciphers |
|
|
133 | (3) |
|
5.6 A Maplet for Cryptanalysis of Shift Ciphers |
|
|
136 | (4) |
|
|
140 | (3) |
|
5.8 A Maplet for Affine Ciphers |
|
|
143 | (4) |
|
5.9 Cryptanalysis of Affine Ciphers |
|
|
147 | (3) |
|
5.10 A Maplet for Cryptanalysis of Affine Ciphers |
|
|
150 | (7) |
|
6 Alberti and Vigenere Ciphers |
|
|
157 | (72) |
|
|
158 | (4) |
|
6.2 A Maplet for Alberti Ciphers |
|
|
162 | (8) |
|
|
170 | (6) |
|
6.3.1 Vigenere Autokey Ciphers |
|
|
170 | (3) |
|
6.3.2 Vigenere Keyword Ciphers |
|
|
173 | (3) |
|
6.4 A Maplet for Vigenere Keyword Ciphers |
|
|
176 | (2) |
|
|
178 | (9) |
|
|
187 | (6) |
|
6.6.1 The Index of Coincidence |
|
|
187 | (4) |
|
6.6.2 Estimating the Keyword Length |
|
|
191 | (2) |
|
6.7 A Maplet for the Friedman Test |
|
|
193 | (3) |
|
|
196 | (2) |
|
6.9 A Maplet for the Kasiski Test |
|
|
198 | (4) |
|
6.10 Cryptanalysis of Vigenere Keyword Ciphers |
|
|
202 | (21) |
|
6.10.1 Finding the Keyword Length Using Signatures |
|
|
203 | (5) |
|
6.10.2 Finding the Keyword Letters Using Scrawls |
|
|
208 | (15) |
|
6.11 A Maplet for Cryptanalysis of Vigenere Keyword Ciphers |
|
|
223 | (6) |
|
|
229 | (46) |
|
|
229 | (17) |
|
7.1.1 Definition and Basic Terminology |
|
|
230 | (1) |
|
|
231 | (5) |
|
7.1.3 Identity and Inverse Matrices |
|
|
236 | (3) |
|
7.1.4 Matrices with Modular Arithmetic |
|
|
239 | (7) |
|
7.2 A Maplet for Matrix Computations |
|
|
246 | (6) |
|
|
252 | (9) |
|
7.4 A Maplet for Hill Ciphers |
|
|
261 | (3) |
|
7.5 Cryptanalysis of Hill Ciphers |
|
|
264 | (5) |
|
7.6 A Maplet for Cryptanalysis of Hill Ciphers |
|
|
269 | (6) |
|
|
275 | (54) |
|
8.1 Introduction to Public-Key Ciphers |
|
|
275 | (3) |
|
8.2 Introduction to RSA Ciphers |
|
|
278 | (3) |
|
8.3 The Euclidean Algorithm |
|
|
281 | (7) |
|
8.4 Maplets for the Euclidean Algorithm |
|
|
288 | (3) |
|
8.5 Modular Exponentiation |
|
|
291 | (5) |
|
8.6 A Maplet for Modular Exponentiation |
|
|
296 | (2) |
|
|
298 | (1) |
|
|
298 | (6) |
|
8.9 Maplets for RSA Ciphers |
|
|
304 | (7) |
|
8.10 Cryptanalysis of RSA Ciphers |
|
|
311 | (5) |
|
8.11 A Maplet for Cryptanalysis of RSA Ciphers |
|
|
316 | (2) |
|
|
318 | (4) |
|
8.13 Integer Factorization |
|
|
322 | (4) |
|
8.14 The RSA Factoring Challenges |
|
|
326 | (3) |
|
|
329 | (42) |
|
9.1 The Diffie--Hellman Key Exchange |
|
|
330 | (4) |
|
9.2 Maplets for the Diffie--Hellman Key Exchange |
|
|
334 | (6) |
|
|
340 | (3) |
|
9.4 A Maplet for Discrete Logarithms |
|
|
343 | (3) |
|
|
346 | (8) |
|
9.6 Maplets for ElGamal Ciphers |
|
|
354 | (7) |
|
9.7 Cryptanalysis of ElGamal Ciphers |
|
|
361 | (6) |
|
9.8 A Maplet for Cryptanalysis of ElGamal Ciphers |
|
|
367 | (4) |
|
10 The Advanced Encryption Standard |
|
|
371 | (64) |
|
10.1 Representations of Numbers |
|
|
371 | (9) |
|
|
372 | (3) |
|
|
375 | (5) |
|
10.2 A Maplet for Base Conversions |
|
|
380 | (3) |
|
|
383 | (5) |
|
10.4 A Maplet for Stream Ciphers |
|
|
388 | (4) |
|
|
392 | (11) |
|
|
392 | (2) |
|
|
394 | (2) |
|
10.5.3 Key Format and Generation |
|
|
396 | (7) |
|
|
403 | (12) |
|
|
404 | (1) |
|
|
405 | (10) |
|
|
415 | (13) |
|
10.8 A Maplet for AES Ciphers |
|
|
428 | (6) |
|
|
434 | (1) |
|
11 Message Authentication |
|
|
435 | (58) |
|
|
436 | (9) |
|
|
445 | (8) |
|
11.3 RSA Signatures with Hashing |
|
|
453 | (6) |
|
11.4 Maplets for RSA Signatures |
|
|
459 | (11) |
|
11.5 The Man-in-the-Middle Attack |
|
|
470 | (4) |
|
11.6 A Maplet for the Man-in-the-Middle Attack |
|
|
474 | (2) |
|
11.7 Public-Key Infrastructures |
|
|
476 | (7) |
|
|
477 | (1) |
|
|
478 | (1) |
|
11.7.3 X.509 Certificates |
|
|
479 | (4) |
|
11.8 Maplets for X.509 Certificates |
|
|
483 | (10) |
Bibliography |
|
493 | (4) |
Hints or Answers to Selected Exercises |
|
497 | (36) |
Index |
|
533 | |