Muutke küpsiste eelistusi

Course in Cryptography [Kõva köide]

  • Formaat: Hardback, 323 pages, kõrgus x laius: 254x178 mm, kaal: 800 g
  • Sari: Pure and Applied Undergraduate Texts
  • Ilmumisaeg: 30-Nov-2019
  • Kirjastus: American Mathematical Society
  • ISBN-10: 1470450550
  • ISBN-13: 9781470450557
Teised raamatud teemal:
  • Formaat: Hardback, 323 pages, kõrgus x laius: 254x178 mm, kaal: 800 g
  • Sari: Pure and Applied Undergraduate Texts
  • Ilmumisaeg: 30-Nov-2019
  • Kirjastus: American Mathematical Society
  • ISBN-10: 1470450550
  • ISBN-13: 9781470450557
Teised raamatud teemal:
This book provides a compact course in modern cryptography. The mathematical foundations in algebra, number theory and probability are presented with a focus on their cryptographic applications. The text provides rigorous definitions and follows the provable security approach. The most relevant cryptographic schemes are covered, including block ciphers, stream ciphers, hash functions, message authentication codes, public-key encryption, key establishment, digital signatures and elliptic curves. The current developments in post-quantum cryptography are also explored, with separate chapters on quantum computing, lattice-based and code-based cryptosystems.

Many examples, figures and exercises, as well as SageMath (Python) computer code, help the reader to understand the concepts and applications of modern cryptography. A special focus is on algebraic structures, which are used in many cryptographic constructions and also in post-quantum systems. The essential mathematics and the modern approach to cryptography and security prepare the reader for more advanced studies.

The text requires only a first-year course in mathematics (calculus and linear algebra) and is also accessible to computer scientists and engineers. This book is suitable as a textbook for undergraduate and graduate courses in cryptography as well as for self-study.
Preface xiii
Getting Started with SageMath 1(6)
0.1 Installation
1(1)
0.2 SageMath Command Line
2(1)
0.3 Browser Notebooks
2(1)
0.4 Computations with SageMath
3(4)
Chapter 1 Fundamentals
7(24)
1.1 Sets, Relations and Functions
7(7)
1.2 Combinatorics
14(2)
1.3 Computational Complexity
16(3)
1.4 Discrete Probability
19(4)
1.5 Random Numbers
23(4)
1.6 Summary
27(1)
Exercises
28(3)
Chapter 2 Encryption Schemes and Definitions of Security
31(30)
2.1 Encryption Schemes
32(3)
2.2 Perfect Secrecy
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)
2.11 Summary
58(1)
Exercises
58(3)
Chapter 3 Elementary Number Theory
61(12)
3.1 Integers
61(4)
3.2 Congruences
65(2)
3.3 Modular Exponentiation
67(2)
3.4 Summary
69(1)
Exercises
69(4)
Chapter 4 Algebraic Structures
73(28)
4.1 Groups
73(8)
4.2 Rings and Fields
81(1)
4.3 Finite Fields
82(10)
4.4 Linear and Affine Maps
92(5)
4.5 Summary
97(1)
Exercises
97(4)
Chapter 5 Block Ciphers
101(14)
5.1 Constructions of Block Ciphers
101(3)
5.2 Advanced Encryption Standard
104(7)
5.3 Summary
111(1)
Exercises
111(4)
Chapter 6 Stream Ciphers
115(22)
6.1 Definition of Stream Ciphers
115(4)
6.2 Linear Feedback Shift Registers
119(9)
6.3 RC4
128(2)
6.4 Salsa20 and ChaCha20
130(5)
6.5 Summary
135(1)
Exercises
135(2)
Chapter 7 Hash Functions
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)
7.4 SHA-1
142(3)
7.5 SHA-2
145(1)
7.6 SHA-3
146(3)
7.7 Summary
149(1)
Exercises
149(2)
Chapter 8 Message Authentication Codes
151(12)
8.1 Definitions and Security Requirements
151(3)
8.2 CBC MAC
154(2)
8.3 HMAC
156(1)
8.4 Authenticated Encryption
157(4)
8.5 Summary
161(1)
Exercises
161(2)
Chapter 9 Public-Key Encryption and the RSA Cryptosystem
163(22)
9.1 Public-Key Cryptosystems
163(3)
9.2 Plain RSA
166(2)
9.3 RSA Security
168(2)
9.4 Generation of Primes
170(3)
9.5 Efficiency of RSA
173(2)
9.6 Padded RSA
175(2)
9.7 Factoring
177(5)
9.8 Summary
182(1)
Exercises
182(3)
Chapter 10 Key Establishment
185(18)
10.1 Key Distribution
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)
10.5 Discrete Logarithm
192(2)
10.6 Key Encapsulation
194(3)
10.7 Hybrid Encryption
197(3)
10.8 Summary
200(1)
Exercises
200(3)
Chapter 11 Digital Signatures
203(10)
11.1 Definitions and Security Requirements
203(2)
11.2 Plain RSA Signature
205(1)
11.3 Probabilistic Signature Scheme
206(4)
11.4 Summary
210(1)
Exercises
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)
12.5 Summary
227(1)
Exercises
227(2)
Chapter 13 Quantum Computing
229(24)
13.1 Quantum Bits
230(4)
13.2 Multiple Qubit Systems
234(1)
13.3 Quantum Algorithms
235(6)
13.4 Quantum Fourier Transform
241(1)
13.5 Shor's Factoring Algorithm
242(6)
13.6 Quantum Key Distribution
248(3)
13.7 Summary
251(1)
Exercises
251(2)
Chapter 14 Lattice-based Cryptography
253(32)
14.1 Lattices
254(6)
14.2 Lattice Algorithms
260(9)
14.3 GGH Cryptosystem
269(2)
14.4 NTRU
271(5)
14.5 Learning with Errors
276(6)
14.6 Summary
282(1)
Exercises
282(3)
Chapter 15 Code-based Cryptography
285(28)
15.1 Linear Codes
286(4)
15.2 Bounds on Codes
290(5)
15.3 Goppa Codes
295(8)
15.4 McEliece Cryptosystem
303(6)
15.5 Summary
309(1)
Exercises
310(3)
Bibliography 313(6)
Index 319
Heiko Knospe, Technische Hochschule Koln, University of Applied Sciences, Cologne, Germany.