Implementation of Cryptographic Tools for Zero-knowledge proofs
Project Description
The project will build code implementations for a series of cryptographic tools for zero-knowledge proofs. These are a cutting-edge cryptographic technology that has recently found numerous applications, especially in the areas of blockchain (e.g., L2 protocols and rollups) and ML (e.g., verifiable training/inference).
Supervisor
PAPADOPOULOS Dimitris
Quota
2
Course type
UROP1100
UROP2100
Applicant's Roles
The student will help my research group implement, test, and benchmark cryptographic algorithms and he/she will work closely with a PhD student, and under my direct supervision. In terms of skills and background, no prior knowledge in cryptography is necessary. However, the student should have exceptional coding skills (preferably in C++/Rust /Go but other languages are also possible) and a strong mathematical background (ideally in number theory, and polynomial arithmetic). Additional prior exposure to arbitrary-precision libraries and finite field arithmetic would be very useful.
Applicant's Learning Objectives
Participating students are expected to accrue significant expertise in cryptographic techniques for zero-knowledge proofs both theoretical and practical.
Complexity of the project
Challenging