Skip to content

Simulated Quantum Key Distribution (QKD) Protocol implementation in Python and Qiskit, created during IBM's QxQ Coding School Quantum Computing course. Showcases key distribution and eavesdropper interception scenarios in secure communications.

Notifications You must be signed in to change notification settings

rezi-gelenidze/quantum-key-distribution-protocol

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

Quantum Key Distribution (QKD) Protocol Implementation

Overview

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.

Features

  • 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.

Getting Started

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.

Prerequisites

  • Python 3.x
  • Qiskit
  • JupyterLab or Jupyter Notebook

Installation

Clone the repository and navigate to the project directory. Install the required dependencies using the following command:

pip install qiskit jupyterlab

Running the Notebook

Open the Jupyter notebook (QKD Implementation.ipynb) in JupyterLab or Jupyter Notebook to view the implementation and run the code cells.

About

Simulated Quantum Key Distribution (QKD) Protocol implementation in Python and Qiskit, created during IBM's QxQ Coding School Quantum Computing course. Showcases key distribution and eavesdropper interception scenarios in secure communications.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published