为了更好的理解Batch OPPRF 协议,强烈建议阅读上篇文章:OPPFR
一、PPRF
在文章中有所说明PPRF和PRF非常类似,在上篇文章中有所说明,建议阅读一下。
说明一下,PRF是一种伪随机函数,作用相当于一种不可逆映射,X==>F(x)。
PPRF的功能和PRF相同,也是一种伪随机函数。下面介绍一下原理。
先看最后一步,这个函数的作用是将X(i)变成一个伪随机函数T(i)。
这里需要两个参数k,hint,在文章中有说明k是随机数,T也是随机产生的,数量要和X一致。
hint如何产生呢?是什么呢?往下看。
现在拥有的参数是k,X,T。 用PFR将X转化成伪随机函数F(k,X),用拉格朗日插值法构造多项式p,这里的就是hint。
将p带入F(k,hint,X(i))=T(i)。
总结一下,这个是个伪随机函数,用到的种子是k,hint。
二、OPPRF
这里简单说一下改进,在上一篇文章中已经说明OPPRF基于多项式的方案。但是对于每一个数据集X,需要建立一个多项式,查询也要对应起来十分复杂。所以提出Batch OPPRF。
思路是每一个数据集用一组
,
对应产生。
将所有的数据集(,
)放在一起建立一个多项式。
参考:Efficient Circuit-based PSI with Linear Communication
连载:2021-cPSI/QPSI