Prepare-and-Send Universal Blind Quantum Computation: Difference between revisions

Jump to navigation Jump to search
Line 12: Line 12:
Preparation stage includes a partially quantum Client preparing and sending quantum states to the Server who constructs the required brickwork state. Computation stage involves interaction. Output Correction involves retrieval of correct output from the results sent by the Server. We shall discuss below three protocols with different attributes but same functionality. All UBQC protocols discussed below require Client to prepare the required quantum states for computation and send those to the Server, hence the name ''Prepare and Send UBQC''. Protocol 1a deals with a partially quantum Client capable of preparing initial quantum states for the construction of brickwork state with classical input/output computation. Protocols 1b and 1c are extensions to accommodate quantum inputs and quantum outputs, respectively.
Preparation stage includes a partially quantum Client preparing and sending quantum states to the Server who constructs the required brickwork state. Computation stage involves interaction. Output Correction involves retrieval of correct output from the results sent by the Server. We shall discuss below three protocols with different attributes but same functionality. All UBQC protocols discussed below require Client to prepare the required quantum states for computation and send those to the Server, hence the name ''Prepare and Send UBQC''. Protocol 1a deals with a partially quantum Client capable of preparing initial quantum states for the construction of brickwork state with classical input/output computation. Protocols 1b and 1c are extensions to accommodate quantum inputs and quantum outputs, respectively.


'''Protocol 1a:''' ''Client is assumed to be able to prepare quantum states.''
* '''Client’s preparation''' Client sends the initial qubits for construction of brickwork state to Server in this step. Client has in her mind a quantum computation as a measurement pattern on the brickwork state. She prepares m x n single qubit states with randomly chosen local phase in order to hide her classical inputs later.
* '''Client’s preparation''' Client sends the initial qubits for construction of brickwork state to Server in this step. Client has in her mind a quantum computation as a measurement pattern on the brickwork state. She prepares m x n single qubit states with randomly chosen local phase in order to hide her classical inputs later.
* '''Server’s preparation''' Server prepares brickwork state of m rows and n columns. It entangles all the received qubits as per Client’s instructions. Thus, ends preparation stage.
* '''Server’s preparation''' Server prepares brickwork state of m rows and n columns. It entangles all the received qubits as per Client’s instructions. Thus, ends preparation stage.
* '''Interaction and Measurement''' Client and Server interact to perform operations needed for computation. For a given computation and graph state, MBQC provides a measurement angle and some extra Pauli X, Z corrections, for each qubit. The correction sets (also called Dependency sets), unique for every graph state are based on previous measurement outcomes and can be obtained from '''[[Supplementary Information#Flow Construction-Determinism|flow construction]]'''. Also, as Client’s input state has random local phase, the same should be added to the measurement angle for computation along with Pauli Corrections to get the correct outcome. Now, in order to hide the output, Client randomly chooses to add a π rotation or not. The final measurement angle includes all the above parameters and hence, is sent to the Server. When Server returns the classical outcome, Client gets the correct outcome by taking into account the random π rotation and then uses it to calculate measurement angle for for the next qubit. The step is repeated until every qubit has been measured. Server returns measurement outcomes for the last column to Client. Client deciphers this outcome to get the final result. This ends the computation stage.
* '''Interaction and Measurement''' Client and Server interact to perform operations needed for computation. For a given computation and graph state, MBQC provides a measurement angle and some extra Pauli X, Z corrections, for each qubit. The correction sets (also called Dependency sets), unique for every graph state are based on previous measurement outcomes and can be obtained from '''[[Supplementary Information#Flow Construction-Determinism|flow construction]]'''. Also, as Client’s input state has random local phase, the same should be added to the measurement angle for computation along with Pauli Corrections to get the correct outcome. Now, in order to hide the output, Client randomly chooses to add a π rotation or not. The final measurement angle includes all the above parameters and hence, is sent to the Server. When Server returns the classical outcome, Client gets the correct outcome by taking into account the random π rotation and then uses it to calculate measurement angle for for the next qubit. The step is repeated until every qubit has been measured. Server returns measurement outcomes for the last column to Client. Client deciphers this outcome to get the final result. This ends the computation stage.
'''Protocol 1b:''' ''Protocol 1a can be modified as follows if Client is provided with m quantum input states beforehand. Client is assumed to be able to prepare quantum states and apply single qubit gates (Pauli gates).''
* '''Client’s input preparation''' This step encrypts the input state column using quantum one time pad. Client rotates her input qubits using single qubit gate Z(θ), in order to add random local phase. She randomly chooses to flip each qubit using single qubit gate X or do nothing. She then sends these qubits to Server. This is the only extra step as compared to Protocol 1a.
* '''Client’s auxilliary preparation''' This step is exactly same as Client’s preparation of m x n initial quantum states for brickwork state in Protocol 1a.
*''' Server’s preparation''' Server prepares brickwork state of m rows and n+1 columns in the order instructed by the Client. The ’m’ quantum inputs constitute the first column of brickwork state for this protocol. Thus ends the preparation stage
* '''Interaction and Measurement''' This step remains the same as Protocol 1a except that the bit flip used to hide Client’s input is taken care of while computing measurement angle to be sent for the first column.
'''Protocol 1c:''' ''This protocol is different from Protocol 1a such that the last column of the brickwork state is not measured but sent back to the Client. Client is assumed to be able to prepare quantum states and apply single qubit gates (Pauli gates). The following steps account for the modified protocol.''
* '''Client’s auxilliary preparation''' This step is exactly same as Client’s preparation in Protocol 1a. The difference being, she prepares only m x n-1 initial states this time.
* '''Client’s output preparation''' The nth column of brickwork state contains quantum states with zero local phase.
* '''Server’s preparation''' Server prepares brickwork state of m rows and n columns in the order instructed by the Client.
* '''Interaction and Measurement''' This step remains exactly the same as Protocol 1a
* '''Output Correction''' In this step Client applies the Pauli Corrections X, Z on the last column of qubits sent to her by the server.
  Figure
  Figure


Write, autoreview, editor, reviewer
3,129

edits

Navigation menu