**Code:**CS5613 |

**Category:**PME |

**Credits:**3-0-0-3

# Course Objective

This is an introductory graduate course on cryptography. This will enable the students to learn fundamental concepts of cryptography, cryptanalysis and utilize these techniques in computing systems.

# Course Contents

**Introduction and mathematical foundations**:

- Overview of cryptography (1 lecture)
- Number Theory: modular arithmetic, extended Euclid’s algorithm, Euler’s theorem, Fermat’s little theorem, examples of easy and hard problems in computational number theory (4 lectures)
- Discrete Probability: discrete probability spaces and distributions, binomial distribution, birthday paradox (2 lectures)

**Symmetric-key Encryption**

- One time pad and stream ciphers: perfect secrecy and the one-time pad, semantic security and stream ciphers. Linear Feedback Shift Registers as a way of implementing stream ciphers, analyze their properties with examples, RC4. (3 lectures)
- Block Ciphers: feistel networks and iterated Even-Mansour ciphers, examples. Pseudo Random Permutations (PRP), Pseudo Random Functions (PRF), security against chosen plaintext attacks (CPA), Modes of operation: CBC and counter mode (4 lectures)
- Attacks on block ciphers: exhaustive search, time-space tradeoffs, differential & linear cryptanalysis, meet in the middle, side channels (4 lectures)

**Hash Functions**

- Definition of hash functions and properties, Unkeyed hash functions, Keyed hash functions (2 lectures)
- Message Authentication Codes (MAC), The Random Oracle Model (ROM) (2 lectures)

**Public key cryptography**

- Cryptography using arithmetic modulo primes: Diffie-Hellman key exchange, the hardness of discrete-log assumption. (5 lectures)
- Public key encryption: semantically secure ElGamal encryption, Chosen Ciphertext Attack (CCA) security (3 lectures)
- Arithmetic modulo composites: RSA and Rabin functions, how to encrypt with trapdoor permutations, RSA OAEP encryption (4 lectures)

**Digital signatures**

- Digital signatures: definitions and applications: how to sign using RSA (3 lectures)
- More signature schemes and applications: hash based signatures, certificates, certificate transparency, certificate revocation (2 lectures)

**Special Topic** (2 lectures)

# Learning Outcomes:

At the end of the course, the students should have:

- Knowledge in modern cryptosystems, their analysis and applications to other fields
- They will be able to combine these basics with their knowledge of experimental methodologies to identify, formulate, and solve engineering problems

# Text Books

- A Graduate Course in Applied Cryptography by D. Boneh and V. Shoup.
- Cryptography and Network security: Principles and Practice, William Stallings, Pearson Education, 2002

# References

- Introduction to Modern Cryptography by J. Katz and Y. Lindell
- Cryptography: Theory and Practice, Douglas R. Stinson, CRC Press

# Metadata

Proposing Faculty: Satyajit Das Department: Computer Science and Engineering Programme: Proposing date: August 28, 2019 Approved date: Proposal type: Offerings:

# Past Offerings

- Offered in Jan-May, 2020 by Satyajit