Supplementary Information: Difference between revisions

no edit summary
No edit summary
Line 44: Line 44:
===Entanglement===
===Entanglement===
===Measurement===
===Measurement===
 
===Discrete Variables and Continuous Variables===
==Security Definitions==
==Security Definitions==
==Techniques==
==Techniques==


== Quantum One Time Pad ==
===Quantum One Time Pad===
*Pauli Gates
*Pauli Gates
*Clifford Gates
*Clifford Gates
*T Gates
*T Gates
==Discrete Variables and Continuous Variables==
== Measurement Based Quantum Computation (MBQC)==
MBQC is a formalism used for quantum computation by operating only single qubit measurements on a fixed set of entangled states, also known as graph states. Graph states denote any graph where each node represents a quantum state, and the edges denote entanglement between any two vertices. The measurement on successive layers of qubits is decided by previous measurement outcomes. Outcomes of last qubit layer gives the result of concerned computation. Following, we elucidate in detail certain concepts necessary to understand the working of MBQC.
===Gate Teleportation===  
===Gate Teleportation===  
The idea comes from one-qubit teleporation. This means that one can transfer an unknown qubit |ψi without actually sending it via a quantum channel. The underlying equations explain the notion. See [[Supplementary Information#1|Figure 1]] for circuit.<br/>
The idea comes from one-qubit teleporation. This means that one can transfer an unknown qubit |ψi without actually sending it via a quantum channel. The underlying equations explain the notion. See [[Supplementary Information#1|Figure 1]] for circuit.<br/>
Line 85: Line 80:
The measurement on qubit 1 will operate Xs1HZ(θ1)|ψi⊗I on qubits 2 and 3. If qubit 2 when measured in the given basis yields outcome s2, qubit 3 results in the following state Xs2HZ(θ2)Xs1HZ(θ1)|ψi. Using the relation we shift all the Pauli corrections to one end i.e. qubit 3 becomes Xs2Zs1HZ(±θ2)HZ(θ1)|ψi{equation missing}(Zs1H = HXs1). This method of computation requires sequential measurement of states i.e. all the states should not be measured simultaneously. As outcome of qubit 1 can be used to choose sign of ±θ2. This technique is also known as adaptive measurement. With each measurement, the qubits before the one measured at present have been destroyed by measurement. It is a feed-forward mechanism, hence known as one way quantum computation.<br/>
The measurement on qubit 1 will operate Xs1HZ(θ1)|ψi⊗I on qubits 2 and 3. If qubit 2 when measured in the given basis yields outcome s2, qubit 3 results in the following state Xs2HZ(θ2)Xs1HZ(θ1)|ψi. Using the relation we shift all the Pauli corrections to one end i.e. qubit 3 becomes Xs2Zs1HZ(±θ2)HZ(θ1)|ψi{equation missing}(Zs1H = HXs1). This method of computation requires sequential measurement of states i.e. all the states should not be measured simultaneously. As outcome of qubit 1 can be used to choose sign of ±θ2. This technique is also known as adaptive measurement. With each measurement, the qubits before the one measured at present have been destroyed by measurement. It is a feed-forward mechanism, hence known as one way quantum computation.<br/>


===Cluster States===
===Measurement Based Quantum Computation (MBQC)===
MBQC is a formalism used for quantum computation by operating only single qubit measurements on a fixed set of entangled states, also known as graph states. Graph states denote any graph where each node represents a quantum state, and the edges denote entanglement between any two vertices. The measurement on successive layers of qubits is decided by previous measurement outcomes. Outcomes of last qubit layer gives the result of concerned computation. Following, we illustrate certain primitives necessary to understand the working of MBQC.
 
====Cluster States====
In case of multi-qubit quatum circuits, one needs a 2-dimensional graph state. Cluster State is a square lattice used as substrate for such computation. All the nodes are in |+i entangled by C-Z indicated by the edges. It is known to be universal i.e. it can simulate any quatum gate.<br/>
In case of multi-qubit quatum circuits, one needs a 2-dimensional graph state. Cluster State is a square lattice used as substrate for such computation. All the nodes are in |+i entangled by C-Z indicated by the edges. It is known to be universal i.e. it can simulate any quatum gate.<br/>
<div id="5">  
<div id="5">  
Line 98: Line 96:
Thus, if measurement on 1 yields m, qubit 2 would be in the state Zm |+i. Hence, such Z-basis measurements invoke an extra Zm Pauli correction on all the neigbouring sites of 1 with 1 eliminated, in the resulting graph state. Thus, to summarise, we design a measurement pattern from gate teleportation circuit of the desired computation as shown above. The cluster state is converted into the required graph state by Z-basis measurement on extraneous sites. Measuring all the qubits in the required basis and we get the required computation in the form of classical outcome register from measurement of the last layer of qubits. If it is a quantum function, the last layer of qubits is the output quantum register.<br/>
Thus, if measurement on 1 yields m, qubit 2 would be in the state Zm |+i. Hence, such Z-basis measurements invoke an extra Zm Pauli correction on all the neigbouring sites of 1 with 1 eliminated, in the resulting graph state. Thus, to summarise, we design a measurement pattern from gate teleportation circuit of the desired computation as shown above. The cluster state is converted into the required graph state by Z-basis measurement on extraneous sites. Measuring all the qubits in the required basis and we get the required computation in the form of classical outcome register from measurement of the last layer of qubits. If it is a quantum function, the last layer of qubits is the output quantum register.<br/>


=== Brickwork States===
====Brickwork States====
Although cluster states are universal for MBQC, yet we need to tailor these to the specific computation by performing some computational (Z) basis measurements. If we were to use this principle for blind quantum computing, Client would have to reveal information about the structure of the underlying graph state. Thus, for the UBQC protocol, we introduce a new family of states called the Brickwork states which are universal for X − Y plane measurements and thus do not require the initial computational basis measurements. It was later shown that the Z-basis measurements can be dropped for cluster states and hence cluster states are also universal in X-Y measurements.
Although cluster states are universal for MBQC, yet we need to tailor these to the specific computation by performing some computational (Z) basis measurements. If we were to use this principle for blind quantum computing, Client would have to reveal information about the structure of the underlying graph state. Thus, for the UBQC protocol, we introduce a new family of states called the Brickwork states which are universal for X − Y plane measurements and thus do not require the initial computational basis measurements. It was later shown that the Z-basis measurements can be dropped for cluster states and hence cluster states are also universal in X-Y measurements.
  <div id="7">  
  <div id="7">  
Line 108: Line 106:
# For each column j ≡ 7 (mod 8) and each even row i, apply the operator c-Z on qubits (i,j) and (i + 1,j) and also on qubits (i,j + 2) and (i + 1,j + 2).
# For each column j ≡ 7 (mod 8) and each even row i, apply the operator c-Z on qubits (i,j) and (i + 1,j) and also on qubits (i,j + 2) and (i + 1,j + 2).


===Flow Construction-Determinism===
====Flow Construction-Determinism====


Measurement outcomes of qubits is not certain, hence it renders MBQC a non-deterministic model. This can still be rectified by invoking Pauli corrections based on the previous outcomes, as evident from above. For example, to implement Hadamard gate on input state |ψi = a|0i + b|1i, we consider the case of a two qubit graph state C2x1.<br/>
Measurement outcomes of qubits is not certain, hence it renders MBQC a non-deterministic model. This can still be rectified by invoking Pauli corrections based on the previous outcomes, as evident from above. For example, to implement Hadamard gate on input state |ψi = a|0i + b|1i, we consider the case of a two qubit graph state C2x1.<br/>
Line 142: Line 140:
X4s3Z4s2Z1s2M3xM2xE13E234{equation missing} <br/>
X4s3Z4s2Z1s2M3xM2xE13E234{equation missing} <br/>
Hence, we obtain a measurement pattern to implement C-NOT gate with a T-shaped graph state with three qubits entangled chain {2,3,4} and 1 entangled to 3. X dependency sets for qubit 1:{s3}, 2:φ, 3:φ, 4:φ. Z dependency sets for qubit 1:{s2}, 2:φ, 3:φ, 4:{s2}. The measurements are independent of any outcome so they can all be performed in parallel. In the end, Pauli corrections are performed as such. Parity (modulo 2 sum) of all the previous outcomes in the dependency set is calculated for each qubit{equation missing} (i), for X (sXi = s1 ⊕ s2 ⊕ ...) and Z (sZi = s1 ⊕ s2 ⊕ ...), separately. Thus,  is operated on qubit i.{equation missing} <br/>
Hence, we obtain a measurement pattern to implement C-NOT gate with a T-shaped graph state with three qubits entangled chain {2,3,4} and 1 entangled to 3. X dependency sets for qubit 1:{s3}, 2:φ, 3:φ, 4:φ. Z dependency sets for qubit 1:{s2}, 2:φ, 3:φ, 4:{s2}. The measurements are independent of any outcome so they can all be performed in parallel. In the end, Pauli corrections are performed as such. Parity (modulo 2 sum) of all the previous outcomes in the dependency set is calculated for each qubit{equation missing} (i), for X (sXi = s1 ⊕ s2 ⊕ ...) and Z (sZi = s1 ⊕ s2 ⊕ ...), separately. Thus,  is operated on qubit i.{equation missing} <br/>
==Fault Tolerance==
===Quantum Capable Homomorphic Encryption===
===Quantum Error Correction===
===Quantum Error Correcting Codes (QECCs)===
===Stabilizer Codes===
===Topological Error Correction===
==Quantum Capable Homomorphic Encryption==
*'''Homomorphic Encryption'''<br/>A homomorphic encryption scheme HE is a scheme to carry out classical computation from the Server while hiding the inputs, outputs and computation. It can be divided into following four stages.
*'''Homomorphic Encryption'''<br/>A homomorphic encryption scheme HE is a scheme to carry out classical computation from the Server while hiding the inputs, outputs and computation. It can be divided into following four stages.
* ''Key Generation.'' The algorithm (pk,evk,sk) ← HE.Keygen(1λ) takes a λ, a security parameter as input and outputs a public key encryption key pk, a public evaluation key evk and a secret decryption key sk.
* ''Key Generation.'' The algorithm (pk,evk,sk) ← HE.Keygen(1λ) takes a λ, a security parameter as input and outputs a public key encryption key pk, a public evaluation key evk and a secret decryption key sk.
Line 162: Line 155:
*''natural XOR operation:''
*''natural XOR operation:''


==Gadget Construction (to correct phase errors)==
===Garden Hose Complexity Model===
==Encrypted CNOT operation==
*Gadget Construction for QFHE
===Encrypted CNOT operation===
===Fault Tolerance===
===Quantum Error Correction===
===Quantum Error Correcting Codes (QECCs)===
===Stabilizer Codes===
===Topological Error Correction===
Write, autoreview, editor, reviewer
3,125

edits