About the Course:

Cryptography is the science of securing data by using mathematical concepts. Cryptography involves the authentication and verification of data in all domains by applying Cryptographic protocols.

Course Objectives:

Enable to learn the fundamental concepts of cryptography and utilize these techniques in computing systems.

Discuss about various encryption techniques.

Understand the concept of public key Cryptography.

Introduce message authentication and hash function.

Provide Lab sessions for each unit to help gain deeper insight into Cryptography.

Course Outcomes:

At the end of this course, the student will be able to:

Classify the symmetric encryption techniques.

Illustrate various Public key cryptographic techniques.

Evaluate the authentication and hash algorithms.

Discuss authentication applications.

Course Content:

Unit 1:

**Classical Ciphers - 12 Hours**

Introduction to cryptography, cryptanalysis, and cryptology, Overview of cryptography, Basic Cryptographic primitives, Classical ciphers: substitution cipher – Caesar, Playfair and Hill cipher, Transposition cipher – Rail fence, Columnar and Double columnar, Cryptanalysis of classical ciphers, Introduction to probability, Conditional probability, Law of Total probability, Shannon’s theorem, One-time-pad encryption, Limitations of One-Time-Pad. Algebraic structures - Rings, Fields and Groups.

Unit 2:

**Symmetric Key Cryptography - 12 Hours**

Introduction to symmetric key cryptography, Pseudo Random Numbers, Feistel Cipher, S-box and E-box, Initial and Final permutations, Data Encryption Standard (DES), Cryptanalysis and avalanche effect, AES (Advanced Encryption Standard), Key Scheduling, Side channel attacks, Block and Stream ciphers.

Unit 3:

**Public Key Cryptography - 12 Hours**

Introduction to Public key cryptography, Modes of operation, Prime number, Primitive root, Modular arithmetic, Polynomials, Diffie Hellman Protocol(DH Protocol), Elgamal crypto systems, Prime Factorization, Rivest–Shamir–Adleman cryptosystem (RSA).

Unit 4:

**Key management Hashing Techniques - 10 Hours**

Key management and distribution (KDC), Birthday attack, Entity authentication methods; password, challenge response, Zero knowledge protocols, message digest algorithm (MD5), One-way function, Collision resistant hash function (CRHF), Secure Hash Algorithm (SHA), Applications.

Unit 5:

**Authentication using Cryptography - 10 Hours**

Identification protocols, Digital Signature (DS), Elliptic Curve cryptography-based signature (ECDSA), RSA based signature, Message Authentication Code (MAC), Cipher Block Chaining MAC (CBC-MAC), Different areas where cryptography needs to be applied, gpg, and Quantum resistant cryptography.

Textbooks:

1. “Introduction to Modern Cryptography”, Jonathan Katz, Yehuda Lindell, 2ndEdition, CRC Press, 2015.

Refrence Books:

1. “Cryptography and Network Security” Behrouz A.Foruzan, 3rd Edition, Tata McGraw Hill, 2017.

Tools & Languages:

Seed virtual machine environment, gpg, Python.