Prepare and Measure Quantum Digital Signature

From Quantum Protocol Zoo
Revision as of 23:49, 18 September 2018 by Shraddha (talk | contribs) (Created page with " == Functionality Description== Digital Signatures (DS) allow for the exchange of messages from sender to multiple recipients, with a guarantee that the signature has come fr...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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.

Outline

Quantum Digital Signature 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.

Properties

Parameters

  • L : length of quantum public keys.
  • sa : authentication threshold per qubit.
  • sv : (sa < sv) verification threshold per qubit.

Setup Assumptions

  • The protocol assumes authenticated quantum channels between all seller-receiver pairs.
  • The protocol assumes authenticated classical channels between all parties.

Security Claims

  • 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 P(rep)≤ e−(sv−sa)2L.
  • 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, P(forge)≤ e−(cmin−2sv)2L, where cmin 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: Private keys ; Buyer: Eliminated Signatures B0,B1; Verifier:Eliminated Signatures C0,C1
Key Distribution:{missing math} is the classical description of lth qubit in the quantum public key |ψki for message k
  1. For k = 0,1
    1. Seller prepares quantum public key , where
    2. She sends Buyer (k,|ψki)
    3. She sends Verifier (k,|ψki)
	'State Elimination: bkl denotes Buyer’s random bit to determine the measurement basis of |βlki, m  is the outcome of that measurement'
  1. For k = 0,1
    1. For l = 1,2,...,L
      1. Buyer chooses bkl ∈R {0,1}
      2. If bkl =0, Buyer measures his qubit in X basis {|+i,|−i}
      3. bkl = 1, Buyer measures his qubit in Z basis {|0i,|1i} return mbkl
Verifier repeats steps 2(a)-2(b) with randomly chosen basis ckl to get his eliminated signature elements Clk
Symmetrisation
    1. For k=0,1
      1. Buyer chooses I ⊂R {1,2,...,L},|I| = dL/2e
      2. ∀i ∈ I, Buyer sends Verifier (
      3. Verifier chooses J ⊂R {1,2,...,L},|J| = dL/2e
      4. ∀j ∈ J, Verifier sends Buyer (
      5. ∀j ∈ J Buyer replaces Bjk = Cjk
      6. ∀i ∈ I Verifier replaces Cik = Bik

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
  1. Seller sends Buyer (m,
  2. For l = 1,2,..,L
    1. Buyer counts the number of mismatches (Blm = βlm) and returns Sb
  3. If Sb < saL/2, Buyer accepts m else he aborts
Transfer
  1. Buyer sends Verifier (m,
  2. For l = 1,2,....,L
    1. Verifier counts the number of mismatches (Clm = βlm) and returns Sc
  3. If Sc < saL/2, Verifier accepts m else he aborts