Introduction To Cryptography (M) [Fall 2024]

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

Course Timing and Location (CS 409M): 9:30-10:55 AM Wed/Fri, CC101

Teaching Assistants: Giriraj Singh, Nilabha Saha, Gyara Pragathi (TA hours in CC101)

Contact Hours: After class, or fix appointment by emailing

Important Dates:

  • QUIZ 1 – 21st August 2024, 8:30 AM-9:30 AM, Venue (KR 225, KR 229 (second floor Kresit building (old CSE building)).
  • QUIZ 2 – 4th September 2024, 8:30 AM-9:30 AM, Venue (CC103).
  • MIDSEM EXAM – 20th September 2024, 4 PM – 6 PM, Venue (CC103).
  • QUIZ 3– 18th October 2024, 8:30 AM-9:30 AM, Venue (CC101).
  • CHALK AND TALK – 6th September, 11th September, 13th September, 30th Oct-8th Nov during lectures (all remaining reports due on 27th Nov, 11:59 PM)

Course Description (CS 409M)

This course is intended to provide a theoretical foundation in Cryptography. 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, 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 pre-requisite. 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

  • 35% -Final Exam
  • 25% -Mid Sem Exam
  • 20% -Best 2 out of 3 quizzes (will happen in 1 hour quiz slots Wed/Fri)
  • 15% -Chalk and talk
    -presentations on topics given in class, email me to fix your topic.
    -submit written report by given deadline.
  • 5% -Class Participation
References
  • Foundations of Cryptography, Volume I-II, Oded Goldreich

Assignments

  • Assignment 1 (2nd August 2024)
  • Assignment 2 (12th August 2024)
  • Assignment 3 (23rd August 2024) (Problem2c solution sketch.pdf)
  • Assignment 4 (7th September 2024)
  • Assignment 5 (29th September 2024)
  • Assignment 6 (12th October 2024)
  • Assignment 7 (30th October 2024)
  • Quiz 1 (21st August 2024) (Quiz 1 solution sketch.pdf)
  • Quiz 2 (4th September 2024) (Quiz 2 solution sketch.pdf)
  • Quiz 3 (18th October 2024) (Quiz 3 solution sketch.pdf)
  • MidSem Exam (20th September 2024) (MidSem solution sketch.pdf)

Lectures

Number/DateTopicsSlide
Lecture 1 (31st July)Introduction/Course policy,
Classical Cryptography
Lecture 1.pdf
Lecture 2 (2nd Aug)Basic ProbabilityLecture 2.pdf
Lecture 3 (7th Aug)One time pad, Perfect security,
Drawbacks, Attacks
Lecture 3.pdf
Lecture 4 (9th Aug)Tools for defining weaker security notions: modeling computation, negligible functions, semantic securityLecture 4.pdf
Lecture 5 (14th Aug)Pseudorandom Generators, Stream Ciphers, Computational Secure scheme, Proof by ReductionLecture 5.pdf
Lecture 6 (16th Aug)Hybrid Arguments, More about PRGs -> Length Extension, Equivalence of unpredictability and pseduorandomness.Lecture 6.pdf
(Extra notes)
Lecture 7 (21st Aug)Pseudorandom Functions, Security for Multiple EncryptionsLecture 7.pdf
Lecture 8 (23rd Aug)CPA Secure Encryption, Modes of OperationLecture 8.pdf
Lecture 9 (28th Aug)CCA Secure Encryption, Message Authentication CodesLecture 9.pdf
Lecture 10 (30th Aug)Authenticated Encryption, Domain extension of MACs, Motivating Hash functionsLecture 10.pdf
Lecture 11 (4th Sep)Cryptographic Hash functions, Hash-and-MAC, HMAC, Merkle-Damgård Transform, Journey so far in the course, bidding the symmetric world a farewell for now…Lecture 11.pdf
6th, 11th, 13th SepCHALK AND TALK
14th – 22nd SepMID SEM WEEK
Lecture 12 (25th Sep)Basic Number Theory, Cryptographic Hardness Assumptions- Discrete Log Assumption, Diffie-Hellman Assumptions, QR,
PRG from DDH
Lecture 12.pdf
Lecture 13 (27th Sep)One-way Functions (OWFs), OWPs from cryptographic hardness, Hard Core Predicates (HCP), Goldreich Levin HCP, PRGs from OWPsLecture 13.pdf
Lecture 14 (4th Oct)Key Exchange Protocol (Diffie-Hellman), Public-key Encryption, IND-CPA Security, ElGamal Encryption, RSA Encryption Lecture14.pdf
Lecture 15 (9th Oct)Trapdoor Permutations (TDPs), TDPs to PKE, IND-CCA Security, DHIES EncryptionLecture 15.pdf
Lecture 16 (11th Oct)Digital Signatures, Lamport’s one-time signature, Extend to many-time signatures, Domain Extension using CRHFLecture 16.pdf
(Lamport proof.pdf)
Lecture 17 (16th Oct)Digital Signatures from RSA and Dlog, Schnorr Identification Protocol, Fiat Shamir transformLecture 17.pdf
Lecture 18 (18th Oct)Interactive Proofs, Zero-knowledge (ZK) proofs: definition, Honest Verifier ZK proof for Graph Non-isomorphismLecture 18.pdf
Lecture 19 (23rd Oct)Malicious-Verifier ZK proof, Commitment Scheme, ZK proof for NP Lecture 19.pdf
Lecture 20 (25th Oct)Proofs of Knowledge, Non-interactive ZK, Sigma ProtocolsLecture 20.pdf
(feedback link)
30th Oct-8th NovChalk and Talk Presentations

Chalk and Talk

Chalk and Talk TopicGroupReport
#1 Equivalence of Perfect Security NotionsAsifahmad Asfaqahmad Shaikh, Aadya PiperseniaPresent on 6th Sept
[Report.pdf]
#2 Venona ProjectMradul Kaushal, Avaneesh Vinayak KhadyePresent on 6th Sept
[Report.pdf]
#3 Equivalence of Semantic Security and Computational Indistinguishability Rohan Arrvind, Ashok NayakPresent on 11th Sept
[Report.pdf]
#4 RC4 (Explain + one attack)Advay Bapat, Pranav MalpaniPresent on 11th Sept
[Report.pdf]
#5 LCG
(Linear Congruential Generators) (Explain + one attack)
Shravya Suresh, Shubhhi SinghPresent on 11th Sept
[Report.pdf]
#6 PRFs imply PRPs
(Feistel Networks)
Parth Pundalik Pai, Parijat MudrasPresent on 13th Sept
[Report.pdf]
#7 Padding Oracle Attack on CBC Mode [link]Harsh Roniyar, Swarup PatilPresent on 13th Sept
[Report.pdf]
#8 Knapsack Public Key Encryption Scheme + AttackPranav Singla, Rahul PatelPresent on 30th Oct
[Report.pdf]
#9 Davies-Meyer Construction for compression function
&Time-Space Tradeoff Attacks on Hash functions
Ishan Pandit, Kshitij VaidyaPresent on 30th Oct
[Report.pdf][slides]
#10 Pohlig-Hellman Attack on Dlog problemAviral Vishesh Goel, Arnav AkshayaPresent on 6th Nov
[Report.pdf]
#11 Bleichenbacher’s RSA Attack on PKCS#1 [link (section 4,5)]Tanmay Patil, Mandavyapuram Jaswin ReddyPresent on 6th Nov
[Report.pdf]
#12 TLS 1.3 [link]Karrthik Radhakrishnan, Pinak Mahapatra Present on 6th Nov
[Report.pdf]
#13 DSA/ECDSA and biased-nonce attack [link and paper (section 4) for the biased-nonce attack]K Ashvanth, YashaswiniPresent on 6th Nov
[Report.pdf]
#14 Pailier Encryption, DCR Assumption, IND-CPA securityPratham Agarwal, Anusha DhakrasPresent on 6th Nov
[Report.pdf]
#15 One-time passwords: security against eavesdroppingRishabh Ravi, Nawkar Parth ShaileshPresent on 8th Nov
[Report.pdf]
#16 KZG Polynomial Commitment (only protocol and intuition for binding and hiding, skip detailed proof)Arnav Jain, ArjunPresent on 8th Nov
[Report.pdf]
#17 Combining Sigma Protocols: AND and OR proofs (only protocol and intuitions for soundness and HVZK; bonus marks if you give full proofs in report!)Jay Mehta, Tanay BhatPresent on 8th Nov
[Report][slides]

One thought on “Introduction To Cryptography (M) [Fall 2024]”

Leave a Reply