This project proposes the development of a Python-based simulator for the BB84 Quantum Key Distribution (QKD) protocol. The objective is to design a realistic and configurable simulation framework to analyze quantum-secure communication under practical operating conditions. The simulator will enable performance evaluation of QKD systems by incorporating physical channel effects and adversarial attacks. As quantum computing advances, traditional public-key cryptographic schemes (e.g., RSA, ECC) face potential compromise. QKD offers information-theoretic security based on quantum mechanics principles. However, practical performance evaluation under realistic constraints remains a critical research need.
The full BB84 workflow:
- Alice's random bit generation
- Random basis selection (rectilinear/diagonal)
- Quantum state encoding & transmission
- Bob's random basis measurement
- Basis reconciliation (sifting)
- Error estimation & secure key extraction Plus real-world impairments: channel attenuation, detector inefficiency, dark counts, background noise, and eavesdropping attacks.
Now thinking about the forntend the main thing would be to how to approach it which would be mainly using React.js with React Flow (XyFlow) for a node based editor. Styled with Tailwind CSS
This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
Currently, two official plugins are available:
- @vitejs/plugin-react uses Babel (or oxc when used in rolldown-vite) for Fast Refresh
- @vitejs/plugin-react-swc uses SWC for Fast Refresh
The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see this documentation.
If you are developing a production application, we recommend using TypeScript with type-aware lint rules enabled. Check out the TS template for information on how to integrate TypeScript and typescript-eslint in your project.