是否有一种简便的方法来计算由PolyCRTBuilder组成并加密的密文的均值。
这是代码段:
git log develop
基本上,我有一个数组,其中使用SEAL中的Batching技术将所有数组元素打包为一个密文。创建密文后,需要找到ciphertextArray的MEAN。平均值应为密文(IntegerEncoded或FractionalEncoded)。有没有不用密钥就可以实现这一目标的方法?谢谢。
答案 0 :(得分:1)
您需要首先总结使用的所有批次插槽中的值。始终可以通过将密文旋转0、1、2、4、8,…个时隙并在每次旋转后求和,以log(degree(poly_modulus))
的步骤来完成。对于最后一步,您还需要将两行相加,因此需要进行列旋转。您将得到一个密文,其中每个插槽都包含值的总和。解密后,在这种情况下,纯文本多项式将只是一个常数多项式,因此请确保您的plain_modulus
足够大以包含和。
要按批大小进行划分,也许可以在解密后进行,但是最好的选择是使用CKKS方案(在SEAL 3.0中),这种方法容易实现逐密文划分。