Backgrounds
Those who want to step inside (lattice-based) cryptography should read the following references for background:
Theory of computation:
MIT Opencourse by Michael Sipser (his book is here)
Theory of Complexity:
Foundations of Cryptography:
Goldreich's books Vol 1, Vol 2 (his website)
Nigel P Smart books: Cryptography Made Simple
Book: A Graduate Course in Applied Cryptography by Dan Boneh and Victor Shoup
Theory of Lattices:
Vinod's course 2020 : CS 294-168 Lattices, Learning with Errors and Post-Quantum Cryptography
Cryptographic Protocols:
Cryptography and Cryptographic Protocols by Oded Goldreich
Lecture Notes Cryptographic Protocols by Berry Schoenmakers
Security Proofs:
Game-based Proof: Sequences of games: a tool for taming complexity in security proofs by Victor Shoup (or here)
Simulation-based Proof: How To Simulate It - A Tutorial on the Simulation Proof Technique by Yehuda Lindell
UC-based Proof: Universally Composable Security: A New Paradigm for Cryptographic Protocols by Ran Cannetti
Security Reduction: [Book] Introduction to Security Reduction by Fuchun Guo, Willy Susilo, Yi Mu
ROM & QROM
Random Oracles in a Quantum World by Dan Boneh and Özgür Dagdelen and Marc Fischlin and Anja Lehmann and Christian Schaffner and Mark Zhandry
Random Oracles are Practical: A Paradigm for Designing Ecient Protocols by Mihir Bellare and Phillip Rogawa
The Random Oracle Model: A Twenty-Year Retrospective by Neal Koblitz and Alfred Menezes
The Random Oracle Methodology, Revisited by Ran Canetti, Oded Goldreich and Shai Halevi
Choose Parameters for LWE
LWE Estimator (Documentations): https://lwe-estimator.readthedocs.io/en/latest/
Script on SageMath:
load("https://bitbucket.org/malb/lwe-estimator/raw/HEAD/estimator.py")
n, alpha, q = 256, 0.000976562500000000, 65537
set_verbose(1)
_ = estimate_lwe(n, alpha, q)
Estimate all the fLWE, NTRUg schemes: https://estimate-all-the-lwe-ntru-schemes.github.io/docs/