BFV encrypts and decrypts ciphertexts based on the RLWE cryptosystem (§B-3) with the sign of each term flipped in the encryption and decryption formula. Specifically, this is equivalent to the alternative version of the GLWE cryptosystem (§B-4.4) with . Thus, BFV’s encryption and decryption formulas are as follows:
Summary D-2.3 BFV Encryption and Decryption
Initial Setup:
, where plaintext modulus is either a prime () or a power of prime (), and ciphertext modulus . As for the coefficients of polynomial , they are ternary (i.e., ).
Encryption Input: , ,
Decryption Input:
(The noise gets eliminated by the rounding process)
Conditions for Correct Decryption:
As explained in Summary B-2.3.1 (in §B-2.3.1), the noise bound is , where is each coefficient of the polynomial that accounts for the -multiple overflows of the coefficients of the plaintext polynomial updated across homomorphic operations.
In this section, we will often write as for simplicity, because (i.e., they decrypt to the same message). Even in the case that we write instead of , you should assume this as an encryption of (i.e., the noise is included inside the scaled message).
We will explain the conditions for BFV’s correct decryption in more detail in §D-2.4.1.