Home

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