Hello.
I have been watching webinars Homomorphic Encryption for OpenFHE Users – OpenFHE.org and reading forum posts such as Ressources for Batching, but I am wondering if my understanding is correct.
For coef encoding, e.g. MakeCoefPackedPlaintext, the elements of the vector are directly coefficients of a polynoimal in the plaintext ring R_t for plaintext modulus t. Addition can be done without issue since each coefficient can be handled separetly.
Meanwhile, for CRT encoding, e.g. MakePackedPlaintext, the elements of the vector are instead encoded as elements in different polynomial rings R_{t_1}, R_{t_2}, \dots for which the product is isomorphic to the ring R_t. This allows multiplication to be performed, but requires that t satisfy t = 1 (mod 2n) for ring dimension / vector length n.
Is this understanding correct? Also, if I only require addition should I always use coef encoding or are there situations where CRT encoding is still better?