Classical Fully Homomorphic Encryption for Quantum Circuits: Difference between revisions

m
Line 48: Line 48:
   
   
*Input: <math>k, L, L_c</math>, classical message <math>m</math>
*Input: <math>k, L, L_c</math>, classical message <math>m</math>
*Output: Homomorphic key sets <math>(pk_i,evk_i,sk_i, t_{sk_i})</math>, encrypted pad key <math>\tilde{a}, \tilde{b}</math> (and Quantum One time Padded Output State <math>X^aZ^b|\psi\rangle</math> in case of quantum output)
*Output: Homomorphic key sets <math>(pk_i,evk_i,sk_i, t_{sk_i})</math>, encrypted pad key <math>\tilde{a}, \tilde{b}</math>, One time Padded message (<math> a\oplus m</math> )
**'''Key Generation (FHE.KeyGen(<math>1^{\lambda}, 1^L</math>))'''
**'''Key Generation (FHE.KeyGen(<math>1^{\lambda}, 1^L</math>))'''
# For <math>1\leq i\leq L + 1</math>,  
# For <math>1\leq i\leq L + 1</math>,  
Line 54: Line 54:
**'''Encryption (FHE.Enc<math>_{pk}(m)</math>))'''
**'''Encryption (FHE.Enc<math>_{pk}(m)</math>))'''
#Client chooses pad key for each message bit <math>a,b\in\{0,1\}^{\lambda}</math>.
#Client chooses pad key for each message bit <math>a,b\in\{0,1\}^{\lambda}</math>.
#She encrypts the message m <math> a\oplus m</math> (b is used for quantum input <math>X^aZ^b|\psi\rangle</math> where |\psi\rangle</math> is quantum input).
#She one time pads the message m as <math> a\oplus m</math> (b is used for quantum input <math>X^aZ^b|\psi\rangle</math> where |\psi\rangle</math> is quantum input).
#She then encrypts the pad key. HE.Enc<math>_{pk_1}(a,b))</math>
#She then encrypts the pad key. HE.Enc<math>_{pk_1}(a,b))</math>
# She sends the encrypted message and pad key to the Server with the evaluation keys.
# She sends the encrypted message and pad key to the Server with the evaluation keys.
Write, autoreview, editor, reviewer
3,129

edits