Prepare-and-Send Quantum Fully Homomorphic Encryption: Difference between revisions

Line 114: Line 114:
# For all i, <math>c_i</math> gate is applied on qubit m and the <math>m_{th}</math> bits of pad key <math>(\tilde {a}^{[m]},\tilde{b}^{[m]})</math> are updated to <math>(\tilde {a}'^{[m]},\tilde{b}'^{[m]})</math> as follows.  
# For all i, <math>c_i</math> gate is applied on qubit m and the <math>m_{th}</math> bits of pad key <math>(\tilde {a}^{[m]},\tilde{b}^{[m]})</math> are updated to <math>(\tilde {a}'^{[m]},\tilde{b}'^{[m]})</math> as follows.  
# If <math>c_i=\{P,H,CNOT\}</math>, a Clifford gate then: <math>c_iX^{a^{[m]}}Z^{b^{[m]}}\psi=X^{a'^{[m]}}Z^{b'^{[m]}}c_i\psi</math>)
# If <math>c_i=\{P,H,CNOT\}</math>, a Clifford gate then: <math>c_iX^{a^{[m]}}Z^{b^{[m]}}\psi=X^{a'^{[m]}}Z^{b'^{[m]}}c_i\psi</math>)
## if <math>c_i=</math>H then //Hadamard Gate: <math>(\tilde {a}^{[m]},\tilde{b}^{[m]})\rightarrow (\tilde{b}^{[m]},\tilde{a}^{[m]})</math> (Hadamard tranforms X gate into Z and Z into X)
## if <math>c_i=</math>H then //Hadamard Gate:  
\item if $c_i=$P then //Pauli Gate
<math>(\tilde {a}^{[m]},\tilde{b}^{[m]})\rightarrow (\tilde{b}^{[m]},\tilde{a}^{[m]})</math> (Hadamard tranforms X gate into Z and Z into X)
\item[] $(\tilde {a}^{[m]},\tilde{b}^{[m]})\rightarrow (\tilde{a}^{[m]},\tilde{a}^{[m]}\oplus\tilde{b}^{[m]})$
## if <math>c_i=</math>P then: //Pauli Gate
\item if $c_i=$CNOT with m as target bit and n as control bit then (CNOT)
<math>(\tilde {a}^{[m]},\tilde{b}^{[m]})\rightarrow (\tilde{a}^{[m]},\tilde{a}^{[m]}\oplus\tilde{b}^{[m]})</math>
  \item[] $(\tilde {a}^{[m]},\tilde{b}^{[m]};\tilde {a}^{[n]},\tilde{b}^{[n]})\rightarrow (\tilde {a}^{[m]},\tilde{b}^{[m]}\oplus \tilde {b}^{[n]};\tilde{a}^{[m]}\oplus \tilde {a}^{[n]},\tilde{b}^{[n]})$
## if <math>c_i=</math>CNOT with m as target bit and n as control bit then: (CNOT)
\end{enumerate}
  <math>(\tilde {a}^{[m]},\tilde{b}^{[m]};\tilde {a}^{[n]},\tilde{b}^{[n]})\rightarrow (\tilde {a}^{[m]},\tilde{b}^{[m]}\oplus \tilde {b}^{[n]};\tilde{a}^{[m]}\oplus \tilde {a}^{[n]},\tilde{b}^{[n]})</math>
\item If $c_i=T_j$ gate then //T Gate
# If <math>c_i=T_j</math> gate then: //T Gate
\item[] ($T_jX^{a^{[m]}}Z^{b^{[m]}}\psi=P^{a^{[m]}}X^{a^{[m]}}Z^{b^{[m]}}T_j\psi$)
<math> (T_jX^{a^{[m]}}Z^{b^{[m]}}\psi=P^{a^{[m]}}X^{a^{[m]}}Z^{b^{[m]}}T_j\psi)</math>
\begin{enumerate}
* '''Generate Measurement'''
\item \textbf{Generate Measurement}
\item[] M$\leftarrow$ QFHE.GenMeasurement($\tilde {a}^{[m]},\Gamma_{pk_{j+1}}(sk_j),evk_j)$
\item[] M$\leftarrow$ QFHE.GenMeasurement($\tilde {a}^{[m]},\Gamma_{pk_{j+1}}(sk_j),evk_j)$
\item \textbf{Gadget Correction}  
\item \textbf{Gadget Correction}  
Write, autoreview, editor, reviewer
3,129

edits