I’m trying to understand and get deep in OpenFHE implementation of the CKKS scheme, starting with the PlainText. For now I’m a bit overwhelm.
Some questions:
1- I see that there is a encoded vector, an encoded native vector and a DCRT encoded vector. Why we have three? And what are they? The DCRT is clear, the native is before the RNS? and the other?
2- Is there somewhere that explains in detail how this part of the implementation of encoding in general is done?
First integer CRT (RNS) and then polynomial CRT (NTT). In practice, BGV, BFV, and CKKS already work in the RNS representation (integer CRT and multiprecision arithmetic are used only during precomputations).