icepolarizer / E42

Q branch's QKD Chat Application Prototype with Javascript and Python

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

E42

E42 - QKD BB84 Chat's Prototype

While we were studying the Quantum Computing, we found the glorious QKD. We loved BB84 algorithm and wanted to make it work in our computer. We found some great example codes from IBM Qiskit's Tutorial Repo, and made them work in real internet chatting.

How it was done

We don't have real QKD devices. They are bloody expensive, and we are just students. So, we decided to use the simulator.
Problem was, QKD requires some kind of photon transfer mechanism. Basically we have to send the qubits from one client to the other, but we couldn't find an example for such operation. Well, it woks in single python code for testing. So we serialized an Quantum Circuit Object, and sent it using socket.

We used Qiskit in python to prove that it's working. Here is our Alpha version, made with Python.
And for our next trick, we implemented them into Javascript...using another quantum-circuit library for js.

Installation

Clone this repository, and run:

pip3 install -r requirements.txt
python3 server.py

Then go to localhost:5000

Contribution

Of course, since we made this as an experiment, we can't be sure that it works correctly, following the philosophy of QKD(BB84). Also, since it's built on simulator, we can't expect the real QKD's security. Since the quantum circuit object can be hijacked by hackers, and hackers can predict the result of measurement.
However, that isn't our point. We just wanted to show how it works, and how amazing Quantum Key Distribution is.
So, we appriciate any kind of contribution adn contact about this project. Please contribute and contact if you found anything wrong or needs upgrade.

Credits

About

Q branch's QKD Chat Application Prototype with Javascript and Python

License:MIT License


Languages

Language:HTML 47.2%Language:JavaScript 33.0%Language:Python 19.8%