CS409m: Introduction to Cryptography


Symmetric-key encryption, public-key encryption and zero-knowledge proofs

  • Instructor: Chethan Kamath (ckamath at cse dot iitb dot ac dot in)
  • When and where: Slot 5 (09:30-10:55, Wednesdays and Fridays) in CC101
  • Teaching assistants: Priyanshu Singh (24M2101) and Nilabha Saha (210260037)
  • Contact hours: After lectures, and by appointment (via e-mail)
  • Weekly TA session: Fridays, 19:00-20:30 in CC101
  • Announcements and online discussion: Moodle

[+]

Course Details


Description

Cryptography is the science of securely carrying out tasks (e.g., secret communication) in an adversarial setting. In this course, we intend to broadly study certain foundational tasks in cryptography, with an emphasis on precise modelling of the adversary's capabilities and goal -- the security model -- and formally proving security in this model -- the security proof. But we will also have hands-on sessions aimed at exposing you to real world cryptographic libraries. The course will be a hybrid of Sruthi's CS409m and Manoj's CS406.

Prerequisites

Discrete structures and probability theory are soft prerequisites. This course will involve some amount of theory, and thus we will expect mathematical maturity.

Who can credit?

Since the course is a minor, it is open to all non-CS, non-freshmen UGs.

Grading and Attendance

Weightage Towards
35% End-sem
25% Mid-sem
20% Two (out of three) quizzes
15% Four lab exercises
5% Class participation, pop-quizzes

Attendance is not mandatory (but encouraged). There will be six ungraded assignments to help you with quizzes and exams.


[+]

Lectures (Tentative)


# Date Slides Details
L01 30/Jul [↓][↓] Topics covered
  • Administrivia
  • Overview of the course
  • Classical ciphers
LE0 30/Jul [↗] Lab Exercise 0
L02 01/Aug [↓][↓] Topics covered
  • Basic probability theory
  • Concentration inequalities
  • Randomised algorithms
A1 01/Aug [↗] Assignment 1
L03 06/Aug [↓][↓] Topics covered
  • Perfect secrecy against eavesdroppers
  • One-time pad
  • Limitations: Shannon's impossibility
L04 08/Aug [↓][↓] Topics covered
  • Models of computation: Turing Machine
  • Negligible functions
  • Computational secrecy against eavesdroppers
LE1 08/Aug [↗] Lab Exercise 1
A2 12/Aug [↗] Assignment 2
L05 13/Aug [↓][↓] Topics covered
  • Computational secrecy against eavesdroppers
  • Pseudo-random generators (PRG)
  • Computational OTP
  • Main tool: security reduction
L06 20/Aug [↓][↓] Topics covered
  • Candidate constructions of PRG
  • Length-extension of PRG
  • Main tool: hybrid argument
Q1 22/Aug Quiz 1: 08:25-09:25 in CC103

[+]

Resources


Below you can find the list of resources relevant to this course. The list of per-lecture resources (e.g., further reading) can be found at the end of the respective lecture slide.

Textbooks Related Courses Background Material
  • Basic probability theory can be found in §A.3 of Katz-Lindell. The first recitation in MIT6875 is another resource.
  • Basic number theory can be found in §B of Katz-Lindell. The third recitation in MIT6875 is another resource.
  • Basic computational complexity can be found in the second recitation in MIT6875.