Closed YFMao15 closed 3 years ago
SEAL by default enforces 128-bit classical security, when constructing a SEALContext
. If the chosen parameters are not 128-bit secure according to the homomorphic encryption security standard, then the SEALContext
construction will fail. You can change this enforced security level to different strength or bypass it, see sec_level_type
. SEAL does not tell you, for example, that your parameters are 100-bit secure. Also SEAL treats the use of a polynomial ring degree less than 1024 or larger than 32768 as insecure, since the HE security standard does not specify them.
SEAL does not have a setting for precision bit. There is no method to tightly bound the number of bits of precision. The only methods known are heuristic and therefore inaccurate in practice -- most of time too conservative, in rare cases over-optimistic.
I am wondering how SEAL decides the security level and precision bit in CKKS context. In HElib, precison bit is a input parameter of CKKS context, and security level could be calculated with Context::securityLevel().
Is there any SEAL function doing the same thing?