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

Teaching Fellow

Tejovan Parker
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
- Narayanan, Bonneau, Felten, Miller, and Goldfeder. Bitcoin and Cryptocurrency Technologies
- Elaine Shi. Foundations of Distributed Consensus and Blockchains
- Decentralized Thoughts blog
- Evans, Kolesnikov and Rosulek. A Pragmatic Introduction to Secure Multi-Party Computation
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.
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.
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.
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.
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.
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
- Thu 1/23
- Fri 1/24
- Class survey due
- Gradescope
Week 2: Data integrity (read NBFMG, chapter 1)
- Mon 1/27
- Lab 1
- Worksheet
- Tue 1/28
- Thu 1/30
- Fri 1/31
Week 3: Data in blockchains (read NBFMG, chapters 2-3)
- Mon 2/3
- Lab 2
- Worksheet
- Tue 2/4
- Thu 2/6
- Fri 2/7
Week 4: Data liveness and safety (read NBFMG, chapter 5 and the Nakamoto whitepaper)
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
- Sun 2/23
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
- Thu 2/27
- Fri 2/28
- HW 4 due
- Submit
Week 7: Data asynchrony (read Shi, chapters 6 and 13.1-13.2)
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
- 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
- Thu 3/27
- Fri 3/28
- Sun 3/30
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)
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
- Thu 4/10
- Fri 4/11
- HW 8 due
- Submit
Week 12: Data validation in use (read Green blog on ZK and DT blog on succinct ZK)
Week 13: Data and sustainability (read NBFMG Chapter 6)
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
- 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)