CS409/CS6011: Introduction to Cryptography [Fall 2026]

Instructor: Sruthi Sekar (sruthi [at] cse [dot] iitb [dot] ac [dot] in)

Course Timing and Location: 9:30 AM – 10:55 AM (Wed, Fri), CC103

Teaching Assistants: Samipa Samanta (PhD), Ragav R (MS), Harsha Vardhan (Btech), Sagnik Nandi (Btech), Sai Divya Teja (Btech)

Contact Hours: After class, or fix an appointment by emailing

Important Dates:

  • Quiz 1: 19th August (Wednesday), 5-6 PM, CC103
  • Quiz 2: 7th Sept (Monday), 8:15-9:30 AM, CC101+105
  • Lab Exercise/CTF 1: 24th Aug (Friday) (Deadline: 4th September 2026, 11:59 PM)
  • Mid Sem Exam: 17th Sept (Thursday), 8-10 AM, CC101+103
  • Quiz 3: 19th October (Monday), 8:15-9:30 AM, CC103
  • Lab Exercise/CTF 2: 16th October (Tuesday) (Deadline: 1st November 2026, 11:59 PM)
Course Description (CS 409/CS6011)

I might add a few more advanced topics; an older minor version of the course had the syllabus below. Additionally, I plan to incorporate graded hands-on sessions, so basic familiarity with writing code will be helpful (assuming everyone has taken CS101).

This course is intended to provide a theoretical foundation in Cryptography (with some supporting hands-on sessions for several topics). We shall learn about basic cryptographic tools like encryption and message authentication, in the “private-key” and “public-key” settings, with a focus on mathematical definitions of security, “provably secure” constructions based on fundamental cryptographic primitives, and how they are used. The topics that will be covered include the following. We will mainly refer to two books: Katz-Lindell and Boneh-Shoup.

  • Perfectly secret encryption: one-time pad, limitations of perfect security
  • Private key encryption: defining encryption CPA security, constructing CPA secure scheme- pseudorandom functions and block ciphers, pseudorandom generators, stream ciphers, one-way functions, hardcore predicates, CCA security – motivates message authentication codes, some practical constructions.
  • Hash Functions and applications: definition of hash functions, message authentication using hash functions, attacks, and some additional applications
  • Public key encryption: CPA security, introduction to some related modular arithmetic, El Gamal, RSA, and Rabin constructions, some attacks on RSA.
  • Zero Knowledge Proofs: introduction with motivation, definition of honest verifier zero knowledge, one protocol (graph coloring or some other NP complete problem) 
Background

Mathematical maturity is the only prerequisite. Knowledge of elementary probability, elementary algebra, and elementary number theory will be a bonus, but we will recap the basics needed during the course.

Grading
  • Lab Exercises (10%): There will be 2 graded lab exercises, one before mid sem and one after mid sem. The detailed grading policy will be posted on Moodle (submit flag+code+report for full marks)
  • Quizzes (only for CS409) (20%): Best 2 out of 3 will be considered for your 20%.
  • Project (only for CS6011 in place of quizzes) (20%): Will float topics to choose from. Present in teams of 2 and submit reports. All presentations will be in second half of the course.
  • Class Participation (5%): 1% Attend, 2% Ask meaninful questions, 2% Answer (during class/in-class quizzes in some lectures)
References

Textbooks:

Background Material:

Related Courses:

Assignments/Exams

Lectures

Number/DateTopicsSlide
Lecture 1 (29th July)Introduction, Course Policy, Classical Cryptography[Lec 1 Slides]
Ref: [Katz-Lindell, Chapter 1]
Lecture 2 (31st July)One-time pad, Perfect Security, Drawbacks, Attacks[Lec 2 Slides]
(we will resume from slide 16 next class)
Ref: [Katz-Lindell, Chapter 2]
Lecture 3 (5th Aug)Tools for defining computational security[Lec 3 Slides]
(we will resume from slide 24 next class)
Ref: [Katz-Lindell, Chapter 3], [Goldreich Vol 1, Chapter 1]
[Recitation 2 from MIT6875]
Lecture 4 (7th Aug)Pseudorandom Generators, Stream Ciphers[Lec 4 Slides]
(we will resume from Theorem 1 (slide 9) next class)
Ref: [Katz-Lindell, Chapter 3]
Lecture 5 (12th Aug)Pseudorandom Generators, Stream Ciphers (LFSR, CSS)[Lec 5 Slides]
Ref: [Katz-Lindell, Chapter 3,
Boneh Shoup, Chapter 3]
Lecture 6 (14th Aug)Hybrid Arguments, Length Extension of PRGs[Lec 6 Slides]
Ref: [Katz-Lindell, Chapter 7,
Boneh Shoup, Chapter 3]
Lecture 7 (19th Aug)Reusing same key for multiple encryptions, Pseudorandom functions (PRFs)[Lec 7 Slides]
Ref: [Katz-Lindell, Chapter 3]
(19th Aug)Quiz 1[Q.Paper]
Lecture 8 (21st Aug) CPA Security, Modes of Operation[Lec 8 Slides]
Ref: [Katz-Lindell, Chapter 3]
(24th Aug)CTF1
Lecture 9 (28th Aug)CCA Security, Message Authentication Codes, Authenticated Encryption[Lec 9 Slides]
Ref: [Katz-Lindell, Chapter 4,5]
Lecture 10 (2nd Sept)Authenticated Encryption (proof of security), strong-CMA security for MAC[Lec 10 Slides]
(we will resume from slide 16 next class)
Ref: [Katz-Lindell, Chapter 4,5]
(4th Sept)Tutorial Class[Problem Set]
(7th Sept)Quiz 2[Q.paper]
Lecture 11 (9th Sept)Domain Extension of MACs, Hash Functions[Lec 11 slides]
Ref: [Katz-Lindell, Chapter 4,6]
Lecture 12 (11th Sept)Hash Functions[Lec 12 slides]
Ref: [Katz-Lindell, Chapter 6]
(17th Sept)Mid Sem Exam[Q.paper]
Lecture 13 (23rd Sept)One Way Functions and Permutations, Number theory basics, Cryptographic Hardness Assumptions, PRG based on DDH[Lec 13 slides]
(will resume from slide 22 next class)
Ref:
[Katz-Lindell, Chapters 8,9,10, Appendix B]
Lecture 14 (25th Sept)One Way Functions and Permutations, Hard-core predicates, PRG from OWF[Lec 14 slides]
Ref: [Katz-Lindell, Chapters 8,9,10, Appendix B]
Lecture 15 (30th Sept)Public Key Encryption and Key Exchange Protocol from DDH[Lec 15 slides]
Ref: [Katz-Lindell, Chapters 11,12]
Lecture 16 (7th Oct)Public Key Encryption from Trapdoor Permutations, CCA-PKE[Lec 16 slides]
(will resume from slide 24 next class)
Ref: [Katz-Lindell, Chapters 12,15]
Lecture 17 (9th Oct)Digital Signatures, Lamport Signature, Hash-and-Sign[Lec 17 slides]
Ref: [Katz-Lindell, Chapters 13,14]
Lecture 18 (14th Oct)Digital Signatures continued: RSA FDH, Schnorr Identification Protocol[Lec 18 slides]
Ref: [Katz-Lindell, Chapter 13]
Lecture 19 (16th Oct)Zero Knowledge Proofs (ZKPs)
Lecture 20 (21st Oct)ZKP for NP: ZKP for Graph 3-coloring, Proofs of Knowledge, NIZK, Sigma Protocols
Lecture 21 (23rd Oct)Application: E-Voting
Lecture 22 (28th Oct)Post-Quantum Security:
LWE based PKE
Lecture 23 (30th Oct)Private Outsourcing of Computation: Homomorphic Encryption, Fully Homomorphic Encryption from LWE (GSW)
(4th Nov)Tentatively: Presentations/Extra Topics
(6th Nov)Tutorial Class
(9th Nov onwards)End Sems

CS6011 Presentations

TopicPresentersDate/Time
Mechanism Design Without Disclosure: Committing to and Running Hidden Mechanisms
Related topics from the course: Commitments and ZKPs
Ramsundar
Bhavadharini
On Robust Combiners for Oblivious Transfer and Other Primitives
Related topics from the course: one way functions, Key agreement;
Additional primitive not covered in course: Oblivious transfer
Yuvraj G.
Md Noman
Private Set Intersection
Related topics from the course: Key Exchange, Homomorphic encryption, Hash functions
Jayasree M
Nikitha P R
A Practical Attack on Broadcast RC4 (present with a demo of the attack)
Related topics from the course: stream ciphers
Sumit Kumar
Ketan Patil
Bleichenbacher’s RSA Attack on PKCS#1 (present with a demo of the attack)
Related topics from the course: PKE (RSA Encryption)
Girdhari Lal
Saurav Pal
Secure Messaging: Signal’s Protocol
Related topics from the course: Diffie Hellman Key Exchange, Authenticated Encryption;
Additional Primitve: Key Derivation Function
Reman Krishnan