其他分享
首页 > 其他分享> > 多方隐私求交——基于OPPRF的MULTI-PARTY PSI

多方隐私求交——基于OPPRF的MULTI-PARTY PSI

作者:互联网

目录

一、问题说明:

二、基础知识:

1、OPRF:不经意伪随机函数

2、OPPRF

3、Zero-Sharing

 三、Multi-party PSI


一、问题说明:

 Alice拥有数据X,Bob拥有数据Y,Charlic拥有数据Y,相求X,Y,Z的交集,三方除了交集外的信息不可知。

二、基础知识:

1、OPRF:不经意伪随机函数

论文导读

 Alice有一些输入,Bob有一个key。不经意PRF允许Alice将自己的输入与Bob的key结合经过一系列运算转变成相对应的数。在这个过程中,Alice不能知道Bob的key,Bob也不知道最后的结果F(key,x)。每一个输入xi都可以计算出一个不同于其他输入的数,这些数就可以被看作伪随机数。这里不做详细介绍,只需要知道输入和输出即可,中间的协议可理解成第三方。

2、OPPRF

 这里说一种基于多项式的方案,这里详细介绍一下这个协议。

(1).通过OPRF协议Bob可知k,Alice可知F_{k}(X)。将F_{k}发送给Bob(仅仅知道函数关系)。

(2).Bob对于每一个(x_i,y_i)计算(x_i,y_i\bigoplus F_k(x_i)),这样就拥有了多组(x,z), 就可以根据拉个郎日差值法计算他们所在的函数关系式P。

(3).Bob将P(x)发送给Alice,Alice计算自己的P(x)。

(4)Alice输出{{ P,F_K(x_1)\: \bigoplus P(x_1),...,F_K(x_n)\: \bigoplus P(x_n)}}。

3、Zero-Sharing

简单理解就是每个人拥有一个数最后所有数加起来为0。(0的秘密分享) 

具体原理

 三、Multi-party PSI

 (1).每个人拥有一个数据集X,和一个0秘密分享对应的集合sh,(X,sh)={(x1,sh1),...,(xn,shn)}, 将集合发送给OPPRF协议,在这参与者P_i相当于Bob,P_0相当于 Alice。

 (2).通过OPPRF协议可以获得sh集合。如果集合最后异或结果为0,则说明是交集。

注意:这里一定要和OPPRF协议对应起来,sh等价于y。Zero-sharing还能起到验证的作用,如果结果不正确,可以诊断出来是哪一方的sh出了问题。

参考:

Practical Multi-Party Private Set Intersection from Symmetric-Key Techniques

英文视频讲解

标签:求交,MULTI,PSI,key,Alice,sh,OPPRF,Bob
来源: https://blog.csdn.net/niujinya/article/details/121752031