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

Line 36: Line 36:
**<math>\delta</math>, final measurement angle
**<math>\delta</math>, final measurement angle


===Protocol=== 
==='''Stage 1:''' Preparation====
*Unless given specific mention in [.], following steps apply to all the three protocols 1a-1c
*Input: Client: Dimensions of Brickwork State (m,n), Input States (ψ0,y) [Protocol 1b only], Auxilliary Input States (ψx,y)
 
====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
*Output: Server: Brickwork State Gmxn
'''Client [Protocol 1a]'''
# Client’s preparation  
# Client’s preparation  
##For each column x = 1,...,n
##For each column x = 1,...,n
###For each row y = 1,...,m
###For each row y = 1,...,m
#### Client prepares  and sends the qubits to Server.
#### Client prepares  and sends the qubits to Server.
'''Client [Protocol 1b]'''
  '''Server’s preparation'''
# Client’s input preparation
# 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 <math>G_{n×m}</math>.
##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.
#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.
'''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.
#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====
====Computation Stage====
*Input: Client: Measurement Angle: δx,y
*Input: Client: Measurement Angle: δx,y
*Output: Server: Measurement Outcome: sx,y
*Output: Server: Measurement Outcome: sx,y
  '''Interaction and measurement'''
  '''Interaction and measurement'''
#For each column x = 1,...,n [Protocols 1a and 1b]; For each column x = 1,...,n−1 [Protocol 1c]
#For each column x = 1,...,n  
##For each row y = 1,...,m
##For each row y = 1,...,m
### For Protocols 1a and 1c, Client computes φ0x,y where{equation missing} <br/>For Protocol 1b, Client computes  with the special case .
###Client computes φ0x,y where{equation missing} <br/>
### Client chooses rx,y ∈R {0,1} and computes .
### Client chooses rx,y ∈R {0,1} and computes .
### Client transmits δx,y to Server. Server measures in the basis {|+δx,yi,|−δx,yi}.
### 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.
### Server transmits the result sx,y ∈ {0,1} to Client.
### If rx,y = 1 above, Client flips sx,y; otherwise she does nothing.
### If rx,y = 1 above, Client flips sx,y; otherwise she does nothing.
  '''Output Correction [Protocol 1c only]'''
  '''Output Correction [only for quantum outputs]'''
# Server sends to Client all qubits in the last layer.
# Server sends to Client all qubits in the last layer.
# Client performs the final Pauli corrections .
# Client performs the final Pauli corrections .
Write, autoreview, editor, reviewer
3,129

edits