The Virtual Cryptography Laboratory is a hands-on learning platform developed by Batch A for Cryptographic Security Systems (CSS). It lets students test and understand core cryptographic algorithms directly in the browser through interactive simulations, packet flow visualizers, and live Man-in-the-Middle (MitM) attacker scenarios.
All cryptographic computations run 100% client-side using standard bitwise math and the browser's native Web Crypto API (crypto.subtle), with zero backend dependencies.
To maintain uniformity across all Batch A experiments, every module follows a standard 7-part structure:
- Objective: Pedagogical goals and expected learning outcomes
- Theory: Cryptographic definitions, mathematical foundations, and RFC standards
- Procedure: Step-by-step instructions to perform the lab
- Simulation: Interactive real-time sandbox with customizable inputs
- Observations: Execution transcript, round-by-round math, and bit-level tracking
- Assessment: Multiple-choice quiz to verify understanding
- References: RFC documents, NIST publications, and academic resources
-
MD5 Hash Algorithm (RFC 1321)
128-bit digest generator, 64-round step compression pipeline, message padding breakdown, and avalanche effect analysis. -
SHA-1 Secure Hash Algorithm (RFC 3174 / FIPS 180-1)
160-bit digest, 80-step expansion schedule ($W_0 \dots W_{79}$ ), 512-bit block padding inspector, and bit-flip sensitivity testing. -
Message Authentication Code (MAC)
Data origin authentication and integrity simulation featuring Alice (Sender), Eve (In-Transit Attacker), and Bob (Receiver) with live payload tampering and MAC verification. -
HMAC Keyed-Hash MAC (RFC 2104 / FIPS 198-1)
Nested hashing construction ($K \oplus opad$ /$K \oplus ipad$ ), dual Encrypt-then-MAC AES-256 simulation, and avalanche diffusion analysis. -
SSL/TLS Handshake Protocol (RFC 8446 / RFC 5246)
Interactive handshake state machines for TLS 1.3 (1-RTT) and TLS 1.2 (2-RTT), ECDHE P-256 key exchange, animated SVG packet flow, and error injection scenarios.
- Ulric and Sai
- MD5: Ruth Dmello, Alciya Dodti, Nicole Dabre, Larissa Dabreo
- SHA-1: Tanush Chavan, Swar, Aaron Deniz, Asher
- MAC: Slora Bar, Aarna Chopdekar, Arya Chavan, Cajetan Dsouza
- HMAC: Wendell Dsouza, Jaden Crasto, Rohit Ahir, Shreyas Divekar
- SSL/TLS: Jace Jaison, Ahamed Wafiq, Sai Balkawade
- Node.js (v18+)
- npm
# Clone the repository
git clone https://github.com/WillyEverGreen/css-virtual-lab.git
cd css-virtual-lab
# Install dependencies
npm install
# Start development server
npm run devOpen http://localhost:5173 in your browser.
npm run build- Institution: Fr. Conceicao Rodrigues College of Engineering (Fr. CRCE), Bandra, Mumbai
- Department: Department of Computer Engineering
- Course: Cryptographic Security Systems (CSS) - Batch A
- Academic Year: 2025-2026
