I’ve collected some resources if you’re interested in learning more about lattice-based cryptography, fully homomorphic encryption (FHE), or zero-knowledge proofs (ZKP). Wikipedia is a great place to start before diving into anything listed below.

## Lattice-based Cryptography

Lattice-based cryptography is a type of post-quantum crytography (i.e. cryptography that is resistant to attacks from a quantum computer) using lattices.

*An Introduction to Mathematical Cryptography*. See the “Lattices and Cryptography” chapter. This was the first resource I used in undergrad to learn about lattice-based cryptography.- A Decade of Lattice Cryptography. A lot more advanced than the previous resource but thoroughly covers the major aspects of lattice-based cryptography.
- Simons Institute Lattices Program. Videos covering everything from the basics of lattices to current research being done today.

## Fully Homomorphic Encryption

Fully homomorphic encryption can be viewed as an extension of public key encryption schemes. It allows for arbitrary computations over encrypted data in a “structure-preserving” way. All FHE schemes use lattice-based cryptography.

- A Brief Survey of Fully Homomorphic Encryption. A short post introducting what fully homomorphic encryption is and how it works. A good starting point if you don’t know anything about FHE.
- Computing Arbitrary Functions of Encrypted Data. A brief but very well-written paper from the Craig Gentry (the 1st person to successfully construct an FHE scheme). More technically involved than the above but provides good intuition for understanding how FHE works.
- Fundamentals of Fully Homomorphic Encryption. An accessible but longer introduction to FHE.
- Microsoft SEAL Examples. Allows you to see how FHE works in practice. Does not assume prior knowledge of cryptography. Probably the most useful resource if you’re an engineer.

## Zero-knowledge Proofs

Zero-knowledge proofs allow you to convince someone (called a “verifier”) of some fact without “revealing” any additional information (hence the term “zero-knowledge” because the verifier learned nothing after the interaction apart from being convinced that the fact was true).

- Zero Knowledge Proofs: An illustrated primer. Fantastic blog post explaining ZKPs. A good starting point.
*Cryptography: An Introduction*. See the “Zero-Knowledge Proofs” chapter.- Simons Institute Proofs, Consensus and Decentralizing Society Bootcamp. Specifically the videos from days 1 and 2.
- ZKProof Community Reference. A very long reference document explaining various technical aspects of ZKPs from ZKProof, an intiative to standardize ZKPs. This document is good to look at if you encounter a term you don’t know.