Prepare-and-Send Verifiable Universal Blind Quantum Computation

From Quantum Protocol Zoo
Jump to navigation Jump to search

The example protocol achieves the functionality of Delegated Computation which is the task of assigning quantum computation to an untrusted device while maintaining privacy of the computation. This protocol allows the client to verify the correctness of the Prepare-and-Send Universal Blind Quantum Computation. Here, the server carries out the quantum computation for the client while maintaining perfect privacy for the client, and also giving the client an ability to verify with high probability whether the server has followed the instructions of the protocol and also check if any deviations have occurred, resulting in an incorrect output state.

Tags: Two Party, Universal Task, Secure Delegated Quantum Computation, Verification of Quantum computers, Quantum Offline communication, Classical Online communication, Measurement Based Quantum Computation (MBQC), Measurement Only UBQC, Pseudo-Secret Random Qubit Generator (PSQRG).

Assumptions

  • The protocol assumes perfect state preparation, transmissions, and measurements.
  • The client never deviates from the protocol.
  • The position of the trap qubit always remains hidden from the server.

Outline

This protocol is a modified version of prepare and send universal blind quantum computation, which is based on MBQC. An adversarial server is taken into consideration here and any computational deviations are detected with a high probability. This is achieved by insertion of randomly prepared and blindly isolated single qubits in the computation, which act as traps (trap qubits), hence assisting the client in verification.

The original brickwork state used in prepare and send universal blind quantum computation is modified to a cylinder brickwork state which allows client to embed a trap qubit surrounded by multiple dummy qubits without disrupting the computation. This state is universal and maintains privacy of client's preparation.

The dummy qubits here do not take part in the actual computation as they are disentangled from the rest of the qubits of the graph state. Hence by adding them to the neighbouring nodes of the trap qubits, they are blindly isolated and thus do not interfere with the actual computation. The dummy qubits are added next to the trap qubit in a tape format.

This protocol is dived into four stages: Client's preparation, server's preparation, interaction and measurement, verification.

  • Client's preparation: The partially quantum client prepares the quantum states with embedded traps qubits and sends them to the server for creation of the cylinder brickwork state.
    • For the server to create a cylinder brickwork state, the client prepares single qubit states. The qubit input states are specially encoded and all the other non-input qubits except the trap qubit are prepared with randomly chosen local phase angles.
    • During this preparation, the client randomly selects one qubit as the trap qubit and corresponding to the graph of cylinder brickwork state, all the other qubits in the tape are set as the dummy qubits. The trap qubit is prepare with the local phase angle set to .
    • The client then sends all the prepared qubits in the respective order so the graph state can be constructed by the server.

  • Server's Preparation: The server receives the qubits in the order of rows and columns and entangles them according to the cylinder brickwork state (using CZ gate).

  • Interaction and Measurement: This step is exactly the same as for Prepare and Send-Universal Blind Quantum Computation.
    • The client sends the measurement angle to the server for every single qubit. This measurement angle includes the parameters like correction sets obtained from flow construction, input state's random local phase and a rotation to hide the output. Thus it reveals no information about the underlying computation.
    • The server sends the classical output of each non-input qubit's measurement to the client. The client considers the rotation to get the corrected output. The client also uses this to calculate the measurement angle and thus repeats the process until the last output qubits are reached.

  • Verification: The verification is carried on by the client by comparing the outcome of the trap qubit measurements with the expected outcome.

Quantum outputs:

    • The server sends all the output qubits to the client.
    • From these output qubits, the client performs a measurement on the trap qubit. If the output is equal to the expected outcome, the computation is verified. Otherwise, it is rejected.
    • If the computation is accepted, output correction is performed on the other output qubits (except the trap qubit).

Classical outputs:

    • The server continues performing measurements on the output qubits with the measurement angles sent by the server.
    • The client compares the output of the trap qubit with the expected output. If it is equal, computation is verified. Otherwise, it is rejected. If the computation is accepted, the client accepts the other output measurement results as the computation result.

Notation

  • : Total number of input qubits. Also total number of output qubits in quantum outputs.
  • : Total number of qubits in the graph state.
  • : qubit input state.
  • : Encoded qubit input state.
  • : Set of random bits used in encoding via quantum one time pad.
  • : Trap qubit position vertex in the graph state.
  • : Set of all position vertices in the tape of the cylinder brickwork state.
  • : Random local phase angles for qubit .
  • :
  • : True measurement angle for qubit $i$.
  • : Updated version of measurment angle for qubit .
  • : randomly chosen parameter for rotation in order to hide classical output.
  • : Final measurement angle for qubit .
  • : Measurement output by the server.
  • : Sequence of length m describing the result of the nonoutput measurements.

Hardware Requirements

  • Quantum computation resources for the server.
  • A quantum channel from client to server to transfer initial quantum states.
  • Classical channel from client to server to tranfer measurement angles and outputs.
  • Measurement devices for the server and the client in case of quantum outputs.

Properties

  • The client is partially quantum and should be able to prepare the given initial quantum states.
  • This protocol is secure against malicious adversary setting and also detects a cheating server.
  • This protocol is universal in nature. The universality of the cylinder brickwork state guarantees that server’s knowledge about the graph does not reveal anything about the underlying computation.
  • This protocol requires no quantum memory for the client.
  • This protocol is blind in nature, only revealing and .
  • This protocol is verifiable in quantum output case.
  • This protocol is verifiable in classical output case.
  • The trap qubit in the tape format of the cylinder brickwork state remains disentangled from the rest of the graph.
  • Every qubit of the underlying graph could potentially be an isolated trap qubit.

Pseudo-Code

Protocol for quantum output case:

Stage 1: Client's preparation:

Input: Input quantum states, prepared non-input qubits, a trap qubit and dummy qubits.
Output: The server receives all the quantum states in order of the labeling of the vertices of the graph state.


  • The client encodes and prepares the first -input state.
  • Client randomly chooses the to be the trap qubit, where .
  • For :
    • if :
      • if == dummy qubit:
        • State or is prepared
      • if == trap qubit:
        • is prepared
    • if == non-input qubit:
      • is prepared
  • For :
    • The client sends the qubits to the server.


Stage 2: Server's preparation:
Output: Cylinder brickwork state which has a disentangled trap qubit.

  • Server creates an entangled state from all received qubits using CZ operations according to their indices and creates the cylinder brickwork state.

Stage 3: Interaction and Measurement:
Input:
Output:

  • For :
    • Client computes .
      • if :
        • \item
    • Client randomly selects .
    • Client then computes the angle and sends this to the server.
    • Server measures and sends it to client.
    • Client sets the value of in to be .

Stage 4: Verification:
Input: Output qubits to
Output: Verification result

  • For :
    • Server sends output qubit to client.
  • Client measures the output trap qubit (which was disentangled) with angle .
    • Client obtains the result .
      • If :
        • Computation is accepted.
      • else:
        • Computation is rejected.


*contributed by Rhea Parekh