我在试着对密文进行比较。给定两个密文c1和c2的两个值p1=p2 = 1,指令c1 == c2或c1.equalsTo(c2)总是给出false。我该如何解决这个问题呢?
有没有可能在两个密文上以(c1 < c2)的形式进行大于比较?
假设我有两个密文c1和c2,分别对应于纯文本p1,p2,我如何使用HElib来比较它们?任何人给我提供源代码或工作逻辑?
发布于 2017-01-16 03:21:11
不,在HElib中不可能直接比较两个密文。
这是由于HElib中使用的加密系统造成的。然而,即使不详细说明这一点,也可以说没有任何公钥密码系统(HElib是公钥)能够支持像c1 < c2这样返回未加密布尔值的操作,因为这将使攻击者能够简单地通过加密新值和比较来轻松地找到任何密文的明文。
如果您想在HElib中进行比较,则需要将整个程序表示为具有单独加密位的二进制电路。然后,您可以将条件分支实现为多路复用。对于任何“真正的”程序来说,这不仅乏味,而且通常太慢(HElib不是一个快速的加密系统)。
https://stackoverflow.com/questions/40577847
复制相似问题