Implementing The B92 Quantum Key Distribution Protocol
I intent to implement the B92 protocol based on the paper https://www.researchgate.net/publication/337670669_Experimental_Realization_of_Three_Quantum_Key_Distribution_Protocols
For a detailed plan and implementation approach, please refer to the attached proposal: Implementing The B92 Quantum Key Distribution Protocol.pdf
Hello @sribhavan47!
Thanks for your interest in implementing and contributing to the classiq-library! Please include the implementation details in a message here and not as a .pdf. Try to keep it consistent yet detailed, thanks!
Afterward we will review the proposal and move forward :)
Best of luck, Nadav
Hi @NadavClassiq,
Here are the implementation details for integrating the B92 QKD protocol:
The B92 protocol uses two non-orthogonal quantum states to encode classical bits: |0⟩ and |+⟩. Alice prepares a random bit string and encodes each bit such that a 0 maps to |0⟩ and a 1 maps to |+⟩, which can be generated using a Hadamard gate applied to |0⟩. These qubits are transmitted to Bob over a quantum channel.
On the receiver's side, Bob performs a projective measurement designed to partially distinguish between the two states. He can, for example, measure in the basis orthogonal to the one Alice used so he applies a rotation to project onto states like |1⟩ or |−⟩ and only keeps measurement outcomes that conclusively identify the state. Inconclusive results (i.e., no detection or ambiguous results) are discarded.
Once the transmission is complete, Alice and Bob share the indices where Bob successfully received and measured a qubit. They then apply standard error correction and privacy amplification procedures to obtain a shared, secret key. The implementation requires minimal gates, primarily Hadamard gates and basis-aligned measurements, which makes it lightweight and ideal for near-term devices.
Hello @sribhavan47 Sorry for the delay. Have you started working on this project?
Hello @sribhavan47 Sorry for the delay. Have you started working on this project?
Yes @NadavClassiq, I have started with the project, Can I continue the project as I have mentioned? or do you want to add anything?
Hi @sribhavan47,
You may go ahead. Please note that we accept only high-quality contributions that meet the repository's standards.
Please let us know if any issues occurred.
Thanks @NadavClassiq, I will continue with the project.
Hi @NadavClassiq, I have completed the project and raised the PR for this issue, please do review it.