Microsoft SEAL:查找PolyCRT密文的均值

时间:2018-10-16 05:25:35

标签: mean seal

是否有一种简便的方法来计算由PolyCRTBuilder组成并加密的密文的均值。

这是代码段:

git log develop

基本上,我有一个数组,其中使用SEAL中的Batching技术将所有数组元素打包为一个密文。创建密文后,需要找到ciphertextArray的MEAN。平均值应为密文(IntegerEncoded或FractionalEncoded)。有没有不用密钥就可以实现这一目标的方法?谢谢。

1 个答案:

答案 0 :(得分:1)

您需要首先总结使用的所有批次插槽中的值。始终可以通过将密文旋转0、1、2、4、8,…个时隙并在每次旋转后求和,以log(degree(poly_modulus))的步骤来完成。对于最后一步,您还需要将两行相加,因此需要进行列旋转。您将得到一个密文,其中每个插槽都包含值的总和。解密后,在这种情况下,纯文本多项式将只是一个常数多项式,因此请确保您的plain_modulus足够大以包含和。

要按批大小进行划分,也许可以在解密后进行,但是最好的选择是使用CKKS方案(在SEAL 3.0中),这种方法容易实现逐密文划分。