Write, autoreview, editor, reviewer
3,129
edits
Line 82: | Line 82: | ||
'''Encryption(QFHE.Enc())''' | '''Encryption(QFHE.Enc())''' | ||
*Input: Quantum Input state density matrix (<math>\rho</math>) (say composed of n single qubit states, <math>\sigma</math>) | *Input: Quantum Input state density matrix (<math>\rho</math>) (say composed of n single qubit states, <math>\sigma</math>) | ||
*Output: Encrypted pad keys:<math>\{\tilde{a}^{[0]}...\tilde{a}^{[n]}</math>, <math>\tilde{b}^{[i]}...\tilde{b}^{[n]}\}</math>; QOTP state: <math>X^{a^{[1]}}Z^{b^{[1]}}\otimes.....\otimes X^{a^{[n]}}Z^{b^{[n]}}\rho Z^{b^{[1]}}X^{a^{[1]}}\otimes.....\otimes X^{a^{[n]}}Z^{b^{[n]}}</math> | *Output: Encrypted pad keys:<math>\{\tilde{a}^{[0]}...\tilde{a}^{[n]}</math>,<math>\tilde{b}^{[i]}...\tilde{b}^{[n]}\}</math>; QOTP state: <math>X^{a^{[1]}}Z^{b^{[1]}}\otimes.....\otimes X^{a^{[n]}}Z^{b^{[n]}}\rho Z^{b^{[1]}}X^{a^{[1]}}\otimes.....\otimes X^{a^{[n]}}Z^{b^{[n]}}</math> | ||
# For i=1 to n | # For i=1 to n | ||
## Client chooses pad keys a,b | ## Client chooses pad keys a,b <math>\epsilon_R\{0,1\}</math> | ||
## She quantum one time pads the single qubit by applying | ## She quantum one time pads the single qubit by applying $X^aZ^b$ on the single qubit state. <math>X^aZ^b\sigma Z^bX^a\leftarrow\sigma</math> | ||
## She encrypts the pad keys using one bit for each of a and b from the public key string | ## She encrypts the pad keys using one bit for each of a and b from the public key string <math>pk_0</math> using HE.Enc. (<math>\tilde{a}^{[i]},\tilde{b}^{[i]}</math>)=(HE.Enc<math>_{pk_0^{[i]}}(a^{[i]}</math>),HE.Enc<math>_{pk_0^{[i]}}(b^{[i]}))\leftarrow</math> (a,b) | ||
## She apprehends encrypted pad keys to the one time padded quantum state to obtain CQ state, | ## She apprehends encrypted pad keys to the one time padded quantum state to obtain CQ state, | ||
# Client sends encryptions ( | <math>\sum_{a,b\epsilon\{0,1\}}\frac{1}{4}\rho(HE.Enc_{pk_0^{[i]}}(a^{[i]}),HE.Enc_{pk_0^{[i]}}(b^{[i]}))\otimes X^aZ^b\sigma Z^bX^a</math> | ||
#Client sends encryptions (<math>\tilde{a}^{[i]},\tilde{b}^{[i]}</math>) and the quantum one time padded (QOTP) state<math> X^{a^{[1]}}Z^{b^{[1]}}\otimes.....\otimes X^{a^{[n]}}Z^{b^{[n]}}\rho Z^{b^{[1]}}X^{a^{[1]}}\otimes.....\otimes X^{a^{[n]}}Z^{b^{[n]}} \forall i</math>, to the Server with the evaluation keys and public keys. | |||
\ '''Gadget Construction (QFHE.GenGadgetpki+1(ski))''' | |||
# Generate 4m EPR pairs ( | # Generate 4m EPR pairs ( | ||
# Choose 2m pairs using sk | # Choose 2m pairs using sk |