BFV’s ciphertext-to-ciphertext addition uses RLWE’s ciphertext-to-ciphertext addition scheme with the sign of the term flipped in the encryption and decryption formula. Specifically, this is equivalent to the alternative GLWE version’s (§B-4.4) ciphertext-to-ciphertext addition scheme with .
Summary D-2.4 BFV Ciphertext-to-Ciphertext Addition
In the last part of Summary D-2.3 (in §D-2.3), we explained the noise bound conditions for BFV’s correct decryption. In this subsection, we will explain how this condition holds in more detail by walking bacthrough BFV’s ciphertext-to-ciphertext addition.
Let’s denote the homomorphically added ciphertext as follows:
Applying the first step of decryption to it yields the following intermediate result:
The second step of decryption is to divide each coefficient of the above intermediate polynomial by , round it, and reduce it modulo as follows:
Correct decryption requires the above result to match the value , where is the modulo -reduced final polynomial. Let’s define . Given , is a decimal value between . Now, we can re-write the above decryption term as follows:
applying
where represents the -multiple overflows generated by the modulo addition of
since , and
applying
applying the special assumption to all coefficients (see §B-2.3.1)
since , and
applying the special assumption to all coefficients
The above final expression implies that correct decryption (i.e., ) is preserved if the special assumption holds (for all coefficients of the polynomial). At a high level, the greater the ciphertext modulus becomes compared to the plaintext modulus , the greater the scaling factor becomes, which can sustain a greater noise budget () and greater wrapping around -multiple overflows of the plaintext ().
This noise bound principle not only applies to homomorphic addition but also to homomorphic multiplication and rotation, which will be explained in later subsections. The term can be generalized as the cumulative noise across all homomorphic operations (e.g., additions, multiplications, rotations), and the term can be generalized as the amount of -multiple overflows of each coefficient of the plaintext polynomial computed across homomorphic operations.