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

目录

一、问题说明:

二、基础知识:

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

2、OPPRF

3、Zero-Sharing

 三、Multi-party PSI


一、问题说明:

多方隐私求交——基于OPPRF的MULTI-PARTY PSI_第1张图片

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

二、基础知识:

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

论文导读

多方隐私求交——基于OPPRF的MULTI-PARTY PSI_第2张图片

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

2、OPPRF

多方隐私求交——基于OPPRF的MULTI-PARTY PSI_第3张图片

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

·总体功能:

Alice想要根据自己的x获得对应的y,Bob拥有x-y的对应关系。其中Alice能告诉Bob自己的x以及结果y,Bob不能告诉Alice数据集X。

·如图所示:

Alice要查询x,Bob拥有数据点X={(x1,y1),(x2,y2)...},如果x=xi,Alice查询到对应的yi,否则获得一个随机数。

·这里说一种基于多项式的方案,这里详细介绍一下这个协议。多方隐私求交——基于OPPRF的MULTI-PARTY PSI_第4张图片​​​​​​​

(1)Receives将自己点中的x输入OPRF协议获得F(x)。而Sender获得k,也就有了F。

(2)Sender拥有图中蓝色的点X={(x1,y1),(x2,y2)...},将原来的yi替换为zi=yi⊕F(xi),根据数据{(x1,z1),(x2,z2)...}建立多项式P(x),可以根据拉个郎日差值法。将P(x)发送给R。

(3)R根据自己的x,计算出对应的P(x)。

(4)R输出P(x)⊕F(x)==========>yi⊕F(xi)⊕F(x),可以看出如果x=xi,则结果为yi。

3、Zero-Sharing

多方隐私求交——基于OPPRF的MULTI-PARTY PSI_第5张图片

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

具体原理

多方隐私求交——基于OPPRF的MULTI-PARTY PSI_第6张图片

 三、Multi-party PSI

多方隐私求交——基于OPPRF的MULTI-PARTY PSI_第7张图片

 (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

英文视频讲解

连载:batch-OPPRF​​​​​​​

2021—cPSI/QPSI

你可能感兴趣的:(PSI,psi)