alibaba-edu / mpc4j

Apache License 2.0
211 stars 42 forks source link

psi会有误判吗 #24

Closed liyuhui666 closed 1 year ago

liyuhui666 commented 1 year ago

image 我看代码中隐私集合求交,有使用布谷鸟哈希,布谷鸟哈希面对大数据量会有和布隆过滤器,判断数据一定不存在,判断存在是可能存在的情况,那请问这样是否会有数据误判情况产生

liuweiran900217 commented 1 year ago

BloomFilter的确会有数据误判的情况。我们沿着论文的实现,将错误率控制在2^{-40}的概率以下,以满足统计安全性要求。如果一定要求没有误判,可以使用SetFilter。

Cuckoo Hash误判的情况是通过PRF输出比特长度来控制误差率低于2^{-40}的概率以下。

liyuhui666 commented 1 year ago

06W@OSFU% J %6`0KS}75DT 好的,我看到了,在初始化时候有根据数据量来生成,这个数据量参数目前是写在配置文件中,如果我修改代码中数据量,不是2^{*}这种数字,而是一个随机数字,比如生产中具体数据量123456,这会有影响吗,还是必须根据实际数据量,往大再扩写一个量级

liuweiran900217 commented 1 year ago

第33行这里就是为了保证出错概率小于等于2^{-40}的。生产中具体数据量应该通过serverElementSize或clientElementSize传入。serverElementSize或clientElementSize不要求一定是2^*格式。如果无法预估,建议直接设置为128比特比较好。

liyuhui666 commented 1 year ago

好的,谢谢