1

考虑两方,即 P_0 和 P_1。P_0 和 P_1 分别有明文 p_a 和 p_b。P_0用它的公钥
加密 p_a 得到,并将它发送给 P_1。 P_1 执行,然后执行(其中 p_R 是一个随机明文多项式,用于隐藏 a 和 b 的乘积),然后将 c 发送到 P_0。 尽管乘积被 p_R 掩盖,c 中的噪声能否向 P_0 揭示有关 p_b 的一些信息? c_a = Enc(p_a)
multiply_plain(c_a, p_b, c)sub_plain_inplace(c, p_R)

如果是,那么我该如何避免这种泄漏?有没有办法向 c 添加随机噪声以消除 p_b 对 c 中噪声的影响?
SEAL 中是否有使用更大间隔的噪声进行加密的功能?如果有,那么也许我可以用额外的噪音加密 p_R 以消除影响。

4

1 回答 1

1

是的,噪音理论上可以揭示有关产品输入的信息,即使在添加了新的加密之后也是如此。同态加密方案通常不是为在此类 MPC 协议中提供输入隐私而设计的。不过,我不清楚这种“攻击”在现实应用场景中执行的可行性有多大(病理情况除外)。

为避免此问题并为您可能希望从 BFV 方案构建的协议获得半诚实的安全性,您确实可以按照您的建议进行操作:通过添加具有人为大噪声的加密来淹没噪声。例如,这里(第 5.2 节)使用它来证明协议的安全性。另见本文中的引理 1 。

Ducas 和 Stehle在这篇论文中描述了一种更奇特的基于自举的方法。由于 BGV 和 BFV 中的引导非常严格(并且未在 SEAL 中实现),因此我认为这种方法并不实用,除非在一些非常罕见的情况下。

于 2019-01-16T06:17:35.763 回答