Efficient Linear Multiparty PSI and Extensions to Circuit/Quorum PSI

本片文章的内容和之前说的两篇文章密切相关,强烈建议回顾前两篇(必须回顾!!!)

2017--OPPRF              

2019--batch OPPRF     

目录

一、基础知识:(简单说一下)

1.Cuchoo Hashing:

2.PSM

3.秘密共享

二、multiparty PSI 


一、基础知识:(简单说一下)

1.Cuchoo Hashing:

生成三个(几个都行,以3个为例)hash函数,分别为h_1,h_2,h_3,和一个table表,若h_1(x)位置为空, 就将x放在h_1(x)的位置上,若该位置已经存在元素y,则替换该元素,并将y放在h_2(y)的位置上(位置为空),若该位置存在元素z,则替换元素z,并将z放在元素h_3(z)对应的位置上(位置为空),若此位置存在元素m,在替换元素,并将m放在h_1(m)位置上,一直循环直到找到相应位置。(对于死循环可以设置阈值,强行停止循环。)

2.PSM

可以理解为一个和Batch-OPPRF一样的一个协议,R方输入为q=q_1,...,q_\beta(查询到元素集合),S输入为数据集X=X_1,...,X_n(q_iX_i中查询)。返还给R y_i, 返还给S w_i,如果元素在数据集里面y_i =w_i,否则y_i=随机数。

3.秘密共享

·加法秘密共享:这里用的是shamir秘密共享,需要知道他的特性:< x > +< y > =< x+y >          其中< x >是x的秘密共享值。

·线性秘密共享:c[a]+[b]=[ca+b],其中[a]是a的秘密共享值。

二、multiparty PSI 

先说原理,后面自己理解。

这里参与者为P1,...,Pn。选择P1作为R方,P2,...,Pn为S方。所用参与者共同产生三个hash函数h_1,h_2,h_3

P1通过Cuchoo Hashing产生一个Table1,P2,...,Pn使用普通的三次hash产生Table2,...,Tablen(就是将一个数x  hash三次放在表的三个位置上)。

使用PSM协议,将P1作为R方发送Table1,P2,...,Pn为S方发送Table2...Tablen。

结束时P1对于表中的每一个位置的元素查询了n-2次,计作y_{ij},其中ij代表在Pi的表中查询第j个元素,P2...Pn获得w_{ij}。P1计算<a_j>_1=\sum_{i=2}^{n}-y_{ij},P2...Pn<a_j>_i=w_{ij},若查询到元素,可以看出来所有<a>加起来为0。

之后几步的主要的作用是盲化结果。这里涉及了一种转换,主要原因是加法秘密共享无法乘运算。

这些内容如果基本看懂,后面的内容应该问题不大。这三篇文章是一个完整的OPPRF的体系,也许刚开始看起来十分复杂,但是仔细研究完第一篇后面的两篇会轻松许多。

参考文献:Efficient Linear Multiparty PSI and Extensions to Circuit/Quorum PSI

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值