This repository contains a simulated implementation of a Quantum Key Distribution (QKD) Protocol using Python and Qiskit in a Jupyter notebook environment. Developed during a Quantum Computing course offered by IBM's QxQ Coding School, this project demonstrates the practical applications of quantum mechanics in secure communication. It showcases both the safe distribution of quantum keys and the scenarios involving eavesdropper interception.
- Simulated QKD Environment: Utilizes Qiskit to simulate the quantum key distribution process.
- Eavesdropper Interception Scenario: Demonstrates how an eavesdropper can affect the key distribution and how this can be detected.
- Secure Message Transmission: After the successful distribution of a secure key, the implementation optionally supports sending encrypted messages using the established key.
- Interactive Notebook Format: The project is presented in an easy-to-follow Jupyter notebook format, allowing for hands-on interaction and learning.
To get started with this project, you will need to have Python installed along with the Qiskit library. The implementation is provided in a Jupyter notebook, which requires JupyterLab or Jupyter Notebook to run.
- Python 3.x
- Qiskit
- JupyterLab or Jupyter Notebook
Clone the repository and navigate to the project directory. Install the required dependencies using the following command:
pip install qiskit jupyterlab
Open the Jupyter notebook (QKD Implementation.ipynb
) in JupyterLab or Jupyter Notebook to view the implementation and run the code cells.