1. Lattices
a) Two definitions of lattices
b) Integer lattices and quotients
c) Duality, Projected Lattices and Gram-Schmidt Orthogonalization
d) Minima and Minkowski’s Convex Body Theorem
c) Lattice Problems: Shortest Vector, Closest Vectors, SIS and LWE
2. Fundamental Lattice Algorithms
a) Integral Gram-Schmidt
b) Extracting a basis
c) The LLL Algorithm
d) Enumeration
3. Basic Lattice Cryptography
a) With or Without Trapdoors
b) Lattice-based Encryption
c) Lattice-based Signatures
d) Identity-based Encryption
4. Advanced Lattice Algorithms
a) Enumeration with Pruning: Cylinder Pruning and Discrete Pruning
b) Mordell’s Inequality and Blockwise Reduction
c) The Discrete Gaussian Distribution: Gaussian sampling and worst-case to average-case reductions
d) Sieving