Hello,
I noticed that the NOISE_FLOODING_MULTIPARTY option seems to be unsupported for threshold CKKS in the OpenFHE implementation.
Could you please explain the reason for this design choice or limitation?
Also, would it be reasonable to simply use the default setting for threshold CKKS in this case?
Thank you in advance for your clarification.
For threshold CKKS, a different procedure should be used than for BGV and BFV. The high-level idea is that for n-party threshold decryption, we can use the {IND-CPA}^D mode with the noise estimate multiplied by n (in the worst case). More details are provided below.
- Run the computation in the NOISE ESTIMATION mode using openfhe-development/src/pke/examples/ckks-noise-flooding.cpp at main · openfheorg/openfhe-development · GitHub to get a tight estimate of the approximation noise
- Then Execute a multiparty variant of the EVALUATION code in the same file (use 128-bit native size for this run). Note that you can use 128-bit native size for both (it will be slower, but will get the job done). When you execute, you should use set the DecryptionNoiseMode to
NOISE_FLOODING_DECRYPT and the ExecutionMode to EXEC_EVALUATION. The MultipartyMode should not be used in this case.
See openfhe-development/src/pke/examples at main · openfheorg/openfhe-development · GitHub for more details on the configuration parameters.
1 Like