Link Search Menu Expand Document

Crypto for Data Science (DS 653) in Spring 2025

CDS DS 653 at Boston University investigates techniques for performing trustworthy data analyses without a trusted party, and for conducting data science without data sharing. The first half of the course investigates cryptocurrencies, the blockchain technology underpinning them, and the incentives for each participant. The second half of the course focuses on privacy and anonymity using advanced tools from cryptography.

Course Information

Instructor

Mayank Varia

varia@bu.edu

Office Hours: Thursday 3:30-5:00pm, in CDS room 1324

Teaching Fellow

Tejovan Parker

tejovanp@bu.edu

Office Hours: Wednesday 3:15-4:45pm and Friday 2:00-3:30pm, in CDS room 1325 or 1324

Lectures

Tuesday and Thursday, 11:00am-12:15pm in CAS 213

Discussion Labs

Monday, 9:05-9:55am and 10:10-11:00am in IEC B10

Textbooks

Policies

This course follows Boston University’s academic conduct code and policies on plagiarism, generative AI use, absence for religious observance, and accommodations.

See the syllabus for more details. Students are responsible for adhering to course policies at all times!


Learning Objectives

Here are the objectives that students are expected to learn by the end of each unit of the course.

  1. Secure ledgers (currencies without centralization). Define the security guarantees of digital signatures and hash functions. Explain their role in authenticating people and data. Describe the goal of decentralization and distributed consensus, in the context of financial payments via cryptocurrencies. Determine if a potential transaction is valid. Explain the mining algorithm and its role to incentivize honest participation.

  2. Secure consensus (agreement without trust). Describe the goal of decentralization and distributed consensus abstractly, in any scenario needing data liveness and safety. Show how to build Byzantine broadcast and agreement, with and without network synchrony or a public key infrastructure.

  3. Secure transport (messaging without meeting). Explain how encryption protects data on the Internet, and the role that (pseudo)randomness plays within encryption. Describe how secure messaging applications provide end-to-end encryption, as well as pre- and post-compromise security.

  4. Secure analysis (data science without data sharing). Describe the design of protocols that provide cryptographically secure multi-party computation, and explain how it enables a collection of data-holders to perform data science together, without sharing data with each other or anyone else. Define the security guarantees of zero knowledge proofs. Explain how they allow people to participate in the digital economy while preserving their privacy, and hold powerful entities to account without the need for full transparency.

  5. Crypto and society. Assess the environmental and ethical risks that blockchains introduce, and current efforts to improve their sustainability. Engage with ethical, legal, regulatory, and policy questions about the role of crypto toward addressing social issues.


Calendar

This schedule will be continually updated as new lectures and assignments are posted. The password to watch the recorded videos is available on Piazza.

Unit 1 – Secure ledgers (currencies without centralization)

Week 1: Crypto foundations (read David Wong’s Hash functions and security)

Tue 1/21
Lecture 1: Course overview
NotesSlidesVideo
Thu 1/23
Lecture 2: Hashing and commitments
NotesSlidesVideo
Fri 1/24
Class survey due
Gradescope

Week 2: Data integrity (read NBFMG, chapter 1)

Mon 1/27
Lab 1
Worksheet
Tue 1/28
Lecture 3: Digital signatures
NotesSlidesVideo
Thu 1/30
Lecture 4: Discrete logarithms
NotesSlidesVideo
Fri 1/31
HW 1 due
DownloadSubmit

Week 3: Data in blockchains (read NBFMG, chapters 2-3)

Mon 2/3
Lab 2
Worksheet
Tue 2/4
Lecture 5: Bitcoin’s public ledger
NotesSlidesVideo
Thu 2/6
Lecture 6: Proof of work mining
NotesSlidesVideo
Fri 2/7
HW 2 due
DownloadSubmit

Week 4: Data liveness and safety (read NBFMG, chapter 5 and the Nakamoto whitepaper)

Mon 2/10
Lab 3
Worksheet
Tue 2/11
Lecture 7: Bitcoin’s security guarantees
NotesSlidesVideo
Thu 2/13
Lecture 8: Cryptocurrency features
NotesSlidesVideo
Sat 2/15
HW 3 due
DownloadSubmit

Unit 2 – Secure consensus (agreement without trust)

Week 5: Data broadcast (read DT post on consensus and Shi, chapter 3)

Mon 2/17
Lab moved to Tuesday due to holiday
Tue 2/18
Test 1 on Unit 1, in lab
Thu 2/20
Lecture 9: Byzantine broadcast
NotesSlidesVideo
Sun 2/23
Challenge 1-2 submission
DownloadSubmit

Week 6: Data broadcast, continued (read Shi, chapters 4-5 and the DT posts on networks and asynchrony)

Mon 2/24
Lab 4
Notes and Worksheet
Tue 2/25
Lecture 10: Broadcast without setup
NotesSlidesVideo
Thu 2/27
Lecture 11: From broadcast to blockchains
NotesSlidesVideo
Fri 2/28
HW 4 due
Submit

Week 7: Data asynchrony (read Shi, chapters 6 and 13.1-13.2)

Mon 3/3
Lab 5
Worksheet
Tue 3/4
Lecture 12: Asynchronous broadcast
NotesSlidesVideo
Thu 3/6
Lecture 13: Common randomness
NotesSlidesVideo
Sat 3/8
HW 5 due
DownloadSubmit
3/10-3/14
No class due to spring break

Unit 3 – Secure transport (messaging without meeting)

Week 8: Data confidentiality (read Boneh-Shoup, sections 2.1-2.2.2 (pages 4-18))

Mon 3/17
Lab 6
Worksheet
Tue 3/18
Lecture 14: Data encryption
NotesSlidesVideo
Thu 3/20
Test 2 on Unit 2, in lecture
Fri 3/21
Challenge 1-2 resubmission
Submit

Week 9: Data protection at rest (read AMPH sections 2.1-2.2 (pages 9-19) and Aumasson, pages 7-12)

Mon 3/24
Lab 7
Worksheet
Tue 3/25
Lecture 15: Authenticated encryption
NotesSlidesVideo
Thu 3/27
Lecture 16: Full disk encryption
NotesSlidesVideo
Fri 3/28
HW 6 due
DownloadSubmit
Sun 3/30
Challenge 3-4 submission
DownloadSubmit

Week 10: Data protection in transit (read Boneh-Shoup, sections 9.1, 9.4.1, 9.4.2, and 9.5 and Signal’s double ratchet algorithm)

Mon 3/31
Lab 8
Worksheet
Tue 4/1
Lecture 17: Secure networking
SlidesVideo
Thu 4/3
Lecture 18: Key ratcheting
SlidesVideo
Fri 4/4
HW 7 due
DownloadSubmit

Unit 4 – Secure analysis (data science without data sharing)

Week 11: Data protection in use (EKR Sections 1.2-1.3 (pages 7-14) and Lindell-Pinkas Section 2.1 (pages 4-9))

Mon 4/7
Test 3 on Unit 3, in lab
Tue 4/8
Lecture 19: Secure multi-party computation
NotesSlidesVideo
Thu 4/10
Lecture 20: Verifiable MPC
NotesSlidesVideo
Fri 4/11
HW 8 due
Submit

Week 12: Data validation in use (read Green blog on ZK and DT blog on succinct ZK)

Mon 4/14
Lab 9
Worksheet
Tue 4/15
Lecture 21: Zero knowledge proofs
NotesSlidesVideo
Thu 4/17
Lecture 22: Faster ZK
NotesSlidesVideo
Fri 4/18
HW 9 due
Submit
Challenge 3-4 resubmission
Submit

Week 13: Data and sustainability (read NBFMG Chapter 6)

Mon 4/21
No lab due to holiday
Tue 4/22
Lecture 23: Private cryptocurrencies
NotesSlidesVideo
Wed 4/23
No lab
Thu 4/24
Lecture 24: Crypto and law (not on Test 4)
Fri 4/25
Challenge 5-6 submission
DownloadSubmit
Sat 4/26
HW 10 due
DownloadSubmit
Sun 4/27
Lab 10 due
DownloadSubmit

Unit 5 – Crypto in Society

Week 14 (read MIT Media Lab blog post)

Mon 4/28
No lab
Tue 4/29
Test 4 on Unit 4, in lecture
Thu 5/1
Lecture 25: Crypto and elections
NotesSlidesVideo
Challenge 5-6 resubmission
Submit

Week 15

Tue 5/6
Final Exam in lecture room at 12-2pm (as per the BU Final Exam Schedule)