Prepare and Measure Quantum Digital Signature
Functionality Description
Digital Signatures (DS) allow for the exchange of messages from sender to multiple recipients, with a guarantee that the signature has come from a genuine sender. Additionally, it comes with the properties of transferability, i.e. messages with DS can be forwarded from one recipient to another such that DS is verifiable to have come from the original sender, and non-repudiation, i.e at any stage after sending the message to one recipient, sender cannot deny having sent the message and corresponding DS.
Use Case
Online Transactions, Signing Marksheets
- Technological Readiness
Tags: Multi Party (three), Quantum Enhanced Classical Functionality, Specific Task, Quantum Digital Signature (QDS), Measurement Device Independent Version (MDI-QDS),Device Independent Version(DI-QDS), Quantum Enhanced Classical Functionality
Outline
Quantum Digital Signature (QDS) protocols can be separated into two stages: the distribution stage, where quantum public keys are sent to all recipients, and the messaging stage, where classical messages are sent and verified. Here, we take the case of three parties, one sender (referred to as seller) and two receivers (buyer and verifier) sharing a one bit message. Following protocol requires Client to prepare and send quantum public keys to the buyer and verifier, hence the name, Prepare and Send QDS. Distribution phase can be divided into the following steps:
- Key Distribution: Seller generates her (public key,private key) pair and shares the public key with both receivers in this step. For each possible message (0 or 1), she generates two identical sequences/copies (one for each receiver per possible message) of randomly chosen BB84 ∈ {0,1,+,−} states. The sequence of states is called quantum public key and its classical description, private key. She then sends copies of each quantum public key to the receivers while keeping both the private keys secret to herself. At the end of this step, seller has two private keys, one for each possible message. Similarly, each receiver has two quantum public keys, one for each possible message.
- State Elimination: Receivers store their classical records of the quantum public keys in this step. For each quantum public key received, a receiver randomly chooses X or Z basis for each qubit and measures. Whatever outcome he gets, the receiver is certain that seller could not have generated a state orthogonal to his outcome. So, he records the state orthogonal to his outcome as the eliminated signature element. Such measurement is called ’Quantum State Elimination’. The sequence thus generated by measurement of all the qubits in a public key is called receiver’s eliminated signature for the respective quantum public key. Thus, each receiver finally has two eliminated signatures, one for each possible message.
- Symmetrisation: The two receivers exchange half of their randomly chosen eliminated signature elements. This prevents a dishonest seller succeed in cheating by sending dissimilar public keys to the receivers. Thus ends the distribution phase.
Similarly, Messaging Phase is divided into the following steps:
- Signing: Seller sends desired message and the corresponding private key to the desired receiver (called buyer). Buyer compares the private key with his eliminated signature for the corresponding message and counts the number of mismatches (eliminated signature element in seller’s private key).
- Transfer: Buyer forwards the same message and private key to the other receiver (called verifier) who compares it with his eliminated signature for this message.
Figure
Requirements
- L : length of quantum public keys.
- authentication threshold per qubit.
- verification threshold per qubit.
Example: https://arxiv.org/abs/1403.5551
- Notations
- : Quantum Public key for message k
- : Classical Private key for classical one-bit message k
- : the classical description of qubit in
- : Buyer's Eliminated Signature for message m
- : Verifier's Eliminated Signature for message m
- : Buyer’s random bit to determine the measurement basis of qubit in
- : Verifier’s random bit to determine the measurement basis of qubit in
- : measurement outcome of
Properties
- The protocol assumes authenticated quantum channels between all seller-receiver pairs.
- The protocol assumes authenticated classical channels between all parties.
- The protocol is assumes maximum number of participating parties are honest. In the present case at least two parties are honest.
- The protocol provides security against repudiation, i.e. the probability that seller succeeds in making buyer and seller disagree on the validity of her sent quantum signature decays exponentially with L, as stated by the formula .
- The protocol provides security against forgery, i.e. any recipient (verifier) with high probability rejects any message which was not originally sent by the seller herself. Forging probability is given by the formula, , where is the minimum possible rate at which buyer declares a single signature element which has been eliminated by the verifier.
Pseudo Code
Stage 1 Distribution
- Input L
- Output Seller: ; Buyer: ; Verifier:
- Key Distribution:
- For k = 0,1
- Seller prepares quantum public key , where
- She sends Buyer (k,)
- She sends Verifier (k,)
- State Elimination:
- For k = 0,1
- For l = 1,2,...,L
- Buyer chooses
- If , Buyer measures his qubit in X basis Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \{|+\rangle,|-\rangle\}}
- If , Buyer measures his qubit in Z basis
- return
- For l = 1,2,...,L
- Verifier repeats steps 2(a)-2(b) with randomly chosen basis to get his eliminated signature elements
- Symmetrisation
- For k = 0,1
- Buyer chooses I
- , Buyer sends Verifier
- Verifier chooses J
- , Verifier sends Buyer
- Buyer replaces
- Verifier replaces
- For k = 0,1
Stage 2 Messaging
- Input Seller: Message m, Private Key for m:
- Output Buyer: accept or abort, Verifier: accept or abort
- Signing: ’mismatch’ is when Buyer finds an eliminated signature element in Seller’s private key
- Seller sends Buyer (m,)
- For l = 1,2,..,L
- Buyer counts the number of mismatches () and returns
- If , Buyer accepts m else he aborts
- Transfer
- Buyer sends Verifier (m,)
- For l = 1,2,....,L
- Verifier counts the number of mismatches () and returns
- If , Verifier accepts m else he aborts