Dear developers
Might I seek guidance on how to implement the following security parameters inside OpenFHE and make it able to pass the 128-bit security checking?
I’m using this example to test the bootstrapping openfhe-development/src/pke/examples/advanced-ckks-bootstrapping.cpp at main · openfheorg/openfhe-development · GitHub
I change following configurations
parameters.SetRingDim(1 << 16);
#else
// All modes are supported for 64-bit CKKS bootstrapping.
ScalingTechnique rescaleTech = FLEXIBLEAUTO;
usint dcrtBits = 40;
usint firstMod = 55;
#endif
cryptoContext->EvalBootstrapSetup(levelBudget, bsgsDim, numSlots, 16);
To make sure the log2(Degree) is <= correct_factor, which is 16.
But value of decrypted results are super far off than the original input value. (The same setup in lattigo would give better performance).
root@f8525abf3eae:/work/build# ./bin/examples/pke/advanced-ckks-bootstrapping
CKKS scheme is using ring dimension 65536
Input: (0.28982194, 0.36697159, 0.50791944, 0.086401449, 0.66832224, 0.621857, 0.94061381, 0.60058416, ... ); Estimated precision: 40 bits
Initial number of levels remaining: 1
Number of levels remaining after bootstrapping: 11
terminate called after throwing an instance of 'lbcrypto::OpenFHEException'
what(): /work/src/pke/lib/encoding/ckkspackedencoding.cpp:l.453:Decode(): The decryption failed because the approximation error is too high. Check the parameters.
Aborted (core dumped)
Might I seek guidance on how to correctly set the parameters correctly to match lattigo’s setup in orion?
Thank you!
Best
Jianming