Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ferjanimy/bb84_protocol_v1

Possible implementation of BB84 protocol using Simulaqron
https://github.com/ferjanimy/bb84_protocol_v1

bb84 bb84-protocol chat qkd quantum quantum-algorithms quantum-computing quantumcryptography simulaqron

Last synced: 5 days ago
JSON representation

Possible implementation of BB84 protocol using Simulaqron

Awesome Lists containing this project

README

        

# BB84 protocol QKD :

![](https://github.com/FerjaniMY/BB84_protocol_v1/blob/master/images/F1.png)

![](https://www.google.tn/url?sa=i&url=https%3A%2F%2Fpplware.sapo.pt%2Finformacao%2Finvestigadores-quebraram-a-criptografia-quantica-inquebravel%2F&psig=AOvVaw0R89n1zU_JGYePIMuomHcy&ust=1586459451373000&source=images&cd=vfe&ved=0CAIQjRxqFwoTCNDqsprE2egCFQAAAAAdAAAAABAI)
### BB84, version 1(Without Noise)
* Generate raw key
* Sift the key
* Reduce Eve’s information on the new key (privacy amplification)
* Implement Eavesdropper attack
### TO DO LIST :
* Authenticate the messages on the classical channel
* Simulate noisy qubits and implement error correctiong codes
* Develop a new socket communication class

### Simulaqron
SimulaQron is an application level simulator for a quantum internet that allows you to program your own quantum internet applications. Explore how to realize software for a quantum internet connecting local quantum processors by quantum communication, and develop your own libraries and software engineering concepts suitable for a quantum internet.
http://www.simulaqron.org/
![](https://d3i71xaburhd42.cloudfront.net/59a22ddee5a38458cbbf624091629ab3467954d3/4-Figure2-1.png)
### How to use ?
###### For linux :

* run.sh :Execute Alice and Bob without Eavesdropping , generate 1 bit key ----> `sh run.sh`
* run+Eve.sh : Execute Eve (Man in the middle attack) ------> `sh run+Eve.sh`
* n_run.sh : run the program n times (n=10) in order to obtain n_bit key -----> `bash n_run.sh`