Cryptography - Syllabus
Embark on a profound academic exploration as you delve into the Cryptography course (Crypto) within the distinguished Tribhuvan university's CSIT department. Aligned with the 2074 Syllabus, this course (CSC316) seamlessly merges theoretical frameworks with practical sessions, ensuring a comprehensive understanding of the subject. Rigorous assessment based on a 60 + 20 + 20 marks system, coupled with a challenging passing threshold of , propels students to strive for excellence, fostering a deeper grasp of the course content.
This 3 credit-hour journey unfolds as a holistic learning experience, bridging theory and application. Beyond theoretical comprehension, students actively engage in practical sessions, acquiring valuable skills for real-world scenarios. Immerse yourself in this well-structured course, where each element, from the course description to interactive sessions, is meticulously crafted to shape a well-rounded and insightful academic experience.
Course Description: The course introduces the underlying the principles and design of cryptosystems. The course covers the basics concepts of cryptography including: traditional ciphers, block ciphers, stream ciphers, public and private key cryptosystems. The course also includes the theory of hash functions, authentication systems, network security protocols and malicious logic.
Course Objectives: The objectives of this course are to familiarize the students with cryptography and its applications. The students will be able to develop basic understanding of cryptographic mechanisms.
Units
1.4. Security: Computer Security, Information Security, Network Security, CIA Triad,
Cryptography, Cryptosystem, Cryptanalysis, Security Threats and Attacks, Security Services,
Security Mechanisms
1.5. Classical Cryptosystems:
Substitution Techniques: Ceasar, Monoalphabetic, Playfair, Hill, Polyalphabetic ciphers,
One-time pad
Transposition Techniques: Rail Fence Cipher
1.6. Modern Ciphers: Block vs. Stream Ciphers, Symmetric vs. Asymmetric Ciphers
Symmetric Ciphers
2.4. Fiestel Cipher Structure, Substitution Permutation Network (SPN)
2.5. Data Encryption Standards (DES), Double DES, Triple DES
2.6. Finite Fields: Groups Rings, Fields, Modular Arithmetic, Euclidean Algorithm, Galois Fields
(GF(p) & GF(2n)), Polynomial Arithmetic
2.7. International Data Encryption Standard (IDEA)
2.8. Advanced Encryption Standards (AES) Cipher
2.9. Modes of Block Cipher Encryptions (Electronic Code Book, Cipher Block Chaining, Cipher
Feedback Mode, Output Feedback Mode, Counter Mode)
Asymmetric Ciphers
3.4. Number Theory: Prime Numbers, Fermat’s Theorem, Euler’s Theorem, Primility Testing,
Miller-Rabin Algorithm, Extended Euclidean Theorem, Discrete Logarithms
3.5. Public Key Cryptosystems, Applications of Public Key Cryptosystems
3.6. Distribution of public key, Distribution of secret key by using public key cryptography, Diffie-
Helman Key Exchange, Man-in-the-Middle Attack
3.7. RSA Algorithm
3.8. Elgamal Cryptographic System
Cryptographic Hash Functions and Digital Signature
4.4. Message Authentication, Message Authentication Functions, Message Authentication Codes
4.5. Hash Functions, Properties of Hash functions, Applications of Hash Functions
4.6. Message Digests: MD4 and MD5
4.7. Secure Hash Algorithms: SHA-1 and SHA-2
Authentication
5.4. Authentication System,
5.5. Password Based Authentication, Dictionary Attacks,
5.6. Challenge Response System,
5.7. Biometric System
5.8. Needham-Schroeder Scheme, Kerberos Protocol
Network Security and Public Key Infrastructure
6.1. Overview of Network Security
6.2. Digital Certificates and X.509 certificates, Certificate Life Cycle Management
6.3. PKI trust models, PKIX
6.4. Email Security: Pretty Good Privacy (PGP)
6.5. Secure Socket Layer (SSL) and Transport Layer Security (TLS)
6.6. IP Security (IPSec)
6.7. Firewalls and their types
Malicious Logic
7.1. Malicious Logic, Types of Malicious Logic: Virus, Worm, Trojan Horse, Zombies, Denial of
Service Attacks,
7.2. Intrusion, Intruders and their types, Intrusion Detection System
Lab works
- Laboratory Work ManualStudent should write programs and prepare lab sheet for all of theunits in the syllabus. Studentsshould implement cryptographic algorithmsand protocols mentioned in each. The choice ofprogramming language can be decided by the instructor and student as per their comfort. Theinstructors have to prepare lab sheets for individual units covering the concept of the units as per therequirement. All of the lab reports should be evaluated during the corresponding weeks of hands onpractice. The lab session for above chapters should be as per following description however thedepth of lab works are not limited to the below mentioned contents only. The lab report might coverthe following list of the programs.Write the program to illustrate the followings
- Monoalphabetic Ciphers: Ceasar, Hill
- Polyalphabetic Cipher: Vigenere Cipher (Vernam, OTP), Playfair
- Transposition Cipher: Rail Fence Cipher
- Some basic components of DES like functioning of S-Box, Key generation
- Modular Arithmetic (Finding additive inverse, multiplicative inverse (Extended Euclidean algorithm, relatively prime)
- Number Theory (Primality testing, Totient function, Primitive root)
- Diffie-Helman Key Exchange, RSA Algorithm, Elgamal Cryptographic System
- Some basic logic for Malicious code