Efficient GSW-Style Fully Homomorphic Encryption over the Integers

<jats:p>We propose a GSW-style fully homomorphic encryption scheme over the integers (FHE-OI) that is more efficient than the prior work by Benarroch et al. (PKC 2017). To reduce the expansion of ciphertexts, our scheme consists of two types of ciphertexts: integers and vectors. Moreover, the computational efficiency in the homomorphic evaluation can be improved by hybrid homomorphic operations between integers and vectors. In particular, when performing vector-integer multiplications, the evaluation has the computational complexity of <jats:inline-formula> <math xmlns="http://www.w3. org/1998/Math/MathML" id="M1"> <mi mathvariant="normal">Ο</mi> <mfenced open="(" close=")" separators="|"> <mrow> <mi>γ</mi> <mtext> </mtext> <mi mathvariant="normal">log</mi> <mtext> </mtext> <mi>γ</mi> </mrow> </mfenced> </math> </jats:inline-formula> and thus outperforms all prior FHE-OI schemes. To slow down the noise growth in homomorphic multiplications, we introduce a new noise management method called sequentialization; therefore, the noise in the resulting ciphertext increases by a factor of <jats:inline-formula> <math xmlns="http://www.w3. org/1998/Math/MathML" id="M2"> <mi>l</mi> <mo>⋅</mo> <mtext>poly</mtext> <mfenced open="(" close=")" separators="|"> <mrow> <mi>λ</mi> </mrow> </mfenced> </math> </jats:inline-formula> rather than <jats:inline-formula> <math xmlns="http://www.w3. org/1998/Math/MathML" id="M3"> <mtext>poly</mtext> <msup> <mrow> <mfenced open="(" close=")" separators="|"> <mrow> <mi>λ</mi> </mrow> </mfenced> </mrow> <mrow> <mi>l</mi> </mrow> </msup> </math> </jats:inline-formula> in general multiplications, where <jats:inline-formula> <math xmlns="http://www.w3. org/1998/Math/MathML" id="M4"> <mi>l</mi> </math> </jats:inline-formula> is the number of multiplications. As a result, the circuit with larger multiplicative depth can be evaluated under the same parameter settings. Finally, to further reduce the size of ciphertexts, we apply ciphertext truncation and obtain the integer ciphertext of size <jats:inline-formula> <math xmlns="http://www.w3. org/1998/Math/MathML" id="M5"> <mi mathvariant="normal">Ο</mi> <mfenced open="(" close=")" separators="|"> <mrow> <mi>λ</mi> <mtext> </mtext> <mi mathvariant="normal">log</mi> <mtext> </mtext> <mi>λ</mi> </mrow> </mfenced> </math> </jats:inline-formula>, thus additionally reducing the size of the vector ciphertext in Benarroch’s scheme from <jats:inline-formula> <math xmlns="http://www.w3. org/1998/Math/MathML" id="M6"> <mover accent="true"> <mtext>Ο</mtext> <mo>˜</mo> </mover> <mfenced open="(" close=")" separators="|"> <mrow> <msup> <mrow> <mi>λ</mi> </mrow> <mrow> <mn>4</mn> </mrow> </msup> </mrow> </mfenced> </math> </jats:inline-formula> to <jats:inline-formula> <math xmlns="http://www.w3. org/1998/Math/MathML" id="M7"> <mtext>Ο</mtext> <mfenced open="(" close=")" separators="|"> <mrow> <msup> <mrow> <mi>λ</mi> </mrow> <mrow> <mn>2</mn> </mrow> </msup> <msup> <mrow> <mi mathvariant="normal">log</mi> </mrow> <mrow> <mn>2</mn> </mrow> </msup> <mtext> </mtext> <mi>λ</mi> </mrow> </mfenced> </math> </jats:inline-formula>. </jats:p>