QuantumKatas/KeyDistribution_BB84
Cassandra Granade 714d334538
Update QDK to 0.24.208024. (#779)
2022-05-06 15:55:02 -07:00
..
.vscode Add DevSkim scanning and resolve initial alerts (#778) 2022-04-22 16:47:21 -07:00
img [KeyDistribution_BB84] Improve the task descriptions (#297) 2020-04-08 01:01:44 -07:00
KeyDistribution_BB84.csproj Update QDK to 0.24.208024. (#779) 2022-05-06 15:55:02 -07:00
KeyDistribution_BB84.ipynb Updates to new array creation syntax, part 3 (#762) 2022-03-14 10:31:37 -07:00
KeyDistribution_BB84.sln Add BB84 Key Distribution Kata (#89) 2019-09-25 18:52:32 -07:00
README.md Update format for Binder links (#656) 2021-09-10 17:19:16 -07:00
ReferenceImplementation.qs Update to new array creation syntax (#709) 2021-12-14 13:55:41 -08:00
Tasks.qs Update to new array creation syntax (#709) 2021-12-14 13:55:41 -08:00
Tests.qs Updates to new array creation syntax, part 3 (#762) 2022-03-14 10:31:37 -07:00
Workbook_KeyDistribution_BB84.ipynb [KeyDistribution_BB84] Finish the workbook (#722) 2022-01-14 18:17:03 -08:00

README.md

Welcome!

The Quantum Key Distribution kata is a series of exercises designed to teach you about a neat quantum technology where you can use qubits to exchange secure cryptographic keys. In particular, you will work through implementing and testing a quantum key distribution protocol called BB84.

You can run the KeyDistribution_BB84 kata as a Jupyter Notebook!

Background

What does a key distribution protocol look like in general? Normally there are two parties, commonly referred to as Alice and Bob, who want to share a random, secret string of bits called a key. This key can then be used for a variety of different cryptographic protocols like encryption or authentication. Quantum versions of key exchange protocols look very similar, and utilize qubits as a way to securely transmit the bit string.

General schematic for QKD protocol

You can see in the figure above that Alice and Bob have two connections, one quantum channel and one bidirectional classical channel. In this kata you will simulate what happens on the quantum channel by preparing and measuring a sequence of qubits and then perform classical operations to transform the measurement results to a usable, binary key.

There are a variety of different quantum key distribution protocols, however the most common is called BB84 after the initials of the authors and the year it was published. It is used in many existing commercial quantum key distribution devices that implement BB84 with single photons as the qubits.

For more information: