【问题标题】:Microsoft SEAL : Required negative values as a result after subtraction of two PolyCRT composed ciphertextsMicrosoft SEAL:减去两个 PolyCRT 组成的密文后需要负值
【发布时间】:2019-04-05 12:16:17
【问题描述】:

假设我有两个向量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]

我明白,因为明文只定义了模plain_modulus,所以我们得到了这个结果。但是我希望将得到的负值用于下一次计算我如何将得到的负值分配给向量并将其用于进一步的计算

【问题讨论】:

    标签: seal


    【解决方案1】:

    如果仍然有PolyCRTBuilder,那么您使用的是相当旧的 SEAL 版本;在较新版本的库中,它已重命名为 BatchEncoder,它支持与 std::vector<std::int64_t> 之间的编码,我相信这正是您想要的。

    【讨论】:

    • 先生,我在哪里可以获得 SEAL 版本 3.2 的 python 包装器??
    • SEAL 3.2 没有 Python 包装器。
    • 将 dotnet 版本的 SEAL 在 Visual Studio 2019 中工作。当我尝试执行 Examples.cs 时,它无法“包含头文件”。
    • 我在早些时候尝试时也注意到了这一点,但还没有机会调查是什么原因造成的。显然,这必须而且将会得到解决。
    • 先生,有没有机会为 SEAL 3.2 版发布 python 包装器?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多