BFV Ciphertext multiplication

Hello,

I am reading Revisiting Homomorphic Encryption Schemes for Finite Fields
Revisiting Homomorphic Encryption for finite field.

Algorithm 2, New BFV Multiplication Algorithm, there is modulus error '\epsilon_{round}".
Means first ct_{2} is mod switch by P then it is multiplied to ct_{1}.

Can you show me the code where it shows mod switch of second ciphertext and “\epsilon_{round}” error in code

Thanks in advance.

Looks like you are referring to this function.
It might be helpful to you to build the codebase in Debug model and step through the code until you reach the functionality you need. Any tutorial on debugging C++ code should show how to do that.

The main code is here

Thanks for your reply.

Theoretically we pick “P” is slightly smaller than Q.
What are the default parameter value of “P” and “Q”.

Thanks in advance.

By default, both P and Q are products of 60-bit moduli. The value of Q is chosen based on the correctness constraint (depends on the multiplicative depth and other parameters).