quantum/00_qkd.md
2019-09-25 08:44:26 +02:00

19 lines
939 B
Markdown

# Implement Quantum Key Distribution (QKD) in Python
1. You have Alice and Bob who want to communicate, they have a quantum and a
classical channel.
2. There is of course Mallory who can be the standard Man-in-the-middle,
listening on both channels (with QKD we should be able to at least detect her)
3. Alice and Bob should be able to agree on a One-Time-Pad (OTP) - a series
of bytes that are random. Using this, they can use whatever protocol to
actually encrypt messages (imagine even ceaser shift where each letter is
shifted by that many units using the OTP bits, or even simpler - XORing)
4. Alice and Bob are able to agree on an OTP using qbits in two orthogonal
quantum bases where Bob chooses at random which base to measure and what output
he got.
## Sources:
* [The Code Book](https://www.amazon.com/Code-Book-Science-Secrecy-Cryptography/dp/0385495323)
* [wiki](https://en.wikipedia.org/wiki/Quantum_key_distribution)