This page contains Syllabus of Cryptography of CSIT.

Title Cryptography
Short Name Crypto
Course code CSC316
Nature of course Theory + Lab
Semester fifth-semester
Full marks 60 + 20 + 20
Pass marks 24 + 8 + 8
Credit Hrs 3
Elective/Compulsary Compulsary

Course Description

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 and Unit Content

1. Introduction and Classical Ciphers
teaching hours: 7 hrs

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

2. Symmetric Ciphers
teaching hours: 10 hrs

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)

3. Asymmetric Ciphers
teaching hours: 8 hrs

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

4. Cryptographic Hash Functions and Digital Signature
teaching hours: 8 hrs

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

4.8. Digital Signatures: Direct Digital Signatures, Arbitrated Digital Signature

4.9. Digital Signature Standard: The DSS Approach, Digital Signature Algorithm

4.10. Digital Signature Standard: The RSA Approach

5. Authentication
teaching hours: 3 hrs

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

6. Network Security and Public Key Infrastructure
teaching hours: 6 hrs

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

6. Malicious Logic
teaching hours: 3 hrs

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 and Practical works

  • Laboratory Work Manual
    Student should write programs and prepare lab sheet for all of theunits in the syllabus. Students
    should implement cryptographic algorithmsand protocols mentioned in each. The choice of
    programming language can be decided by the instructor and student as per their comfort. The
    instructors have to prepare lab sheets for individual units covering the concept of the units as per the
    requirement. All of the lab reports should be evaluated during the corresponding weeks of hands on
    practice. The lab session for above chapters should be as per following description however the
    depth of lab works are not limited to the below mentioned contents only. The lab report might cover
    the 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