Does CKKS support Key Dependent Messages?

My work is a 2-party case with a client and a server. I would like to use the pk to encrypt the sk with the standard encryption circuit on the client side, but I am not sure if CKKS is proven circular secure, or if there is some substitue modified encryption circuit to achieve such goal? Any suggestion would be appreciated.

Thanks for your help!

Circular security is one key assumption in FHE bootstrapping. The bootstrapping key is actually an encryption of the secret key. Moreover, the linearization key and rotation/automorphism keys are encryptions of some functions of the secret key (square function in the former, and some permutation functions in the latter). You should be fine in assuming circular privacy in CKKS. As far as I know, there are no practical attacks exploiting circular security in any of the FHE schemes implemented in OpenFHE.

On a different note, are you trying to implement CKKS bootstrapping? It is already implemented and included in OpenFHE v1.0.

Thanks for your time!
I have two more questions.

  1. The bootstrapping key you’ve mentioned, is it a ciphertext which directly encrypted the secret key? In my understanding, for CKKS evaluation key, they’ve always timed a big integer P (satisfies some conditions) before the function of the secret key, e.g. : evk = (-a_0\cdot s + e_0 + p\cdot s^2, a_0) (\text{mod } p\cdot q_l).
  2. In which step(ModRaise, CoeffToSlots, Eval, SlotsToCoeff) does CKKS bootstrapping use the above boot key directly encrypting the secret key? In my opinion, the boot key for CKKS can be reduced to a set of rotation key and linearization key?