Skip to content

Computing coefficient modulus BGV scheme. #707

Description

@tarakaramg

I am trying to compute the ciphertext coefficient modulus (q) of the BGV scheme. But, I am a bit confused about how this is represented in Seal.

This is related to coeff_modulus (parms().coeff_modulus()).
However, it is not a single integer but a list of integers. I am wondering whether

  1. Is the ciphertext coefficient modulus (q) the product of all the elements of context_data.parms().coeff_modulus()?
  2. How is this number related to total_coeff_modulus?
  3. It seems to me that total_coeff_modulus = product of elements of parms().coeff_modulus(), but when I look at the values both are different. For example in the context below total_coeff_modulus is a 20-digit integer but total_coeff_modulus_bit_count is 218 bits. Why are they different?

Scheme: BFV
|
| Encryption parameters :
| scheme: BFV
| poly_modulus_degree: 8192
| coeff_modulus size: 218 (43 + 43 + 44 + 44 + 44) bits
| plain_modulus: 1024
| total_coefficient_modulus: 10537575945477046273

Thank you.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions