microsoft / SEAL

Microsoft SEAL is an easy-to-use and powerful homomorphic encryption library.
https://www.microsoft.com/en-us/research/group/cryptography-research/
MIT License
3.46k stars 694 forks source link

the minimum value of poly_modulus_degree #649

Open macknight opened 1 year ago

macknight commented 1 year ago

Hi, is the recommended value for poly_modulus_degree 2^10? Where is this value mentioned in SEAL document? Any reason why this is the recommended minimum value? can it be, say like, 2^9 if possible for SEAL or for other HE implementation or for HE theory?

Best Regards

RasoulAM commented 1 year ago

The poly_modulus_degree has to be a power of two but to be able to perform any homomorphic operations it needs to be larger than a certain amount. The values which are supported in the library are $$N=2^{10}, 2^{11}, ..., 2^{16}$$. The more homomorphic operations you need, the higher N needs to be. You can theoretically go higher than this, but values smaller than that are probably not secure.

I don't know of any fully homomorphic schemes that can have an N smaller than 2^{10}.