我试图了解 SEAL-CKKS 方案是如何工作的,我想知道使用这个方案我们可以达到什么乘法级别?
像 100 可能?
我试图了解 SEAL-CKKS 方案是如何工作的,我想知道使用这个方案我们可以达到什么乘法级别?
像 100 可能?
大多数使用 CKKS 的高精度应用程序可能会保持在 20 级以下。在我看来,任何高于该级别的都非常高,并且会让我想到替代方法。
级别 100 原则上是可行的,但由于需要巨大的参数大小,因此不太可能实用。默认情况下,海豹突击队确实有一个相对较低的上限poly_modulus_degree
,但应该可以增加。素数的数量也有上限coeff_modulus
,但这些界限没有任何真正的根本原因,您可能可以毫无困难地增加它们。
请注意,您需要自己对这么大的文件进行安全估计coeff_modulus
,poly_modulus_degree
如果您使用 SEAL 3.3,则需要通过传递sec_level_type::none
给SEALContext::Create
.
要增加上限,请编辑SEAL_POLY_MOD_DEGREE_MAX
和SEAL_COEFF_MOD_COUNT_MAX
在native/src/seal/util/defines.h
.
未来 SEAL 也有可能为 CKKS 方案实施某种形式的自举,这将允许这样的计算,但可能只有非常低的精度。