SEAL 库中的模数切换

Modulus Switching in SEAL library

传统上,模数切换主要用于使噪声增长线性,而不是指数增长。然而,在 BFV 示例中,它已作为一种工具被引入,以去除素数(从而减少系数模的位长)并提高计算效率。 它是否也有助于减少 BFV 方案中的噪声增长?如果不(手动)切换模数,我会观察到噪声呈指数增长吗?

在 BFV 中,您不需要进行模数切换,因为 尺度不变性 属性 阻止了指数噪声增长。因此,它的主要好处是提高计算性能和可能的通信成本。

例如,在一些简单的协议中,Alice 可能会加密数据并将其发送给 Bob,Bob 对其进行计算并将结果发回。如果Alice只需要解密结果,那么当Alice收到结果时参数越小越好,所以Bob应该在将数据返回给Alice之前切换到尽可能小的参数以最小化通信成本。