Quantum Simulator
The Quantum Simulator is an educational and experimental tool designed to simulate quantum key distribution (QKD) protocols with realistic noise and error models. Developed by Team Hiesenberg + Quantastic at IISER Bhopal, the simulator offers both a backend simulation engine and a user-friendly interface for interactive exploration.
Project Overview
This project aims to bridge the gap between theoretical QKD concepts and practical implementation by allowing users to:
- Simulate various QKD protocols under realistic conditions
- Introduce and visualize noise, loss, and imperfections
- Explore secure key exchange across network topologies
Features
-
Custom Simulation Engine
Built from scratch, supporting multiple QKD protocols with adjustable error models and parameters. -
Interactive UI
Allows users to: - Select the number of nodes in the QKD network
- Choose network topology (e.g., linear, mesh)
- Pick cities on the map of India to form nodes
-
Assign QKD protocols to edges (e.g., BB84, B92)
-
Real-Time Visualization
View key simulation metrics such as: - Quantum Bit Error Rate (QBER)
- Key rate
- Sender's last sent bits
- Receiver's last received bits
Use Cases
The simulator can be used for:
- Demonstrating QKD to students and researchers
- Exploring protocol performance under realistic conditions
- Testing the effects of different topologies and parameters
Running Locally
-
Install Python dependencies (for the backend):
pip install flask flask-cors simpy
-
Start the backend server:
python app.py
-
Install frontend dependencies:
npm install
-
Run the frontend:
npm run dev