SEAL-CKKS最大乘法深度

时间:2019-03-20 19:04:37

标签: cryptography public-key-encryption seal

我试图了解SEAL-CKKS方案如何工作,我想知道使用该方案可以达到什么乘法水平?

可能有100种?

1 个答案:

答案 0 :(得分:0)

大多数使用CKKS的高精度应用程序可能会保持在20级以下。我认为,任何高于此的值都非常高,这会让我想到其他方法。

原则上可以达到100级,但由于需要巨大的参数大小,因此不太可能实用。默认情况下,SEAL的poly_modulus_degree上限确实相对较低,但这应该可以增加。 coeff_modulus质数的数量也有一个上限,但是这些界限没有任何真正的根本原因,您可能可以毫无困难地增加它们。

请注意,您需要对如此大的coeff_moduluspoly_modulus_degree进行安全性估算,如果您使用SEAL 3.3,则需要通过传递sec_level_type::none来禁用安全性检查到SEALContext::Create

要增加上限,请在SEAL_POLY_MOD_DEGREE_MAX中编辑SEAL_COEFF_MOD_COUNT_MAXnative/src/seal/util/defines.h

将来,SEAL还可能会为CKKS方案实现某种形式的自举,这将允许这种计算,但精度可能非常低。