Write, autoreview, editor, reviewer
3,129
edits
Line 49: | Line 49: | ||
*Input: <math>k, L, L_c</math>, classical message <math>m</math>, ( and Quantum Input <math>|\psi\rangle</math> in case of quantum inputs) | *Input: <math>k, L, L_c</math>, classical message <math>m</math>, ( and Quantum Input <math>|\psi\rangle</math> in case of quantum inputs) | ||
*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> (and Quantum One time Padded Output State <math>X^aZ^b|\psi\rangle</math> in case of quantum output) | ||
**''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>, | ||
# Client generates homomorphic key set, <math>(pk_i,evk_i,sk_i, t_{sk_i}) = </math>HE.Keygen(<math>1^{\lambda}, 1^{L_c}</math>).</br>The public key <math>pk</math> is <math>pk_1</math> and the secret key <math>sk</math> is <math>sk_{L+1}</math>. </br>The evaluation key <math>evk</math> consists of <math>(evk_1,\ldots,evk_{L+1})</math> as well as <math>(pk_{i+1},</math>HE.Enc<math>_{pk_{i+1}}(sk_{i})</math>, HE.Enc<math>_{pk_{i+1}}(t_{sk_i})</math>) for <math>1\leq i\leq L</math>. | # Client generates homomorphic key set, <math>(pk_i,evk_i,sk_i, t_{sk_i}) = </math>HE.Keygen(<math>1^{\lambda}, 1^{L_c}</math>).</br>The public key <math>pk</math> is <math>pk_1</math> and the secret key <math>sk</math> is <math>sk_{L+1}</math>. </br>The evaluation key <math>evk</math> consists of <math>(evk_1,\ldots,evk_{L+1})</math> as well as <math>(pk_{i+1},</math>HE.Enc<math>_{pk_{i+1}}(sk_{i})</math>, HE.Enc<math>_{pk_{i+1}}(t_{sk_i})</math>) for <math>1\leq i\leq L</math>. | ||
**''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 then encrypts this pad key and sends it to the Server with the evaluation keys.</br>HE.Enc<math>_{pk_1}(a,b))</math>, | # She then encrypts this pad key and sends it to the Server with the evaluation keys.</br>HE.Enc<math>_{pk_1}(a,b))</math>, |