HElib icon indicating copy to clipboard operation
HElib copied to clipboard

Security Level of HElib's Homomorphic Encryption Schemes

Open FrozenFort opened this issue 6 years ago • 3 comments

Hi~ I'm totally new to this library. I wonder how should I pick the parameters to make the BGV or the CKKS schemes have the similar security level of 128-bit AES or 256-bit AES.

Is there a set of initialisation parameters that I can choose?

FrozenFort avatar Mar 21 '19 12:03 FrozenFort

Some sets of parameters are listed in the tables at the end of the "Homomorphic Encryption Security Standard" (from November 21, 2018), available at http://homomorphicencryption.org/standard/

shaih avatar Mar 21 '19 13:03 shaih

Thanks for your quick response ^_^ I have another question about the secret key distribution mentioned on the HE standard document. What is the default distribution does HElib use? And how can I choose a distribution for my secret key generation?

FrozenFort avatar Mar 22 '19 02:03 FrozenFort

HElib uses the -1/1 distribution for the secret key, except for bootstrapping where it uses a low-weight distribution (which is not included in the standard). For all we currently know, the security of low-weight keys is very close to that of -1/1 keys, but this was left out of the standard since the general feeling was that we don't yet know enough about it.

HElib does not let you choose the secret-key distribution, to do that you would have to change the HElib code (specifically the GenSecKey method in FHE.h, or FHESecKey::genRecryptData in FHE.cpp for the bootstrapping key).

shaih avatar Mar 22 '19 03:03 shaih