D-4.6 ModDrop

BGV’s ModDrop works similarly to that of CKKS’s ModDrop (Summary D-3.7 in §D-3.7). Remember that CKKS’s ciphertext decryption relation is as follows:

M + ΔE = A ⋅S + B mod ql

M + ΔE = A ⋅S + B −K ⋅ql ▹ where K ⋅ql represents a modulo reduction by ql

BGV’s ModDrop operation decreases its modulus from ql →ql−1 is performed by updating the ciphertext (A,B) to a new one: (A′ = A mod ql−1, B′ = B mod ql−1). After the ModDrop, the ciphertext’s modulus decreases from ql →ql−1, yet its decryption relation still holds the same as follows:

A′⋅S + B′−K ⋅ql

= (A mod ql−1) ⋅S + (B mod ql−1) −K ⋅ql

= (A −KA ⋅ql−1) ⋅S + (B −KB ⋅ql−1) −K ⋅ql

= A ⋅S + B −(KA ⋅S + KB + K q ql−1) ⋅ql−1 ▹ where q ql−1 = wl (i.e., the l-th prime element of qL)

= A ⋅S + B −K′⋅ql−1 ▹ where K′ = KA ⋅S + KB + K q ql−1, q ql−1 = wl

= A ⋅S + B mod ql−1

= M + ΔE ▹ since M + ΔE < q0 < ql−1

As shown above, (A′,B′) mod ql−1 decrypts to the same M + ΔE, a plaintext with a scaled error. However, the noise budget (i.e., allowed threshold of the noise) decreases because the ciphertext modulus-to-noise ratio decreases.

BGV’s ModDrop is summarized as follows:

⟨Summary D-4.6⟩ BGV’s ModDrop

Given a BGV ciphertext with the l-th multiplicative level 𝖱𝖫𝖶𝖤S,σ(M + ΔE) = (A,B) mod ql, a ModDrop operation is as follows:

(A′,B′) mod ql−1 = (A mod ql−1,B mod ql−1)

After this, the ciphertext’s multiplicative level decreases by 1, the noise’s scaling factor Δ and the plaintext are unaffected, and the noise budget (i.e., allowed noise threshold) decreases.