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 696 forks source link

Why the number of special primes is only one? #526

Open yzhou79 opened 2 years ago

yzhou79 commented 2 years ago

SEAL seems only have 1 special prime, but HElib has many special primes with larger bits. Is there any reason/math behind this? Thanks.

WeiDaiWD commented 2 years ago

Please check this paper on why HElib uses multiple special primes.

yzhou79 commented 2 years ago

Thanks Wei. It looks like this is because of the "Digits" design that turns the capacity of relin keys be very large, so that it needs multiple special primes to host its capacity. If the number of "Digits" is equal to the number of the normal prime set, can we use just one special prime just like SEAL?

WeiDaiWD commented 2 years ago

I don't get what you said. These choices are made to balance noise growth, noise budget, key size, usability, etc. You can pretty much choose anything you want here.