CS293G: Computing on encrypted data (graduate)

Latest Announcements

01/02: Course webpage posted

See all announcements RSS 2.0 feed

Class information


Description and goals

Today’s common online services (machine learning, e-commerce, search, social networks, cloud database, email, media streaming, messaging, maps, travel planning, etc.) bring convenience. However, these services are susceptible to privacy leaks. Certainly, server hacks, snooping by rogue employees, and accidental disclosures of sensitive data are some sources of private information leakage. The goal of this course is to train you on building systems that provide strong privacy guarantees---by understanding and efficiently applying advanced primitives from the literature on cryptography, especially those that allow computing on encrypted data.

The course content will consist of readings, discussions, and a research proposal. Each week or every other week, we will introduce one or more cryptographic primitive that allows computing on encrypted data, and study systems built around those primitives. Some examples of cryptographic primitives we will cover include order-preserving encryption, partial homomorphic encryption, private information retrieval, secure multiparty computation, fully homomorphic encryption, searchable encryption, and oblivious RAM, and some example applications that we will study are machine learning, databases, media streaming, email, messaging, and travel planning.

By the end of the course, you will be expected to become quite familiar with some of the advanced cryptographic primitives and how to apply them. To demonstrate your understanding and creativity, you will write a research proposal that promises to advance the state-of-the-art in one of the applications covered in the lectures (or, one of the other important applications). A good research proposal should be intellectually interesting, truly advance the state-of-the-art, and put you on the path to a potential publication.

The reading/understanding/thinking workload in this class will be substantial. This is a necessity: understanding many of the ideas above requires time and careful reading. The good news is that if things go according to plan, you will learn a lot in this class, and ideally find it rewarding. For example, you will learn about the trade-offs of various ways of computing on encrypted data, and how to use the schemes effectively to produce plausibly deployable systems.

Course content



There is no assigned textbook for this special topics course. For concepts on cryptography, Introduction to Modern Cryptography, second edition, by Jonathan Katz and Yehuda Lindell, published by CRC Press, is a good reference.


This site relies on software to generate course Web pages, developed by Dave Andersen and Nick Feamster.

Last updated: 2020-01-02 13:57:52 -0800 [validate xhtml]