我正在尝试理解SEAL-CKKS方案是如何工作的,我想知道使用这个方案我们可以达到什么乘法级别?
比如100个可能性?
发布于 2019-06-12 09:17:29
大多数使用CKKS的高精度应用程序可能会保持在20级以下。在我看来,任何高于20级的应用程序都是非常高的,这会让我想到其他方法。
级别100原则上是可能的,但由于它需要巨大的参数大小,因此不太可能实用。默认情况下,密封件对poly_modulus_degree有一个相对较低的上限,但这个上限应该可以增加。coeff_modulus素数的数量也有一个上限,但这些界限没有任何真正的根本原因,你可能会毫不费力地增加它们。
请注意,对于如此大的coeff_modulus和poly_modulus_degree,您需要自己进行安全评估,如果您使用SEAL3.3,则需要通过将sec_level_type::none传递给SEALContext::Create来禁用安全检查。
要增加上限,请在native/src/seal/util/defines.h中编辑SEAL_POLY_MOD_DEGREE_MAX和SEAL_COEFF_MOD_COUNT_MAX。
也有可能在未来,SEAL将为CKKS方案实现某种形式的自举,这将允许这样的计算,但可能仅具有非常低的精度。
https://stackoverflow.com/questions/55268399
复制相似问题