Overview of the course:

Over the last couple of years, advanced cryptographic solutions have been proposed by the community in order to guarantee both privacy and functionality in cloud-based services by offering fine-grained access control policies over encrypted data. The purpose of this class is to introduce these advanced primitives and the current challenges in research.

We will cover several recent advances in cryptographic protocols, such as:

  • Identity-based encryption
  • Attribute-based encryption
  • Functional encryption
  • Fully-homomorphic encryption
  • Multi-party computation
  • Constrained pseudorandom functions
  • Indistinguishability obfuscation
We will cover definitions and security models for each notion, and detail constructions and security reductions to the hardness of algorithmic problems that are conjectured hard.

Course objectives:

  • Understand advanced notions of cryptography: Definitions, security requirements, and their limitations.
  • Acquire a toolkit for modern research in cryptography.
  • Be able to read state-of-the art articles in cryptography.


There is no requirement for attending this class but it is highly recommended to have taken an introductory class on cryptography before. Students should also know basics in complexity theory, probabilities, and algebra.


Scribe and article presentation.