Git Product home page Git Product logo

qkd-strap's Introduction

qkd-strap

Team QuackAttack!

DEALBREAKERS (FIX)

  • Implement classical link authentication

Protocol background

This paper covers security concerns

QKD Strap

The Team QuackAttack QKD-strap includes a QNE harness for demonstrating the implementation of BBM'92 using NetQASM

Instructions

Contained is alice and bob implementing BBM'92 QKD protocol, within parameters for testing.

As configured, 50 Qubits are exchanged, QBER is computed, first 16 valid Qubits comprise the key (as required).

To run: Install QNE, NetQASM

  • Requires Linux, Mac OSX, Windows Subsystem for Linux

  • Supports Python3 <=3.9

  • Establish conda environment using conda create qkd-env python=3.9

  • Test that QNE and NetQASM are availble

git clone https://github.com/meltyness/qkd-strap

cd qkd-strap

use ./env_setup.sh to faciliate

cd qkd

qne experiment run exp --timeout=30

qne experiment results exp --show

... or in your favorite editor:

vim exp/raw_output/LAST/results.yaml

Targeted results are returned in the dict as secret_key

Detailed comments in app_alice.py describe the full procedure, and variable involved.

See also application.json and exp/ .json files for details about how the application is being run, and the network it's being simulated on. Details for how to modify this configuration are: in the QNE-ADK docs

Debugging

In order to facilitate a more in-depth understanding of the proceedings, ensure that you have NetQASM installed based on aforementioned instructions, and use: cd qkd-strap/src netqasm simulate --log-level=INFO

and your screen will be flooded with details about the proceedings between alice and bob.

Road ahead

  • Implement an Eavesdropper, possibly in-line with eavesdropping strategies which may be possible following the security-implications paper above.
  • Differentiate between an eavesdropper and a noisy-channel. See this part of wikipedia

qkd-strap's People

Contributors

meltyness avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.