赞
踩
目录
首先必须感谢蚂蚁集团及隐语社区带来的学习机会!
第五课由张磊和冯骏老师讲述,核心内容隐语实现的PSI协议及其开发实践
PSI协议是核心内容,我们现在就整理一下隐语里面实现的主流的PSI协议以及目前最好的PSI协议(特别是关注性能)
(1)按参与方:两方PSI和多方PSI
(2)按两边的数据量级:平衡PSI和非平衡PSI,非平衡是指一方数据量显著少于另一方
(3)按安全模型:半诚实和恶意模型
(4)基于PSI的计算:
最初的半诚实模型DH-PSI协议在1999年论文:Bernardo A. Huberman, Matt Franklin, and Tad Hogg. Enhancing privacy and trust in electronic communities中提出,更早的思想可追溯到论文1986年的论文:C. Meadows. A more efficient cryptographic matchmaking protocol for use in the absence of a continuously available third party.
ECDH-PSI协议的思想比较简单,整个过程如图1所示。
ECDH-PSI 协议开始前,Alice 和 Bob 对自己的数据进行随机乱序,协议流程如下:、
椭圆曲线群可以选择Curve25519,Secp256k1,SM2,FourQ等安全曲线。
KKRT基于 OT Extension, BaRK-OPRF 和 CuckooHash,该协议首次实现在在千万规模数据集上求交在1分钟之内完成,2016年论文:V. Kolesnikov, R. Kumaresan, M. Rosulek, and N. Trieu. Efficient batched oblivious PRF with applications to private set intersection。
在隐语 SPU PSI 中使用了2018年论文:B. Pinkas, T. Schneider, and M. Zohner. Scalable private set intersection based on ot extension中的3-way stash-less CuckooHash.
KKRT协议流程如下:
注意:在协议中,接收方执行Cuckoo哈希时,每个桶里的元素是只由一个哈希函数确定的位置 ,而在发送方这边是执行了三个哈希函数,每个元素都插入到了三个对应位置的桶里。这是因为发送方并不知道接收方是采用的哪一个哈希函数。Cuckoo哈希是降低后续元素比较次数的核心方法,将原来平方次的比较次数变成了线性次数的比较。
伪随机相关生成器PCG(Pseudorandom Correlation Generator)是 Boyle等人引入的一种密码协议,优势在于可以将满足特定相关条件的随机数,在不影响安全的前提下进行压缩。
他们设计了一系列满足特定相关性的高效PCG协议, 例如: vector oblivious linear evaluation (VOLE) 或者batch oblivious linear evaluation (BOLE)。这些基础的密码原语是现代安全多方计算中的核心组件,可以显著降低通信量。基于LPN假设,PCG/VOLE 函数,Receiver 和Sender得到一组满足线性关系的分量,通信量是亚线性的。
BC22的2022年论文:Private Set Intersection from Pseudorandom Correlation Generators使用PCG加速PSI协议,减少计算量和通信量,在千万数据规模,长度128比特数据集上,求交时间在30秒左右,通信量是KKRT 的1/3.
流程如图所示:
协议流程描述如下:
其中论文[WYKW21]: C. Weng, K. Yang, J. Katz, and X. Wang. Wolverine: fast, scalable, and communication-efficient zero-knowledge proofs for boolean and arithmetic circuits, 2021.
该技术来自于S.Raghuraman and P. Rindal的2022年论文:Blazing Fast PSI from Improved OKVS and Subfield VOLE,Blazing Fast PSI 由两个核心组件组成:OKVS 和 VOLE。
以上四楼主流的PSI协议的性能比较如下图(通信量和执行时间)
可以看出
上面介绍的是通用的PSI协议,在数据量大小不同的场景下,即非平衡PSI有更专用的PSI协议,下面主要介绍两种非平衡PSI协议。
论文RA18:Faster unbalanced private set intersection介绍了一种非平衡的PSI协议,协议分成两个阶段:离线预处理阶段和在线阶段,论文中引入了一些优化方法减少离线预处理阶段的计算和通信量。不经意伪随机函数(Oblivious Pseudorandom Function OPRF)是一个两方协议,客户端和服务端通过执行协议计算伪随机函数(Pseudorandom Function PRF)的结果。RFC 草案“Oblivious Pseudorandom Functions (OPRFs) using Prime-Order Groups”基于素数阶群,给出了OPRF, VOPRF, and POPRF 的构造方案。
协议图示如下:
协议流程描述如下:
利用同态加密算法来构造非平衡的PSI协议有几篇重要的论文:
基于FHE的 PSI流程如下图所示:
协议流程如下:
数据预处理阶段:
在线求交阶段:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。