Private Set Intersection(PSI)简介和资料分享

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yinhui_zhang/article/details/75091321

1.什么是Private Set intersection(PSI)?

用英文定义是:A private set intersection protocol consists of two parties,a Sender and a Receiver, each having a set as input, which respectively are denoted X and Y . Together they want to compute the intersection of their sets,X Y , without revealing elements not contained in the intersection. Usually the Receiver will learnX Y and |X| without learning X \ Y , while the Sender learns|Y | and nothing else.

简单中文来说就是两个数据集求他们的交集的协议,但是却不泄露任何一方除了交集之外的信息!

有什么用呢?总之就是为了找相同敏感的元素。比如可以让两个公司找出他们共同的客户而不必要泄露所有的用户给对方。政府特工判断恐怖分子是否在航空名单上。

2.有哪些PSI协议呢?

到现在为止,PSI协议种类很多,但是主要还是分为以下几个部分:

(1)基于天真的哈希解决方案的PSI:这种方案主要是应用加密的哈希函数,然后计算哈希结果。缺点是安全性很差。

(2)基于公钥加密的PSI:有基于Diffie-Hellmann(DH)的,有基于RSA盲签名的,有基于bloom filter的,基于OPRF的,基于多项式插值的。

(3)基于电路的PSI:这个主要分为两个小部分,一个是基于GoldreichMicali-Wigderson protocol  计算协议,另外一个是基于姚期智教授的混淆电路计算协议。

(4)基于遗忘传输的PSI。这也现在比较流行的PSI协议,并且有文献优化算法成为了如今最快的PSI协议。最新的基于OT的PSI协议B.Pinkas, T.Schneider, M. Zohner.Scalable Private Set Intersection Based on OT

Extension.Availableat http://eprint.iacr.org/2016/930.并且作者给出了源码,笔者在ubuntu上跑,效果可以。源码链接:https://github.com/encryptogroup/PSI

如表8是各种协议的运算时间比较,在上面这篇论文中可以找到。


3.资料分享

主要是上面这篇论文,总结很全面的PSI协议,并且还给出了详细的引用。还有一篇国外AARHUS
AU UNIVERSITY 的硕士论文:Breaking and Fixing Private Set Intersection Protocols。


写在最后的话,感谢即将去美国留学的师姐,教会我如何从引用文献搜索到更多的相关的知识,感谢帮调PSI代码。有时候在想,师姐这种对问题的追求还是很值的学习的。

猜你喜欢

转载自blog.csdn.net/yinhui_zhang/article/details/75091321
今日推荐