Write, autoreview, editor, reviewer
3,129
edits
Line 63: | Line 63: | ||
*Output: Updated encryption of pad key <math>\tilde{a},\tilde{b}</math> (and Quantum One time Padded Output State <math>X^{\tilde {a}}Z^{\tilde{b}}C|\psi\rangle</math> in case of quantum output, where C is the quantum circuit) | *Output: Updated encryption of pad key <math>\tilde{a},\tilde{b}</math> (and Quantum One time Padded Output State <math>X^{\tilde {a}}Z^{\tilde{b}}C|\psi\rangle</math> in case of quantum output, where C is the quantum circuit) | ||
**'''Circuit Evaluation (FHE.Eval())''' | **'''Circuit Evaluation (FHE.Eval())''' | ||
#Server creates a quantum superposition state for the encrypted classical message.</br> <math>X^aZ^b|\psi\rangle</math> represents quantum superposition state of <math>l</math>,</br> <math>|\psi\rangle</math> represents the quantum state for classical message m,</br> <math>X^aZ^b</math> represents quantum one time pad. </br | #Server creates a quantum superposition state for the encrypted classical message.</br> <math>X^aZ^b|\psi\rangle</math> represents quantum superposition state of <math>l</math>,</br> <math>|\psi\rangle</math> represents the quantum state for classical message m,</br> <math>X^aZ^b</math> represents quantum one time pad. </br> | ||
# For all i, <math>c_i</math> | # For all i, Server applies gate <math>c_i</math> on qubit l and the <math>l_{th}</math> bits of pad key <math>(\tilde {a}^{[l]},\tilde{b}^{[l]})</math> are updated to <math>(\tilde {a}'^{[l]},\tilde{b}'^{[l]})</math> as follows. | ||
## If <math>c_i=\{P,H,CNOT\}</math>, a Clifford gate then <div class="floatright">//(<math>c_iX^{a^{[l]}}Z^{b^{[l]}}|\psi\rangle=X^{a'^{[l]}}Z^{b'^{[l]}}c_i|\psi\rangle</math>)</div> | ## If <math>c_i=\{P,H,CNOT\}</math>, a Clifford gate then <div class="floatright">//(<math>c_iX^{a^{[l]}}Z^{b^{[l]}}|\psi\rangle=X^{a'^{[l]}}Z^{b'^{[l]}}c_i|\psi\rangle</math>)</div> | ||
### if <math>c_i=</math>H then<div class="floatright">//Hadamard Gate</div></br><math>(\tilde {a}^{[l]},\tilde{b}^{[l]})\rightarrow (\tilde{b}^{[l]},\tilde{a}^{[l]})</math><div class="floatright">//Hadamard tranforms X gate into Z and Z into X</div> | ### if <math>c_i=</math>H then<div class="floatright">//Hadamard Gate</div></br><math>(\tilde {a}^{[l]},\tilde{b}^{[l]})\rightarrow (\tilde{b}^{[l]},\tilde{a}^{[l]})</math><div class="floatright">//Hadamard tranforms X gate into Z and Z into X</div> |