2016-11-13 81 views
2

我试图对密文进行比较。 给定两个值p1=p2 = 1,指令c1 == c2c1.equalsTo(c2)总是给出false的两个密文c1c2。 你有什么想法我可以解决这个问题吗?任何人都可以帮助我使用HElib进行比较吗?

是否可以在两个密文上以(c1 < c2)的形式进行比较?

假设我有两个密文c1c2为纯文本p1p2分别我怎么能对它们进行比较使用HElib任何一个向我提供一个源代码或工作逻辑是什么?

+0

假设我有两个密码文本c1和c2分别为纯文本p1,p2我怎样才能比较他们使用HElib任何一个提供我sourse代码或工作逻辑? –

+0

首先告诉我们c1和c2是什么类型。 – deviantfan

+0

如果密码安全,那么密文(或多或少)与随机噪声难以区分,那么比较的意义何在?如果它是确定性密码,则p1 == p2意味着c1 == c2,这使得!=相关,但“小于”不相关。如果它不是确定性的,那么!=也是不相关的。 –

回答

1

不,在HElib中不可能直接比较两个密文。

这是由于HElib中使用的加密系统。然而,即使没有详细说明,可以说没有公钥密码系统(HElib是公钥)能够支持像c1 < c2这样的操作,该操作返回未加密的布尔值,因为这将使得攻击者能够容易地找到明文任何密文只需加密新值并进行比较。

如果您想在HElib中进行比较,您需要将整个程序表示为具有单独加密位的二进制电路。然后你可以实现条件分支复用。对于任何“真正的”程序来说,这不仅乏味,而且速度也很慢(HElib不是一个快速的加密系统)。

相关问题