Basic Information
- Code: LTAT.04.016
- Lectures: Wednesday 12:15, Delta – 1022.
- Practices: Monday 12:15, Delta - 1022.
- Discord: you get access when the semester starts
- Lecturer: Helger Lipmaa (firstname.lastname@gmail.com - do not mail to ut.ee)
- Teaching assistant: Erki Külaots
General Information
Note: this is the first time this course is given. We will be lax but exciting.
Objectives
The course aims to introduce students to the fascinating area of zero-knowledge proofs and zk-SNARKs, allowing them to become researchers or cryptographic engineers in academia or industry.
Learning outcomes
The students will learn
- basic cryptography needed to understand and construct zk-SNARKs,
- currently prevalent techniques to construct efficient zk-SNARKs,
- toolkits, and techniques to apply existing zk-SNARKs in new applications.
The course will stay current, and the concrete techniques we teach will evolve with time.
Brief description of content
Zero-knowledge (ZK) proofs and especially zk-SNARKs (succinct non-interactive proofs of knowledge) are currently a very trendy topic, especially motivated by the application of privacy-preserving blockchain. Other applications include privacy-preserving machine learning (including the training), privacy-preserving image processing, etc. Zk-SNARKs allow one to prove that some large-scale computation was performed correctly with two additional objectives: (1) nothing is leaked about the private data, and (2) verifying the proof should be considerably more efficient than doing the computation itself. The area is currently very rich in theory (with hundreds of research papers annually) and practice (a few hundred active startups). The objective of the course is to introduce students to this fascinating area. They will learn cryptographic techniques needed to understand and construct modern zk-SNARKs and modern toolkits to apply in practical applications.
Target group
The student is geared towards graduate students, but we accept undergraduate students that have taken Cryptology I or an analog. We assume that the student has taken basic courses in mathematics and algorithms.