Mort Yao


  • Jonathan Katz and Yehuda Lindell. Introduction to Modern Cryptography, 2nd edition.

Supplementary reading:

List of Acronyms

1 Introduction

Preliminaries: Basic statistics, theory of computation (Computability: Turing machines and algorithms).

1.1 Principles of Modern Cryptography

1.2 Classical Ciphers

1.2.1 Shift Cipher

1.2.2 Substitution Cipher

1.2.3 Vigenère Cipher

2 Information-Theoretic Security

Preliminaries: Information theory.

2.1 Perfect Secrecy

2.2 One-Time Pad (OTP)

3 Private-Key Cryptography

Preliminaries: Basic probability theory, theory of computation (Complexity: efficient algorithms and negligible functions).

3.1 One-Way Functions and Pseudorandomness

3.2 Private-Key Encryption and Computational Security

3.3 Message Authentication Codes (MAC)

3.4 Stream Ciphers

3.5 Block Ciphers

3.6 Hash Functions

4 Public-Key Cryptography

Preliminaries: Basic abstract algebra, algebraic and computational number theory.

4.1 Cryptographic Hardness Assumptions

4.2 Key Exchange

4.3 Public-Key Encryption

4.4 Digital Signatures


4.6 Advanced Topics

4.6.1 Elliptic Curves

4.6.2 Trapdoor Permutations

4.6.3 Multilinear Maps

4.6.4 Fully Homomorphic Encryption (FHE)

4.6.5 Computational Indistinguishability Obfuscation

5 Quantum Cryptography

5.1 Quantum Computing

5.2 Hidden Subgroup Problem (HSP)

5.3 Shor’s Algorithm

5.4 Simon’s Algorithm