0
$\begingroup$

My question is rather practical and specific. I am trying to setup an efficient CKKS scheme in Palisade. To this end, the automatic choice for secure parameters has to be turned off and I rely on the LWE estimator which estimates the security of an LWE instance. Now, the estimator provides a security estimation for an LWE instance $\mathrm{LWE}(n,\alpha,q)$, where $n$ is the dimension/ring dimension, $\alpha$ depends on error distribution, and $q$ is the ciphertext modulus. However, in Palisade there seems to be no possibility to setup the error in CKKS (this is easily possible in BGV). This way, $\alpha$ remains unknown and the security can not be estimated.

Therefore, how is the error chosen in Palisade for CKKS and how can this value be accessed?

$\endgroup$
2
  • $\begingroup$ Even if you cannot change the value of $\alpha$, I don't see how it can remain unknown, since you can always check the code and see which value is used... $\endgroup$ Commented Nov 20, 2020 at 11:44
  • $\begingroup$ Yep. That's why the question is how I can access the value. Actually, I have no idea how to do that. I admit its a pretty specific question. $\endgroup$
    – opag
    Commented Nov 20, 2020 at 12:14

1 Answer 1

1
$\begingroup$

In PALISADE, CKKS is configured to use $\alpha = 8/q$ (using the definition of $\alpha$ in the LWE estimator). This corresponds to the standard deviation of $8/\sqrt{2\pi} \approx 3.19$. This value was chosen based on the HE security standard at https://homomorphicencryption.org/standard/

You can manually change this value from 3.19 to something else by modifying $\textbf{genCryptoContextCKKS}$ in https://gitlab.com/palisade/palisade-release/-/blob/master/src/pke/lib/cryptocontextfactory.cpp

$\endgroup$
1
  • $\begingroup$ Perfect! Thanks alot. $\endgroup$
    – opag
    Commented Jan 5, 2021 at 15:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.