Arbitrated Quantum Digital Signature: Difference between revisions

Line 12: Line 12:
==Outline==
==Outline==


Like other QDS protocols, it is divided into two phases: Distribution (Key Generation) and Messaging (Signing and Verification). This scheme is presented between seller (one who signs the message), buyer (one whom the signed message is sent) and PKG (generates and distributes public-private key for seller) and a buyer.</br>
Like other QDS protocols, it is divided into two phases: Distribution and Messaging. This scheme is presented between seller (one who signs the message), buyer (one whom the signed message is sent) and PKG (generates and distributes public-private key for seller) and a buyer.</br> Distribution includes the generation of public ad private keys as follows
* '''Key Generation''': In this step, PKG generates derives the public key of the seller and generates a private key which is secretly sent to Seller over insecure classical channel.  
* '''Key Generation''': In this step, PKG generates derives the public key of the seller and generates a private key which is secretly sent to Seller over insecure classical channel.  
**Seller's public key is derived from her personal information such as her email-id over a public channel. A one way function is chosen by PKG randomly and secretly (known as master key), which uses the classical public key as its input.  
**Seller's public key is derived from her personal information such as her email-id over a public channel. A one way function is chosen by PKG randomly and secretly (known as master key), which uses the classical public key as its input.  
**A random OTP of the same length as the function outcome (random key), is used to convert it (the outcome) into seller's private key by performing bit-wise modulo 2 sum (exclusive OR gate).  
**A random OTP of the same length as the function outcome (random key), is used to convert it (the outcome) into seller's private key by performing bit-wise modulo 2 sum (exclusive OR gate).  
**The quantum pre-shared common key (assumption) is then used to one-time pad the private key via [[Arbitrated Quantum Digital Signature#References|Quantum Vernam Cipher (1), (2)]].  
**The quantum pre-shared common key (assumption) is then used to one-time pad the private key via [[Arbitrated Quantum Digital Signature#References|Quantum Vernam Cipher (1), (2)]]. The one-time padded cipher-text is then communicated to seller (over insecure channel).  
**The one-time padded cipher-text was communicated to seller (over insecure channel).  
**Seller un-pads the cipher-text to obtain the private key using the pre-shared common key. Hence, in the end, everyone knows seller's public key and, only PKG and seller know her private key.  
**Seller un-pads the cipher-text to obtain the private key using the pre-shared common key. Hence, in the end, everyone knows seller's public key and, only PKG and seller know her private key.  
* '''Signing''': In this step, the seller generates a signature quantum state using the message she wants to send, her public key and private key. The seller selects a quantum one way function publicly to generate a quantum digest (directory) using these classical inputs.
Messaging comprises of the following steps
** The Signer selects two random strings and generates a quantum state of the message using these random strings.
* '''Signing''': In this step, the seller generates a signature quantum state using the message she wants to send, her public key and private key. The seller selects a quantum one way function publicly to generate a quantum digest (directory) using these classical inputs. Seller repeats each step for each message bit.
** The public and the private key are used to generate the signature quantum state from the state produced in the previous step.
** Seller selects two random strings and generates a quantum state of the message using these random strings to operate a Unitary gate and [[Glossary#Quantum Gates|Hadamard Transform]] on a null/vacuum state (see [[Arbitrated Quantum Digital Signature#Pseudo Code|Pseudo Code]] for operations)
** The Signer then generates a private key state using the two selected random numbers and the private key. Along with that a basis state is generated, which is a set of basis of each qubit in the private key state.  
** The public and the private key are used to perform Hadamard transformation on the state produced in the previous step in order to generate the signature quantum state.
** Signer then generates a quantum digital digest using the quantum one way function with the message and private key state as input. This process is repeated several times to generate few copies of the quantum digest.
** The Seller then performs some operation using her private key and measures the quantum state. It can be shown the states were on of the BB84 states and hence, can have one of the two possible bases ([[Glossary#Quantum States|X basis,Z basis]]) and four possible states. She records the basis and classical bit representing the state obtained.  
** The shared key with PKG is used to encrypt the quantum digest using the quantum Vernam cipher and then it is delivered to PKG.  
**Seller then concatenates these classical bits, the two random string bits, and a timestamp unique to the signature. The concatenated classical string is used as the input of publicly chosen QOWF.
** PKG decrypts the received ciphertext state and announces publicly that the messages are ready for the Verifier to download and verify.
**Seller then encrypts the timestamp and quantum output of QOWF with pre-shared common key via quantum vernam cipher. PKG unpads these and publicly announces for buyer's verification step.  
** Signers sends the signature to Verifier which includes the signature quantum state, plain text message, timestamp and basis state.
** Sellers sends the signature to the buyer which includes the signature quantum state, message, timestamp and basis states.


* '''Verify''': In this method, the verifier checks the authenticity of the signature.
* '''Verification''': In this method, the verifier checks the authenticity of the signature.
** The Verifier uses Signer's public key and the signature sent to generate a quantum state. According to the Basis state set, the Verifier measures this quantum state and the result of this measurement is converted to a set of classical 2-bit string.
** The Verifier uses Signer's public key and the signature sent to generate a quantum state. According to the Basis state set, the Verifier measures this quantum state and the result of this measurement is converted to a set of classical 2-bit string.
** One of the randomly selected string by the Signer can be easily inferred by the Verifier from the state after the measurement. The Verifier is then able to generate their own copy of quantum digital digest using the publicly announced quantum one way function.
** One of the randomly selected string by the Signer can be easily inferred by the Verifier from the state after the measurement. The Verifier is then able to generate their own copy of quantum digital digest using the publicly announced quantum one way function.
Write, autoreview, editor, reviewer
3,129

edits