Microsoft SEAL:减去两个PolyCRT组成的密文后,结果需要负值

时间:2019-04-03 12:12:26

标签: seal

假设我有两个向量x = [1,2,3,4] and y = [5,1,2,6]

我使用PolyCRTBuilder(Ciphertextx和Ciphertexty)组成并加密了两个数组。

如果我减去两个密文(Ciphertextx MINUS Ciphertexty),我应该得到Result = [-4, 1, 1, -2],但是在同态减法之后我得到ResultDecrypted = [40957, 1, 1, 40959]

我了解到,由于纯文本仅以modulo_modulus模来定义,因此得到了该结果。但是我希望将所得负值用于下一次计算,如何将所得负值分配给矢量并将其用于进一步的计算

1 个答案:

答案 0 :(得分:0)

如果SEAL仍然具有PolyCRTBuilder,则您使用的是SEAL的较旧版本;在较新版本的库中,该库已重命名为BatchEncoder,并且它支持到{/ {1}}的编码,我相信这是您想要的。