Status of the CKKS <-> DM/CGGI scheme switch


I have started experimenting with OpenFHE and find the fact that it implements all of the main FHE schemes really useful for comparing the speeds and capabilities of different ones!

I was thinking of applications where it would be useful to be able to switch the scheme during a calculation as described in Section 2.7 of . I am primarily interested in scheme switching from CKKS to DM/CGGI. (The idea would be to use CKKS to evaluate polynomial functions, making use of ciphertext packing for efficiency, then switch to DM/CGGI to evaluate non-polynomial functions via programmable bootstrapping.)

If I understand correctly, scheme switching was not implemented in the publicly available version of OpenFHE in early September. Looking at the commit history on GitHub, it does not seem to have been implemented since then (although I might have missed it). Is there a(n even preliminary or experimental) version of scheme switching in the publicly available version of OpenFHE? If not, do you have plans to add it in the future?


Hi @Florent,

The scheme switching functionality is not yet publicly available in OpenFHE. A feature branch will be added later this fall (it is currently being ported over to OpenFHE). I will update this thread as soon as it is publicly available. We plan to officially release the scheme switching functionality in v1.1 (ETA Q1 2023).

1 Like

Hi @ypolyakov ,

Thank you for your reply and for the ETA! That sounds great!
Looking forward to trying scheme switching when it is available!