Preface |
|
xiii | |
Getting Started with SageMath |
|
1 | (6) |
|
|
1 | (1) |
|
0.2 SageMath Command Line |
|
|
2 | (1) |
|
|
2 | (1) |
|
0.4 Computations with SageMath |
|
|
3 | (4) |
|
|
7 | (24) |
|
1.1 Sets, Relations and Functions |
|
|
7 | (7) |
|
|
14 | (2) |
|
1.3 Computational Complexity |
|
|
16 | (3) |
|
|
19 | (4) |
|
|
23 | (4) |
|
|
27 | (1) |
|
|
28 | (3) |
|
Chapter 2 Encryption Schemes and Definitions of Security |
|
|
31 | (30) |
|
|
32 | (3) |
|
|
35 | (1) |
|
2.3 Computational Security |
|
|
36 | (1) |
|
2.4 Indistinguishable Encryptions |
|
|
37 | (2) |
|
2.5 Eavesdropping Attacks |
|
|
39 | (2) |
|
2.6 Chosen Plaintext Attacks |
|
|
41 | (2) |
|
2.7 Chosen Ciphertext Attacks |
|
|
43 | (2) |
|
2.8 Pseudorandom Generators |
|
|
45 | (3) |
|
2.9 Pseudorandom Functions |
|
|
48 | (4) |
|
2.10 Block Ciphers and Operation Modes |
|
|
52 | (6) |
|
|
58 | (1) |
|
|
58 | (3) |
|
Chapter 3 Elementary Number Theory |
|
|
61 | (12) |
|
|
61 | (4) |
|
|
65 | (2) |
|
3.3 Modular Exponentiation |
|
|
67 | (2) |
|
|
69 | (1) |
|
|
69 | (4) |
|
Chapter 4 Algebraic Structures |
|
|
73 | (28) |
|
|
73 | (8) |
|
|
81 | (1) |
|
|
82 | (10) |
|
4.4 Linear and Affine Maps |
|
|
92 | (5) |
|
|
97 | (1) |
|
|
97 | (4) |
|
|
101 | (14) |
|
5.1 Constructions of Block Ciphers |
|
|
101 | (3) |
|
5.2 Advanced Encryption Standard |
|
|
104 | (7) |
|
|
111 | (1) |
|
|
111 | (4) |
|
|
115 | (22) |
|
6.1 Definition of Stream Ciphers |
|
|
115 | (4) |
|
6.2 Linear Feedback Shift Registers |
|
|
119 | (9) |
|
|
128 | (2) |
|
|
130 | (5) |
|
|
135 | (1) |
|
|
135 | (2) |
|
|
137 | (14) |
|
7.1 Definitions and Security Requirements |
|
|
137 | (2) |
|
7.2 Applications of Hash Functions |
|
|
139 | (1) |
|
7.3 Merkle-Damgard Construction |
|
|
140 | (2) |
|
|
142 | (3) |
|
|
145 | (1) |
|
|
146 | (3) |
|
|
149 | (1) |
|
|
149 | (2) |
|
Chapter 8 Message Authentication Codes |
|
|
151 | (12) |
|
8.1 Definitions and Security Requirements |
|
|
151 | (3) |
|
|
154 | (2) |
|
|
156 | (1) |
|
8.4 Authenticated Encryption |
|
|
157 | (4) |
|
|
161 | (1) |
|
|
161 | (2) |
|
Chapter 9 Public-Key Encryption and the RSA Cryptosystem |
|
|
163 | (22) |
|
9.1 Public-Key Cryptosystems |
|
|
163 | (3) |
|
|
166 | (2) |
|
|
168 | (2) |
|
|
170 | (3) |
|
|
173 | (2) |
|
|
175 | (2) |
|
|
177 | (5) |
|
|
182 | (1) |
|
|
182 | (3) |
|
Chapter 10 Key Establishment |
|
|
185 | (18) |
|
|
186 | (1) |
|
10.2 Key Exchange Protocols |
|
|
186 | (2) |
|
10.3 Diffie-Hellman Key Exchange |
|
|
188 | (2) |
|
10.4 Diffie-Hellman using Subgroups of Zp |
|
|
190 | (2) |
|
|
192 | (2) |
|
|
194 | (3) |
|
|
197 | (3) |
|
|
200 | (1) |
|
|
200 | (3) |
|
Chapter 11 Digital Signatures |
|
|
203 | (10) |
|
11.1 Definitions and Security Requirements |
|
|
203 | (2) |
|
|
205 | (1) |
|
11.3 Probabilistic Signature Scheme |
|
|
206 | (4) |
|
|
210 | (1) |
|
|
210 | (3) |
|
Chapter 12 Elliptic Curve Cryptography |
|
|
213 | (16) |
|
12.1 Weierstrass Equations and Elliptic Curves |
|
|
213 | (9) |
|
12.2 Elliptic Curve Diffie-Hellman |
|
|
222 | (1) |
|
12.3 Efficiency and Security of Elliptic Curve Cryptography |
|
|
223 | (1) |
|
12.4 Elliptic Curve Factoring Method |
|
|
224 | (3) |
|
|
227 | (1) |
|
|
227 | (2) |
|
Chapter 13 Quantum Computing |
|
|
229 | (24) |
|
|
230 | (4) |
|
13.2 Multiple Qubit Systems |
|
|
234 | (1) |
|
|
235 | (6) |
|
13.4 Quantum Fourier Transform |
|
|
241 | (1) |
|
13.5 Shor's Factoring Algorithm |
|
|
242 | (6) |
|
13.6 Quantum Key Distribution |
|
|
248 | (3) |
|
|
251 | (1) |
|
|
251 | (2) |
|
Chapter 14 Lattice-based Cryptography |
|
|
253 | (32) |
|
|
254 | (6) |
|
|
260 | (9) |
|
|
269 | (2) |
|
|
271 | (5) |
|
14.5 Learning with Errors |
|
|
276 | (6) |
|
|
282 | (1) |
|
|
282 | (3) |
|
Chapter 15 Code-based Cryptography |
|
|
285 | (28) |
|
|
286 | (4) |
|
|
290 | (5) |
|
|
295 | (8) |
|
15.4 McEliece Cryptosystem |
|
|
303 | (6) |
|
|
309 | (1) |
|
|
310 | (3) |
Bibliography |
|
313 | (6) |
Index |
|
319 | |