CS60065: Cryptography and Network Security [L-T-P: 3-1-0]
Course Objectives
This course introduces the basics of modern cryptography and some related, basic aspects of network security. In terms of topics, we will largely study cryptographic tools for ensuring message confidentiality, integrity and user authentication. If time permits, we will also cover some advanced cryptography, e.g., post-quantum secure cryptosystems and some general tools that allow building privacy preserving or enhancing computation. The course will be mathematical in nature.
Pre-requisites
The course has some formal prerequisites. Nevertheless, we will also cover (& briefly recap) some mathematical tools. But it would greatly benefit to be acquainted with the topics listed below.
[For Cryptography]: Discrete Structures, Basics of Algorithm Design and Analysis, and Linear Algebra.
[For Network security]: Basic idea of Computer Networks.
Course Logistics
Where and When?
- First class is on: 24/07/24 (Wednesday)
- Classes are held in CSE 119 during:
- Wednesday: 12:00 - 12:55 PM (Lec/Tut)
- Thursday: 11:00 - 11:55 AM (Lec)
- Friday: 9:00 - 10:55 AM (Lec)
Exams
- Class-test 1: 06/09/24
- Mid-sem: 23/09/24
- Class-test 2: 12/11/24
- End-sem: 22/11/24
- PTNs: (13-14)/11/24
Teaching Assistant
- Rounak Saha (20CS30043)
- Email:
rounaksaha12@gmail.com
runk20@kgpian.iitkgp.ac.in
Requirements
- Teacher's Assessment [30%]
- Attendance + Tutorials + Assignments
- Short Class Test(s) + Presentation (PTN)
- Mid semester exam [30%]
- End semester exam [40%]
[NOTE]: We will post several details (e.g., assignments) frequently throughout the course. Keep an eye on this webpage for the latest updates.
Policies
NO collaboration is allowed on tests, exams or assignements. Discussing assignment problems is fine but you MUST write up solutions on your own. You MUST mention names of all the people you discussed the problem(s) with. If you find material that helps you in solving assignments, you MUST mention the source in your writeup. Getting caught in any kind of cheating or dishonesty will result in failing the course.
Resources
We will mostly follow the texts mentioned below. Slides (& any other extra material) used in classes will be shared here in time.
- Cryptography: Theory and Practice (By Douglas R. Stinson, Maura B. Patterson) [Textbook]
- Understanding Cryptography: A Textbook for Students and Practitioners (By Christof Paar, Jan Pelzl, Tim Güneysu) [Reference]
- Introduction to Modern Cryptography (By Jonathan Katz, Yehuda Lindell) [Reference]
- Handbook of Applied Cryptography (By Alfred J. Menezes, Paul C. van Oorschot, Scott A. Vanstone) [Reference]
- Cryptography and Network Security (By William Stallings) [Reference]
- Computer Security (By David Wagner, Nicholas Weaver, Peyrin Kao, Fuzail Shakir, Andrew Law, Nicholas Ngai) [Reference]
Syllabus/Timeline/Assignments/Tests/Tutorials
Topic | Resource | Week | Assignments/Tutorials/Class tests |
---|---|---|---|
1. Logistics, Introduction & Course Overview |
[1], [5], WWW | 1 | -- |
2. Secret Key Encryption | [1], [3] (Sec - 1.2, 1.4.1) | 1 | -- |
3. Math basics (part-1) + Classical Ciphers |
[1], [4], [5] | 1, 2 | Assignment 1 is out. Due by 11.59 pm, 12/08/2024. All other instructions are here. Tutorial 1: Assignment 1 solutions. |
4. Math basics (part-2) + Perfect Secrecy + Entropy |
[1], [3] (Sec 2), WWW Lecture notes: Here, Here |
3 | Assignment 2 is out. Due by 11.59 pm, 20/08/2024. All other instructions are here. Tutorial 2: Assignment 2 solutions. Problem solving on Math basics. |
5.1 Block Ciphers - Part 1 SPN and Feistel Networks Attacks on SPN: LC, DC |
[1], [2], [5] | 4, 5, 6 | -- |
5.2 Block Ciphers - Part 2 DES and Extensions Math basics (part-3) & AES Modes of Operations |
[1], [2], [5] | 6, 7 | -- |
6.1 Cryptographic Hash Functions Iterated Hash Functions, SHA-2 Merkle-Damgård Paradigm |
[1], [2] | 7, 8 | Class-test 1: 06/09/24. Syllabus: Topics 1-5 |
6.2 Sponge Paradigm: SHA-3, Keccak Message Authentication Codes Authenticated Encryption |
[1], [2] | 8 | Tutorial 3: Class-test 1 solutions, Problems solving on Block Ciphers, Hash Functions & MACs. |
Mid-Sem Examination | -- | 9, 10 | Date: 23/09/2024 Venue: CSE 107, Time: 2-4 pm Midsem solutions discussed. (Discussed on 26/09/2024.) |
-- | -- | 10, 11 | Assignment 3 is out. Due by 11.59 pm, 06/10/2024. All other instructions are here. |
7.1 Public Key Encryption - Part 1 Math basics (part-4) RSA Encryption, Primality testing |
[1], [2] | 10, 11 | -- |
Autumn break for students | -- | 12 | Autumn break for students |
7.1 Public Key Encryption - Part 1 Some Factoring Algorithms Some Attacks on RSA |
[1], [2] | 13 | -- |
7.2 Public-Key Encryption (Part-2) Discrete Logarithm Problem ElGamal Encryption Diffie-Hellman Key Exchange Diffie-Hellman Problems Elliptic Curves in Cryptography Glimpse into Functional Encryption |
[1], [2], [3], WWW | 14 | Assignment 4 is out. Due by 11.59 pm, 07/11/2024. All other instructions are here. |
8. Digital Signature Schemes Role in Blockchains (briefly) RSA, ElGamal signatures Schnorr, (EC)DSA signatures |
[1], [2] | 15 | Class-test 2: 12/11/24. Syllabus: Topics 7-8 (Without FE) |
9. Basics of Key Management, Certificates and PKI Overview of TLS Protocol |
[2], [5], [6] | 16 | Tutorial 4: Assignment 4 solutions. |
10. Quantum-safe Cryptography: Brief Introduction to Lattices & Lattice-based Cryptography |
Reference slides: Here, Here |
17 | Tutorial 5: Class-test 2 solutions. (Discussed on 13/11/2024.) Presentations: 13/11/24 |