🎯 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:

  1. Explain key principles of symmetric and asymmetric cryptography.

  2. Apply hashing, encryption, and digital signature techniques.

  3. Implement encryption algorithms using tools and scripts.

  4. Analyze TLS/SSL certificates and secure communication flows.

  5. 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 cryptography or pycrypto library).

  • 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 sha256sum and 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.