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?

  1. Wednesday: 12:00 - 12:55 PM (Lec/Tut)
  2. Thursday: 11:00 - 11:55 AM (Lec)
  3. Friday: 9:00 - 10:55 AM (Lec)

Exams

Teaching Assistant

Requirements

  1. Teacher's Assessment [30%]
    • Attendance + Tutorials + Assignments
    • Short Class Test(s) + Presentation (PTN)
  2. Mid semester exam [30%]
  3. 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.

  1. Cryptography: Theory and Practice (By Douglas R. Stinson, Maura B. Patterson) [Textbook]
  2. Understanding Cryptography: A Textbook for Students and Practitioners (By Christof Paar, Jan Pelzl, Tim Güneysu) [Reference]
  3. Introduction to Modern Cryptography (By Jonathan Katz, Yehuda Lindell) [Reference]
  4. Handbook of Applied Cryptography (By Alfred J. Menezes, Paul C. van Oorschot, Scott A. Vanstone) [Reference]
  5. Cryptography and Network Security (By William Stallings) [Reference]
  6. 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