Classical Fully Homomorphic Encryption for Quantum Circuits: Difference between revisions

m
Line 68: Line 68:
### if <math>c_i=</math>P then <div class="floatright">//Pauli Gate</div></br><math>(\tilde {a}^{[l]},\tilde{b}^{[l]})\rightarrow (\tilde{a}^{[l]},\tilde{a}^{[l]}\oplus\tilde{b}^{[l]})</math>
### if <math>c_i=</math>P then <div class="floatright">//Pauli Gate</div></br><math>(\tilde {a}^{[l]},\tilde{b}^{[l]})\rightarrow (\tilde{a}^{[l]},\tilde{a}^{[l]}\oplus\tilde{b}^{[l]})</math>
### if <math>c_i=</math>CNOT with m as target bit and n as control bit then <div class="floatright">//CNOT</div></br>(<math>\tilde {a}^{[l]},\tilde{b}^{[l]};\tilde {a}^{[n]},\tilde{b}^{[n]})\rightarrow (\tilde {a}^{[l]},\tilde{b}^{[l]}\oplus \tilde {b}^{[n]};\tilde{a}^{[l]}\oplus \tilde {a}^{[n]},\tilde{b}^{[n]})</math>
### if <math>c_i=</math>CNOT with m as target bit and n as control bit then <div class="floatright">//CNOT</div></br>(<math>\tilde {a}^{[l]},\tilde{b}^{[l]};\tilde {a}^{[n]},\tilde{b}^{[n]})\rightarrow (\tilde {a}^{[l]},\tilde{b}^{[l]}\oplus \tilde {b}^{[n]};\tilde{a}^{[l]}\oplus \tilde {a}^{[n]},\tilde{b}^{[n]})</math>
## If ci = T gate then //Toffoli Gate on lth,nth,oth key bits
## If <math>c_i=T</math> gate then <div class="floatright">//Toffoli Gate on $l_{th}, n_{th}, o_{th}$ key bits</div>
### The Toffoli gate is applied to the Pauli one time padded state and the state is reduced to combination of Clifford C and Pauli P corrections as follows:<br/>TXa[l]Zb[l]Xa[n]Zb[n]Xa[o]Zb[o] |ψi<br/>=TXa[l]Zb[l]Xa[n]Zb[n]Xa[o]Zb[o]T T |ψi<br/>= CNOTl,oa[n]CNOTn,oa[l]CZl,nb[o]Xa[l]Zb[l]T |ψi<br/>= CNOTl,oa[n]CNOTn,oa[l]HnCNOTl,nb[o]HnXa[l]Zb[l]T |ψi<br/>= CabPabT |ψi, where C{CNOT,H} and<br/>
###The Toffoli gate is applied to the Pauli one time padded state and the state is reduced to combination of Clifford C and Pauli P corrections as follows:</br><math>TX^{a^{[l]}}Z^{b^{[l]}}X^{a^{[n]}}Z^{b^{[n]}}X^{a^{[o]}}Z^{b^{[o]}}|\psi\rangle</math></br><math>=TX^{a^{[l]}}Z^{b^{[l]}}X^{a^{[n]}}Z^{b^{[n]}}X^{a^{[o]}}Z^{b^{[o]}}T\dagger T|\psi\rangle</math></br><math>=CNOT_{l,o}^{a^{[n]}}CNOT_{n,o}^{a^{[l]}}CZ_{l,n}^{b^{[o]}}X^{a^{[l]}}Z^{b^{[l]}}T|\psi\rangle</math></br><math>=CNOT_{l,o}^{a^{[n]}}CNOT_{n,o}^{a^{[l]}}H_nCNOT_{l,n}^{b^{[o]}}H_{n}X^{a^{[l]}}Z^{b^{[l]}}T|\psi\rangle</math></br><math>=C_{ab}P_{ab}T|\psi\rangle</math>, where <math>C\epsilon \{\textnormal{CNOT,H}\}</math> and <math>P\epsilon\{X,Z\}</math>
### The Pauli key encryptions are homomorphically updated according to P_ab
###The Pauli key encryptions are homomorphically updated according to <math>P_{ab}</math>.
### Three encrypted CNOTs are used to correct Cab as follows.
### Three encrypted CNOTs are used to correct <math>C^{ab}</math> as follows.
#### The server applies encrypted CNOT operation to the two qubit state ZzXx |ψi using the ciphertext ˆc =HE.Convert(c).
#### The server applies encrypted CNOT operation to the two qubit state ZzXx |ψi using the ciphertext ˆc =HE.Convert(c).
#### Server generates following superposition sampled over random distribution D for the TCF function pairs (f0 =AltHE.Encpk(),f1) based on the condition f0 ⊕H f1 = cˆ{euqation missing}
#### Server generates following superposition sampled over random distribution D for the TCF function pairs (f0 =AltHE.Encpk(),f1) based on the condition f0 ⊕H f1 = cˆ{euqation missing}
Write, autoreview, editor, reviewer
3,129

edits