Interactive Feistel Cipher with Logic Gate Customization and Multi-Algorithm Support
This project is an interactive cryptography visualization platform designed to help learners, researchers, and enthusiasts understand how encryption algorithms work step by step.
At its core, it features the Feistel cipher with a unique logic gate customization option (XOR, AND, OR, NAND). In addition, the platform supports several classical and modern cryptographic algorithms, including:
- Caesar Cipher
- Vigenère Cipher
- AES (Advanced Encryption Standard)
- RSA (Rivest–Shamir–Adleman)
The system is implemented with Python (Flask) for the backend and HTML, CSS, JavaScript for the frontend, providing dynamic visualizations of encryption and decryption processes.
-
🔑 Feistel Cipher Simulation
- Step-by-step visualization of rounds (L/R splits, key mixing, transformations).
- Customizable round function with logic gates (XOR, AND, OR, NAND).
-
🔐 Multi-Algorithm Support
- Classical ciphers: Caesar, Vigenère.
- Modern algorithms: AES, RSA.
- Round-by-round or step-by-step interactive outputs.
-
🎨 Interactive Visualization
- Real-time animation of transformations.
- Visual cards/tables for each step.
- Clean UI with glassmorphism and responsive design.
-
📚 Educational Focus
- Helps learners bridge theory and practice.
- Clear explanations and outputs at each step.
- Comparative study between classical and modern ciphers.
- Frontend (HTML, CSS, JavaScript)
- Input fields for plaintext, keys, logic gate selection.
- Visualization of algorithm steps.
- Backend (Python + Flask)
- Implements cryptographic algorithms.
- Returns step-by-step JSON results.
- Visualization Engine
- Parses JSON and generates interactive UI components.
- Python 3.x
- pip (Python package manager)
git clone https://github.com/your-username/cryptography-visualization.git
cd cryptography-visualization