A Course in Cryptography

Heiko Knospe (Author)

ISBN: 9789349750197 | Year: 2025 | Paperback | Pages: 344 | Language : English

Book Size: 180 x 240 mm | Territorial Rights: Restricted| Series American Mathematical Society

Price: 1365.00

About the Book

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.

Contributors (Author(s), Editor(s), Translator(s), Illustrator(s) etc.)

Heiko Knospe: Technische Hochschule Köln, University of Applied Sciences, Cologne, Germany

Table of Content

Preface
Getting Started with SageMath
0.1. Installation
0.2. SageMath Command Line
0.3. Browser Notebooks
0.4. Computations with SageMath

Chapter 1. Fundamentals
1.1. Sets, Relations and Functions
1.2. Combinatorics
1.3. Computational Complexity
1.4. Discrete Probability
1.5. Random Numbers
1.6. Summary
Exercises

Chapter 2. Encryption Schemes and Definitions of Security
2.1. Encryption Schemes
2.2. Perfect Secrecy
2.3. Computational Security
2.4. Indistinguishable Encryptions
2.5. Eavesdropping Attacks
2.6. Chosen Plaintext Attacks
2.7. Chosen Ciphertext Attacks
2.8. Pseudorandom Generators
2.9. Pseudorandom Functions
2.10. Block Ciphers and Operation Modes
2.11. Summary
Exercises

Chapter 3. Elementary Number Theory
3.1. Integers
3.2. Congruences
3.3. Modular Exponentiation
3.4. Summary
Exercises

Chapter 4. Algebraic Structures
4.1. Groups
4.2. Rings and Fields
4.3. Finite Fields
4.4. Linear and Affine Maps
4.5. Summary
Exercises

Chapter 5. Block Ciphers
5.1. Constructions of Block Ciphers
5.2. Advanced Encryption Standard
5.3. Summary
Exercises

Chapter 6. Stream Ciphers
6.1. Definition of Stream Ciphers
6.2. Linear Feedback Shift Registers
6.3. RC4
6.4. Salsa20 and ChaCha20
6.5. Summary
Exercises
Chapter 7. Hash Functions
7.1. Definitions and Security Requirements
7.2. Applications of Hash Functions
7.3. Merkle-Damgård Construction
7.4. SHA-1
7.5. SHA-2
7.6. SHA-3
7.7. Summary
Exercises

Chapter 8. Message Authentication Codes
8.1. Definitions and Security Requirements
8.2. CBC MAC
8.3. HMAC
8.4. Authenticated Encryption
8.5. Summary
Exercises

Chapter 9. Public-Key Encryption and the RSA Cryptosystem
9.1. Public-Key Cryptosystems
9.2. Plain RSA
9.3. RSA Security
9.4. Generation of Primes
9.5. Efficiency of RSA
9.6. Padded RSA
9.7. Factoring
9.8. Summary
Exercises

Chapter 10. Key Establishment
10.1. Key Distribution
10.2. Key Exchange Protocols
10.3. Diffie-Hellman Key Exchange
10.4. Diffie-Hellman using Subgroups of zz _{??}*
10.5. Discrete Logarithm
10.6. Key Encapsulation
10.7. Hybrid Encryption
10.8. Summary
Exercises

Chapter 11. Digital Signatures
11.1. Definitions and Security Requirements
11.2. Plain RSA Signature
11.3. Probabilistic Signature Scheme
11.4. Summary
Exercises

 

Chapter 12. Elliptic Curve Cryptography
12.1. Weierstrass Equations and Elliptic Curves
12.2. Elliptic Curve Diffie-Hellman
12.3. Efficiency and Security of Elliptic Curve Cryptography
12.4. Elliptic Curve Factoring Method
12.5. Summary
Exercises

Chapter 13. Quantum Computing
13.1. Quantum Bits
13.2. Multiple Qubit Systems
13.3. Quantum Algorithms
13.4. Quantum Fourier Transform
13.5. Shor’s Factoring Algorithm
13.6. Quantum Key Distribution
13.7. Summary
Exercises

Chapter 14. Lattice-based Cryptography
14.1. Lattices
14.2. Lattice Algorithms
14.3. GGH Cryptosystem
14.4. NTRU
14.5. Learning with Errors
14.6. Summary
Exercises

Chapter 15. Code-based Cryptography
15.1. Linear Codes
15.2. Bounds on Codes
15.3. Goppa Codes
15.4. McEliece Cryptosystem
15.5. Summary
Exercises
Bibliography
Index

`