CS 758: Fall 2017 | Instructor: Manoj Prabhakaran

2:00 PM - 3:25 PM Monday/Thursday | New CS 101

Advanced Tools from Modern Cryptography

Over the last four decades, Modern Cryptography has developed into a field with solid mathematical foundations. In addition to developing the idea of "provable security," investigations into the fundamental nature of secrecy and security threw open a range of new possibilities that go well beyond encryption. This course will introduce you to some of these tools, as well as basic concepts needed to formally define and prove their security.

Course contents. The topics we will try to cover (as time permits) include

  • Secure Multi-Party Computation,
  • Functional Encryption, (Fully) Homomorphic Encryption, Obfuscation,
  • Private Information Retrieval, Symmetric Searchable Encryption, Oblivious RAM,
  • Leakage-Resilience, and
  • specialized applications like Secure Voting and Digital Cash.

The course project will give you a chance to read up on topics not covered in the lectures and/or implement an advanced cryptographic tool.

Graded Work. The graded work involves two exams or quizzes (60%), a few homework assignments (18%) and a team project (20%). The projects will be evaluated based on a presentation and either a report or a demo (depending on the nature of the project), and meeting(s) with the instructor prior to that. Some sample topics for the project will be provided later on. The quiz schedule will be announced later.

The students are expected to regularly attend all the lectures. There is no penalty for missing lectures, but the students are expected to notify the instructor if they miss any lecture. 2% of the total score is reserved for attendance reporting.

Background. This course will have a theoretical flavour: you will need to be comfortable with mathematical definitions and proofs ("mathematical maturity"). Specific mathematical topics that will be encountered are elementary probability and discrete mathematics.

Lectures so far