SEAL icon indicating copy to clipboard operation
SEAL copied to clipboard

Bootstrapping Issue, how to set level(depth) and know when should stop? An error will show when it couldn't stop?

Open macknight opened this issue 3 years ago • 8 comments

Hi, Is there any example of HE bootstrapping(e.g. CKKS bootstrapping)? I couldn't find bootstrapping code in the 5_ckks_basics.cpp file.

image

BR

macknight avatar Aug 01 '22 06:08 macknight

Microsoft SEAL does not include bootstrapping with any scheme.

WeiDaiWD avatar Aug 01 '22 19:08 WeiDaiWD

Microsoft SEAL does not include bootstrapping with any scheme.

so when I use SEAL for CKKS operations, then how do I do the bootstrapping operations?

Or when I use MS SEAL, it won't have the problems which need to be handled with bootstrapping?

macknight avatar Aug 02 '22 05:08 macknight

Do you have a specific problem that must require bootstrapping?

WeiDaiWD avatar Aug 09 '22 18:08 WeiDaiWD

Do you have a specific problem that must require bootstrapping?

Let me use another statement. We don't need bootstrapping if we could set the expected levels of HE computations and SEAL would throw an error saying level has been zero when the level is becoming zero and the computation continues, right? So does SEAL has this feature to set the level of circuits and also would throw an error when level has become zero?

BR

macknight avatar Aug 10 '22 13:08 macknight

In CKKS, when all primes are consumed by rescaling, SEAL throws an error.

In BFV/BGV, when all primes are consumed by modulus switching, SEAL throws an error.

In BFV/BGV, when invariant noise budget approaches zero, SEAL does not throw an error.

WeiDaiWD avatar Aug 11 '22 04:08 WeiDaiWD

invariant noise budget approaches zero,

Thank you for your reply. So is there any ways to check the remained levels(primes) so that we could forwardly stop the computation thus avoiding throwing errors while using CKKS?

macknight avatar Aug 11 '22 05:08 macknight

You can either check how many primes are left or the current chain index -- check the "levels" example.

WeiDaiWD avatar Aug 11 '22 17:08 WeiDaiWD

levels

Sure, I'll check that. Thanks.

macknight avatar Aug 12 '22 06:08 macknight