Prepare-and-Send Universal Blind Quantum Computation: Difference between revisions
Line 29: | Line 29: | ||
== Pseudo-Code== | == Pseudo-Code== | ||
*Notations | *Notations | ||
*<math>\phi</math>, measurement angle for given MBQC pattern to implement the required computation | **<math>\phi</math>, measurement angle for given MBQC pattern to implement the required computation | ||
*<math>\phi_0</math>, measurement angle including Pauli X,Z corrections | **<math>\phi_0</math>, measurement angle including Pauli X,Z corrections | ||
*<math>s_X,s_Z</math> Dependency sets for Pauli X and Pauli Z corrections, respectively (obtained from flow construction). | **<math>s_X,s_Z</math> Dependency sets for Pauli X and Pauli Z corrections, respectively (obtained from flow construction). | ||
*<math>\theta</math>, randomly chosen angles by Client in order to hide classical input | **<math>\theta</math>, randomly chosen angles by Client in order to hide classical input | ||
* r <math>\epsilon_R\{0,1\}</math>, randomly chosen parameter for <math>\pi</math> rotation in order to hide classical output | ** r <math>\epsilon_R\{0,1\}</math>, randomly chosen parameter for <math>\pi</math> rotation in order to hide classical output | ||
*<math>\delta</math>, final measurement angle | **<math>\delta</math>, final measurement angle | ||
===Protocol=== | ===Protocol=== |
Revision as of 21:45, 10 October 2018
Functionality Description
Delegated Computation is the task of assigning quantum computation to an untrusted device while maintaining privacy of the computation. It can be done via classical online/offline and quantum online/offline communication. Following description deals with a method which involves quantum offline and classical online communication, called Blind Quantum Computation. It comes with the properties of correctness i.e. if both parties follow the protocol the final outcome is correct, blindness i.e. the Client to have Server carry out a quantum computation for her (Client) such that the Client’s inputs, outputs and circuit used for computation remain perfectly private from the Server and Universality i.e. the following protocol can implement any quantum computation.
Use Case
(Yet to be discussed)
Tags: Two Party, Universal Task, Quantum Functionality, Secure Delegated Quantum Computation, Quantum Offline communication, Classical Online communication, Measurement Based Quantum Computation (MBQC), Measurement Only UBQC, Pseudo-Secret Random Qubit Generator (PSQRG), Prepare and Send Verifiable Universal Blind Quantum Computation (VUBQC).
Procedure/Outline
The following Universal Blind Quantum Computation (UBQC) protocol uses the unique feature of Measurement Based Quantum Computation (MBQC) that separates the classical and quantum parts of a computation. MBQC requires a set of initial entangled states, called graph states for computation. Here, we shall use a special family of graph states, brickwork states which are universal (can implement any quantum operation) for X-Y measurements and do not leak any specific data about the computation during preparation. The protocol can be divided into three stages: preparation, computation and output correction.
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.
- 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.
- 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 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.
Figure
Properties
- (m,n) define dimensions of the brickwork state
- This protocol is secure against malicious adversary setting
- The Protocol needs Client to be able to prepare given initial quantum states
- The Protocols needs a quantum channel from Client to Server to transfer initial quantum states
- This protocol requires no quantum memory for the Client
- Universality As brickwork states are universal for X-Y plane measurements, the protocol is universal. This protocol uses approximate universality although exact universality can be achieved if Client if allowed to communicate real numbers.
- Correctness If Client and Server follow the protocol as described above, the outcome will be correct.
- Blindness The protocol is blind while leaking at most (m,n) to the Server
Pseudo-Code
- Notations
- , measurement angle for given MBQC pattern to implement the required computation
- , measurement angle including Pauli X,Z corrections
- 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 s_X,s_Z} Dependency sets for Pauli X and Pauli Z corrections, respectively (obtained from flow construction).
- 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 \theta} , randomly chosen angles by Client in order to hide classical input
- r , randomly chosen parameter for 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 \pi} rotation in order to hide classical output
- , final measurement angle
Protocol
- Unless given specific mention in [.], following steps apply to all the three protocols 1a-1c
Preparation Stage
- Input: Client: Dimeonsions of Brickwork State (m,n), Input States (ψ0,y) [Protocol 1b only], Auxilliary Input States (ψx,y)
- Output: Server: Brickwork State Gmxn
Client [Protocol 1a]
- Client’s preparation
- For each column x = 1,...,n
- For each row y = 1,...,m
- Client prepares and sends the qubits to Server.
- For each row y = 1,...,m
- For each column x = 1,...,n
Client [Protocol 1b]
- Client’s input preparation
- For the input column (x = 0,y = 1,...,m) corresponding to Client’s input
- Client applies Z0,y(θ0,y) for θ0,y ∈R {0,π/4,2π/4,...,7π/4}.
- Client chooses i0,y ∈R {0,1} and applies . She sends the qubits to Server.
- For the input column (x = 0,y = 1,...,m) corresponding to Client’s input
- Client’s auxiliary preparation
- For each column x = 1,...,n
- For each row y = 1,...,m
- Client prepares |ψx,yi ∈R {|+θx,yi | θx,y = 0,π/4,2π/4,...,7π/4} and sends the qubits to Server.
- For each row y = 1,...,m
- For each column x = 1,...,n
Client [Protocol 1c]
- Client’s auxiliary preparation
- For each column x = 1,...,n − 1
- For each row y = 1,...,m
- Client prepares |ψx,yi ∈R {|+θx,yi | θx,y = 0,π/4,2π/4,...,7π/4} and sends the qubits to Server.
- For each row y = 1,...,m
- For each column x = 1,...,n − 1
- Client’s output preparation
- Client prepares the last column of qubits |ψn,yi = |+i (y = 1,...,m) and sends the qubits
to Server.
Server’s preparation [Protocols 1a, 1b and 1c]
- Server creates an entangled state from all received qubits, according to their indices, by applying ctrl-Z gates between the qubits in order to create a brickwork state Gn×m for Protocols 1a and 1c while Gn+1×m for Protocol 1b.
Computation Stage
- Input: Client: Measurement Angle: δx,y
- Output: Server: Measurement Outcome: sx,y
Interaction and measurement
- For each column x = 1,...,n [Protocols 1a and 1b]; For each column x = 1,...,n−1 [Protocol 1c]
- For each row y = 1,...,m
- For Protocols 1a and 1c, Client computes φ0x,y where{equation missing}
For Protocol 1b, Client computes with the special case . - Client chooses rx,y ∈R {0,1} and computes .
- Client transmits δx,y to Server. Server measures in the basis {|+δx,yi,|−δx,yi}.
- Server transmits the result sx,y ∈ {0,1} to Client.
- If rx,y = 1 above, Client flips sx,y; otherwise she does nothing.
- For Protocols 1a and 1c, Client computes φ0x,y where{equation missing}
- For each row y = 1,...,m
Output Correction [Protocol 1c only]
- Server sends to Client all qubits in the last layer.
- Client performs the final Pauli corrections .