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.

- Basic crypto course at IIT B
- Crypto Courses Elsewhere:

- Reference Books:
- MPC and Secret-Sharing
- Goldreich (foundations) (Also freely downloadable A Primer)

- Background material:
- Basic probabililty: Chapters 14-18 of Mathematics for Computer Science from MIT OpenCourseWare.

- Lecture 00: (Jul 17): Introduction [html|pdf|print]
- Lecture 01: (Jul 20): Indistinguishability [html|pdf|print]
- Lecture 02: (Jul 24): Secret-Sharing [html|pdf|print]
- Lecture 03: (Jul 27): Secret-Sharing (ctd.) [html|pdf|print]
- Lecture 04: (Jul 31): MPC from Secret-Sharing: Passive, Honest-Majority [html|pdf|print]
- Lecture 05: (Aug 3): MPC: Passive GMW [html|pdf|print]
- Lecture 06: (Aug 7): MPC: Yao's Garbled Circuit [html|pdf|print]
- Lecture 07: (Aug 10): Computational Indistinguishability [html|pdf|print]
- Lecture 08: (Aug 14): Simulation-Based Security [html|pdf|print]
- Lecture 09: (Aug 17): MPC: Security against Active Corruption [html|pdf|print]
- Assignment 1 (Due Sep 6)
- Lecture 10: (Aug 28): MPC: GMW Paradigm. Composition. [html|pdf|print]
- Lecture 11: (Aug 31): MPC: UC Theorem [html|pdf|print]
- Lecture 12: (Sep 4): MPC: UC-Secure OT [html|pdf|print]
- Lecture 13: (Sep 7): MPC: BGW Protocol (Active, Honest-Majority) [html|pdf|print]
- Lecture 14: (Sep 18): MPC: Summary of Feasibility Results [html|pdf|print]
- Lecture 15: (Sep 21): MPC: Miscellaneous (and Revision) [html|pdf|print]
- Quiz 1 on MPC (Sep 22)
- Lecture 16: (Sep 25): Homomorphic Encryption [html|pdf|print]
- Lecture 17: (Sep 28): Homomorphic Encryption. Application to PIR. [html|pdf|print]
- Lecture 18: (Oct 5): Encryption Beyond Group Homomorphism: Bilinear Groups [html|pdf|print]
- Lecture 19: (Oct 9): Lattice Cryptography [html|pdf|print]
- Lecture 20: (Oct 12): Fully Homomorphic Encryption - I [html|pdf|print]
- Lecture 21: (Oct 16): Fully Homomorphic Encryption - II [html|pdf|print]
- Lecture 22: (Oct 23): Functional Encryption - I [html|pdf|print]
- Lecture 23: (Oct 26): Functional Encryption - II [html|pdf|print]
- Assignment 2 (Due Nov 10)
- Lecture 24: (Oct 30): Functional Encryption - III [html|pdf|print]
- Lecture 25: (Nov 2): Obfuscation - I [html|pdf|print]
- Lecture 26: (Nov 6): Obfuscation - II [html|pdf|print]
- Lecture 27: (Nov 9): Miscellany - Shallow Circuits [html|pdf|print]
- Quiz 2 (Nov 14)
- Project Presentations (Nov 24)