Instructor: Kartik Nayak (kartik@cs.duke.edu)
When: Mondays and Wednesdays – 05:15PM to 06:30PM
Where: Zoom
Office hours: Mondays 4.15-5.15 pm, or by appointment
Office hour location: https://duke.zoom.us/j/99032885486
Teaching assistant: Sravya Yandamuri (sravya.yandamuri@duke.edu)
TA office hours: Tuesdays 2-3 pm, or by appointment
TA office hour location: https://duke.zoom.us/j/99032885486
Piazza: We will be using Piazza for discussions.
Warpwire: Lecture videos will be uploaded on Warpwire
Gradescope: Assignments will be shared through Gradescope
Synopsis:
Modern cryptography is an integral part of any computer system today. In the past decade, as we have moved to use the cloud for outsourcing our data, cryptography plays a vital role in keeping our data private and securing its integrity. Similarly, while we see a push in the industry to use blockchains, cryptography underpins the security and efficiency of blockchain designs. This course focuses on applied cryptography, emphasizing recent developments in privacy-preserving computation, and blockchains. This course will contain three modules:
Module 1: Basics of cryptography
Private key encryption, message authentication codes, hash functions, public-key encryption, and digital signature schemes.
Module 2: Applications of cryptography in privacy-preserving computation
We will address the following questions (not exhaustive):
– How can we contact trace entities who are exposed to COVID-19 while providing privacy to all parties involved?
– How do we privately access outsourced private data?
– How do we privately access public data?
– How to enable a search on your encrypted data?
– How can a group of parties compute a function of their private inputs?
Module 3: Applications of cryptography in consensus and Blockchains
We will address the following topics (not exhaustive):
– Bitcoin and Nakamoto consensus
– Consensus and digital signatures
– Secret sharing and verifiable secret sharing
Textbooks and resources:
The following textbooks/resources are highly recommended:
– Introduction to Modern Cryptography by Jonathan Katz and Yehuda Lindell
– A Pragmatic Introduction to Secure Multi-Party Computation by David Evans, Vladimir Kolesnikov, and Mike Rosulek
– Decentralized thoughts
– Foundations of Blockchains by Elaine Shi