如何确保加密数据i.e., Enc(m1) < Enc(m2) where m1 < m2, and all messages are integer values的顺序。
我已经读过了保序加密在启用加密多媒体数据库搜索中讨论的内容。
根据文献,对于排序的数据值(即字),下限(l_w)和上限(U_w)是根据一个字的频率计数来定义的,估计值(编码值)是通过线性样条插值在所定义的界限内选择的。
我发现很难定义以下数据值的下限和上限。我想用0- 10,000和DocCount的范围对频率进行0- 500编码。但是,我在每个范围内只有一个数据点(即w_i) (即l_w_i到U_w_i),如
我正在开始使用同态加密库。我正在尝试将用Python编写的代码库移植到Haskell。我看到在代码的一个部分中发生了重新加密操作。就像这样:
def re_encrypt(self, values):
n = values.shape[1]
values = values.flatten()
ret = []
for i in range(n):
pt = self.pri_key.decrypt(values[i])
ret.append(self.pub_key.encrypt(pt))
return np.array(r
我用paillier密码系统加密了两个数字。这些数字的加密值是bigInteger,当我要除以它们时,值是十进制数,例如:第一个加密值是12446486760457687016046,加密值为3是98647617673416817617。除法的结果很可能是十进制。在这种情况下,最终的结果是0,因为paillier获得了bigInteger作为参数。我怎么能把它们分开呢?
public class Paillier {
/**
* p and q are two large primes.
* lambda = lcm(p-1, q-1) = (p-1)*(q-1)/gcd(p-1,