QuCrypt's Support for Quantum Protocols
Protocols in QuCrypt can be easily added by specializing
the existing ones. For the time being, only quantum key distribution
protocols are provided. Two kinds of quantum key distribution (QKD) protocols
are implemented in QuCrypt. They are:
In addition, some itermediary versions of both QKD protocols
are provided for future extension of the protocol library. Each protocol
being built by specializing subprotocols, we get the following specialization
Each of these intermediary versions are reusable inside different
protocols or different implementations of the currently supported schemes.
To see how to build your own quantum protocol, look at how the implementation
of the full
BB84 QKD protocol uses the implementation of reconciled
BB84 in the protocols
Raw BB84 -> Reconciled BB84 -> Full BB84
Raw B92 -> Reconciled B92
-> Full B92.
The goal would be to develop a large library of subprotocols
in order to make quantum protocols easy to implement by putting together
the reusable components that are the most adapted to a specific task. JAVA
being an object oriented programming language makes it a good choice for
achieving this goal.
Raw Quantum Transmission
The Raw BB84 and Raw B92 are subprotocols allowing
to generate the raw key from which public discussion between Alice and
Bob should produce the final secret key. The raw key is simply the
raw material produced by the quantum transmission using the BB84
coding scheme and the B92 coding scheme
respectively. The raw part of QKD protocols is a kind of general
primitives that can be used as the quantum part for more general quantum
protocols. If one wants to provide a different quantum protocol using
either Raw BB84 or Raw B92 for the quantum transmission part
then one just writes the specification of the classical part of the protocol
taking place after the raw key generation. The raw key can
also be stored (only in the next
QuCrypt's release though) for future
processing involving maybe only classical channels.
Reconciled Quantum Transmission
The reconciled quantum transmission is the string Alice and
Bob get after having corrected the transmission errors in the Raw key.
For the time being only one reconciliation scheme is included in QuCrypt.
After Alice and Bob have applied reconciliation, they make sure that no
error is left by executing another classical subprotocol called confirmation.
Both reconciliation and confirmation can be redefined by
providing new protocol specifications. For an example of how to provide
your own reconciliation or confirmation protocol, look at how
has been included in RecBB84
The final secret key is obtained by applying privacy amplification
to the reconciled key. Different methods can be added to the one
available in QuCrypt. The current privacy amplification protocol
is implemented in the PA
class and are used in BB84
the obvious way.