
🎯 Course Overview
This course introduces the fundamental concepts and practical applications of modern cryptography. Students will learn how to protect information confidentiality, integrity, and authenticity using cryptographic techniques. Hands-on labs cover encryption/decryption, digital signatures, key exchange, and secure communication protocols.
🧠 Learning Outcomes
After completing this course, learners will be able to:
-
Explain key principles of symmetric and asymmetric cryptography.
-
Apply hashing, encryption, and digital signature techniques.
-
Implement encryption algorithms using tools and scripts.
-
Analyze TLS/SSL certificates and secure communication flows.
-
Identify weaknesses and best practices in cryptographic implementations.
📅 Weekly Module Plan
Week 1 — Introduction to Cryptography
Topics:
-
History & evolution of cryptography
-
Cryptographic goals: confidentiality, integrity, authentication, non-repudiation
-
Classical ciphers (Caesar, Vigenère)
-
Modern cryptography overview
Lab 1:
-
Implement a Caesar Cipher and Vigenère Cipher in Python.
-
Compare encryption strength and pattern recognition.
Quiz 1: Basic concepts of cryptography
Week 2 — Symmetric Key Cryptography
Topics:
-
Block vs Stream ciphers
-
DES, AES, and modes of operation (ECB, CBC, CTR)
-
Key management and randomness
Lab 2:
-
Encrypt/decrypt files using AES (Python
cryptographyorpycryptolibrary). -
Demonstrate difference between ECB and CBC visually using image encryption.
Assignment: Write short notes on symmetric encryption use-cases.
Week 3 — Asymmetric Cryptography
Topics:
-
Public/private key pairs
-
RSA algorithm (key generation, encryption, decryption)
-
Elliptic Curve Cryptography (ECC) basics
-
Key distribution and digital certificates
Lab 3:
-
Generate RSA key pair and encrypt/decrypt a message using OpenSSL or Python.
-
Verify digital certificates using
openssl x509.
Quiz 2: RSA and key management concepts
Week 4 — Hashing & Digital Signatures
Topics:
-
Hash functions (MD5, SHA family)
-
Message Authentication Codes (MAC, HMAC)
-
Digital signatures and certificate chains
-
Authentication using signatures
Lab 4:
-
Compute and compare hash values of files using
sha256sumand Python scripts. -
Generate and verify a digital signature using RSA.
Assignment: Create a verification script for signed documents.
Week 5 — Cryptographic Protocols & Real-World Use
Topics:
-
SSL/TLS handshake
-
HTTPS certificate validation
-
PGP/GPG encryption
-
Common attacks (replay, downgrade, brute-force)
-
Cryptography best practices and compliance (FIPS, NIST)
Lab 5:
-
Capture and analyze an HTTPS handshake in Wireshark.
-
Inspect a website’s certificate chain and verify expiration, issuer, and key size.
Final Project:
Build a secure message exchange application using Python with AES + RSA hybrid encryption and signature verification.
- Teacher: Admin User