The link for the repository is https://github.com/HuyHung0/cqplus.
The test is https://github.com/HuyHung0/testcq
This is a semester project (200h) of Master program at Eurecom (Biot, France) under the instruction of professor Antonio FAONIO.
Project Proposal: This student project centers on implementing zk-SNARKs, a powerful cryptographic tool, using the Rust programming language. The project aims to demonstrate the practical application of zk-SNARKs in privacy-preserving computations, showcasing the student's proficiency in both advanced cryptography and Rust programming.
Below are more details and resources from the professor:
- The idea of the project is to implement the zkSNARKs of this paper https://eprint.iacr.org/2023/1518
- Fortunately, we do not need to start from scratch because the paper above is based on this other paper https://eprint.iacr.org/2022/1763 for which there is already a rust implementation https://github.com/geometryresearch/cq
Learning Rust resources:
-
The Rust Programming Language: An excellent resource to get started. It starts from scratch and explains the core concepts rather quickly and in great details. It covers many parts of the language and should be a very good starting point for anyone willing to learn rust.
-
Rustlings: In complement to the link above. It contains various exercises to train while reading the book. There are a lot of them and it is not so useful to do all of them, but it can help to experiment with the most tricky concepts of the language.
-
Rust by Example: Shows most of the concepts of Rust through examples. It should also be used in addition to the first link, to understand better some ideas with concrete examples.
-
The Rust Reference: A reference book to have to use in last resort if everything above failed. Very useful for very specific things, otherwise the first book should be enough most of the time.