Is there any difference between using HE::STD128 and setting parameters manually?

I’ve noticed that many project set the security parameters to NONE first, and then manually configure a series of parameters such as poly_degree and modQ. Is this approach equivalent? Will it have any impact on performance?

i mean rlwe ciphertext parameter HEStd_128_classic

I think you can set any set of parameters, and then:

  • If security = none, then the library will not tell you anything about the security of the chosen params
  • If security = X, then the library will double-check that the selected params satisfy the desired level of security

So the security level is simply a “check”, it does not select the parameters for you.

EDIT: This is partially wrong, see below

If setting the security level to anything but HEStd_NotSet and keeping the ring dimension unset, OpenFHE will automatically choose the minimum ring dimension achieving the desired security level. I am not sure if you are referring to OpenFHE specifically or various libraries; it is not clear from the context of the question.

1 Like