隐私求交的定义
隐私集合求交使得持有数据参与方通过计算得到集合的交集数据,而不泄露任何交集以外的数据信息。
隐私求交方案介绍
1. 基于DH的PSI方案
基于DH的PSI方案[3]流程如图3.1所示,该方案基于DH密钥交换的思路,实现两次可以交换加密顺序的加密操作,使得参与双方对于交集数据,得到完全相同的不可逆密文。
基于DH的PSI方案主要分为以下3个步骤:
a. Alice选择随机数作为私钥。对于每一个数据x,Alice首先对其进行哈希操作,再基于其哈希值使用私钥对其加密,生成密文,并将此密文发送给Bob。
b. Bob选择随机数作为私钥。对于每一个数据y,Bob首先对其进行哈希操作,再基于其哈希值使用私钥对其加密,并将此密文发送给Alice。对于接收到Alice的密文,Bob使用私钥对其进行二次加密。
c. Alice对于接收到的密文,基于私钥对其进行二次加密
结论:若Alice和Bob拥有相同的数据,则两次加密得到的密文一致。
基于DH的PSI方案思想简单,易于实现,但也具有一定的局限性,例如:基于公钥加密实现PSI功能会产生较大的计算开销。因此,适用于数据量较小的场景。
2. 基于OT的PSI方案
在本部分,我们简述经典的基于OT的PSI方案,其流程如图3.3所示。该方案的核心思想为执行多次二选一的不经意传输协议,并结合伪随机函数,使得参与双方对于交集数据得到相同的随机数。
基于OT的PSI方案主要分为以下3个步骤:
3.基于OPRF的PSI方案
预备知识
不经意伪随机函数(Oblivious Pseudorandom Function, OPRF)[5]属于不经意传输的扩展协议,它允许执行少量的基础OT,通过轻量级的对称加密来实现大量的OT实例。OPRF的功能如下图所示。
Alice生成伪随机函数的密钥k,可基于k获得本方数据x的伪随机函数值。Bob以本方数据y作为OPRF协议的输入,协议执行完成后,Bob可得到y的伪随机函数值,但无法获得关于k的任何信息。
方案详解
在本部分,我们简述基于OPRF的PSI方案,其总体流程如上图所示。为便于阐述,我们将Alice作为数据拥有者,记为DO(Data Owner);Bob作为请求者,记为Re(Requester)。
我们将基于OPRF的PSI方案分为以下步骤进行阐述: