Course Information

Course Description and Prerequisites

This course covers techniques in applied cryptography and their applications in machine learning and blockchain to enhance privacy, integrity and scalability. In this course, we will explore the cutting-edge cryptographic techniques such as zero-knowledge proofs and secure multiparty computations. We will discuss the basic concepts and state-of-the-art constructions of these cryptographic schemes. Additionally, we will talk about how to use these techniques to construct privacy-preserving blockchain and crypto-currencies, zkRollups and zkEVM, privacy preserving machine learning and zero-knowledge proofs for machine learning. We will focus on efficiency and scalability constraints in practice, and discuss challenges and solutions to efficiently realize these cryptographic protocols.

Prerequisites: ECE 374 or equivalent courses approved by the instructor. Basic knowledge of algorithms, data structures and programming is recommended.

Textbook and Resource Materials

MOOC on Zero-Knowledge Proofs:

No textbook is required for the course. Reading materials will be posted online during the semester

Schedule (tentative)

Date Topic Readings Deadline
Week 1 Introduction and logitics, background on Cryptography
Week 1 Introduction to verifiable computation and zero-knowledge proof Merkle Hash Tree
Week 2 Introduction to blockchain and cryptocurrency Bitcoin
Week 2 Pricacy-preserving crypto-currencies
Week 3 Polynomial commitments Polynomial commitments Team Formation
Week 3 Generic solutions: interactive proofs
Week 4
Week 4 Generic solutions:Plonk Plonk
Week 5 Smart contract
Week 5 Privacy-preserving smart contract and zkRollups Hawk Proposal due
Week 6 Generic solutions: SNARK
Week 6
Week 7 Zero-knowledge proofs for machine learning CNN zkCNN
Week 7 Zero-knowledge decision tree Zero-knowledge decision trees
Week 8 ZKP based on error-correcting codes
Week 8 Interactive Oracle Proofs and FRI FRI
Week 9 Midterm Presentation
Week 9
Week 10 Introduction to secure multiparty computation and Oblivious Transfer Wikipedia
Week 10 Yao's Garbled circuit
Week 11 GMW protocol Youtube tutorial
Week 11 Malicious security and fairness Cut and choose
Week 12 Privacy-preserving machine learning and linear regression
Week 12 Privacy-preserving logistic regression and neural networks
  • ABY3: A Mixed Protocol Framework for Machine Learning
  • Week 13 Stacked Garbling
  • Stacked Garbling
  • Week 13 No class on 11/16
    Week 14 Fall break
    Week 15 Presentations
    Week 15 Presentations Final report due


    Class Participation: 10%.

    Reading assignments: 30%. Students will submit reviews for one of the reading materials every 1-2 weeks. The reviews should include a brief summary of the paper, the contributions and potential improvements.

    Course project: 60%. Project (60%): Students will form groups and complete research projects related to the topics of the course. The grading consists of a project proposal, a mid-term progress report, a final presentation and a final project report. Students may propose their own topics or choose from a list of suggested topics on secure multiparty computations, verifiable computations and zero knowledge proof, privacy-preserving machine learning and blockchain.

    Suggested topics for projects:


    Zero Knowledge Proof

    Secure Multiparty Computations