I am reading the scheme switching readme and I am trying to understand what happens when converting a CKKS ciphertext to a set of FHEW ciphertexts. In particular, the guide says that the FHEW ciphertexts will be encrypted using a symmetric key, my question is: who owns this key?
In a classical client-server setting, the client has the secret key and the server runs homomorphic operation without having that key, what happens when performing scheme switch?
Thank you very much
The client generates and owns the symmetric FHEW key. The server will only be given the binfhecontext, the bootstrapping key and a CKKS encryption of the FHEW key, which don’t reveal the FHEW secret key.
The FHEW secret key and associated binfhecontext are generated in EvalSchemeSwitchingSetup and EvalSchemeSwitchingKeyGen, which should be run at the client.
In the stable version, these functions will reflect better the separation of pre-processing at the client and the pre-processing at the server.