【密码学】【安全多方计算】浅析隐私求交PSI

文章目录

    • 隐私求交的定义
    • 隐私求交方案介绍
      • 1. 基于DH的PSI方案
      • 2. 基于OT的PSI方案
      • 3.基于OPRF的PSI方案
    • 总结

隐私求交的定义

隐私集合求交使得持有数据参与方通过计算得到集合的交集数据,而不泄露任何交集以外的数据信息。

隐私求交方案介绍

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个步骤:

  1. Alice生成随机数w;Bob生成随机数,并基于与本方数据的伪随机函数值生成.
  2. Alice与Bob基于w和执行次二选一的不经意传输,其中为的长度。
    Alice基于多次不经意传输结果生成q,Bob计算的哈希值。
  3. Alice计算本方数据的随机值。
    结论:若Alice和Bob拥有相同的数据,则两份数据得到相同的随机值
    我们以两种极端情况论述方案的正确性:
    在这里插入图片描述
    基于OT的PSI方案规避了大量的公钥加密,使用效率更高的对称加密完成大部分操作,但通信开销较大,适用于数据量较大的场景。
    经典的基于OT的PSI方案仍具有很大的计算开销及通信开销,但是OT的扩展协议为构建高效的PSI方案提供了理论支撑。在3.3中,我们以OPRF为例,介绍基于OT扩展协议的高效PSI方案。

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方案分为以下步骤进行阐述:

  1. 请求者将数据映射为,映射过程如上图所示。首先,请求者随机生成m行w列的二进制矩阵A,其中m为数据集大小。对于每个数据,请求者计算其伪随机函数值,并将伪随机函数值与二进制矩阵A相结合,获取二进制比特串。同时,将对应位置标记为数据位(如上图中蓝色部分)。然后,基于二进制比特串执行哈希操作,得到数据映射值。
    在这里插入图片描述
  2. 请求者生成矩阵B。请求者生成一个m行w列的全1矩阵D,将第1步标记的数据位部分置为0。然后,将矩阵A与矩阵D执行异或操作得到矩阵B。因此,矩阵A、B具有如下特性:矩阵A、B对于数据位的比特值相同;对于非数据位的比特值相反。这一步主要是为了二选一的不经意传输做准备。
    在这里插入图片描述
  3. 数据拥有者获得矩阵C,这一步的核心思想是请求者与数据拥有者执行w次不经意传输,其执行过程如上图所示。通过1、2步,请求者已获得A、B矩阵;在第3步,数据拥有者生成长度为w的二进制比特串。在每一次OT执行中,请求者以A、B矩阵的第i列作为输入;数据拥有者以比特串s的第i位{s[i]}作为输入。若s[i]=0,则数据拥有者得到列;若s[i]=1,则数据拥有者得到列. 最终,数据拥有者得到矩阵C。矩阵A、B、C具有如下特性:此三个矩阵对于数据为的比特值相同;而通过不经意传输,矩阵C的非数据位已被置乱。
    在这里插入图片描述
  4. 数据拥有者将数据映射为,映射过程如上图所示。对于每个数据,这一步与第1步的流程类似,其目的是为了对于参与双方的交集数据生成完全相同的随机映射值。首先,数据拥有者计算其本方数据的伪随机函数值,并将伪随机函数值与第3步得到的二进制矩阵C相结合,获取二进制比特串然后,基于二进制比特串执行哈希操作,得到数据映射值。
    在这里插入图片描述
  5. 数据拥有者将其本方所有数据映射值发给请求者,请求者对比两方数据映射值确定交集数据,而其不会获得数据拥有者的任何非交集数据信息。至此,协议完成,

总结

本文介绍了基于两方对称数据集的三种隐私集合求交方案,其中基于DH的PSI方案适用于小数据的场景;基于OT的PSI方案适用于大数据集的场景,但其依然有较大的通信开销,因此,介绍了基于OPRF的PSI方案,其在计算开销和通信开销方面均具有良好的表现。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/224844.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux查看emmc分区信息(10种方法 )

目录 ## 1 emmc ## 2 uboot查看 ## 3 kernel查看 方法1 方法2 方法3 方法4 方法5 方法6 方法7 方法8 方法9 方法10 ## 1 emmc 我们要说的是,User Data Partition中的再分区 可简化为 ## 2 uboot查看 u-boot> mmc partPartition Map for MMC device…

(Linux2.6内核)进程调度队列与切换

个人主页:Lei宝啊 愿所有美好如期而遇 我们首先来了解几个概念 1. 进程在CPU上运行的时候,一定要运行完才行吗?答案是否定的,我们大部分的操作系统,主流就是分时操作系统,即基于时间片进程轮转执行的。 …

Ubuntu18.04磁盘取证-中难度篇

涉及的镜像文件: sdb.vhd uac.tar ubuntu.20211208.mem 需要利用的工具: volatility3 volatility2.6.1 FTK/Autopsy Strings 题干 容器是一个Ubuntu Linux 蜜罐,用来观察利用 CVE-2021-41773 的漏洞攻击者想要做什么。 您将看到一个 cr…

SIT65HVD75,可替代SN65HVD75,3.0~5.5V 供电,ESD 15kV HBM,20Mbps 半双工 RS485/RS422 收发器

SIT65HVD75 是一款 3.0V~5.5V 电源供电、总线端口 ESD 保护能力 HBM 达到 15kV 以上、 总线耐压范围达到 15V 、半双工、低功耗,功能完全满足 TIA/EIA-485 标准要求的 RS-485 收发 器。 SIT65HVD75 包括一个驱动器和一个接收器,两者均可…

【Java学习笔记】72 - 满汉楼 - 餐饮管理系统

项目代码 https://github.com/yinhai1114/Java_Learning_Code/tree/main/IDEA_Chapter26 一、需求说明 满汉楼项目功能多,界面复杂,涉及到复杂的awt和swing技术和事件编程,做如下调整: 1.去掉界面和事件处理(工作中使用很少),使…

小程序如何进行版本回退

当商家决定回退小程序版本时,可能是因为新版本出现了一些问题或者不符合预期,需要恢复到之前的稳定版本。下面具体介绍怎么回退小程序的版本。 在小程序管理员后台->版本设置处,点击版本回退。确认后,小程序会回退到上一次的版…

视频封面:视频图片提取技巧,从指定时长中捕捉需求的图片

在当今的数字时代,视频已成为日常生活中不可或缺的一部分。无论是社交媒体、博客,视频都发挥着重要的作用。而一个吸引的视频封面往往能吸引更多的观众点击观看,选择清晰度高、色彩鲜艳且能吸引人的图片。同时,确保图片与视频内容…

零基础可以学编程吗,不懂英语怎么学编程,中文编程工具实例

零基础可以学编程吗,不懂英语怎么学编程,中文编程工具实例 上图是中文编程工具界面、标尺实例。 给大家分享一款中文编程工具,零基础轻松学编程,不需英语基础,编程工具可下载。 这款工具不但可以连接部分硬件&#x…

【jupyter notebook中插件 nbextensions 安装失败分析与解决方法】

文章目录 问题描述分析与解决总结 问题描述 一开始在安装 notebook 中的插件 nbextensions 时根本没有注意到版本的适配问题,都是进行默认的安装,结果安装是最新版本的 notebook7.x,恰好 notebook7.x 版本不再适应插件 nbextensions&#xf…

机器学习——多元线性回归升维

机器学习升维 升维使用sklearn库实现特征升维实现天猫年度销量预测实现中国人寿保险预测 升维 定义:将原始的数据表示从低维空间映射到高维空间。在线性回归中,升维通常是通过引入额外的特征来实现的,目的是为了更好地捕捉数据的复杂性&#…

西工大网络空间安全学院计算机系统基础实验零

首先,下载VMware17 Pro workstation。为什么要下载VMware17 Pro workstation呢?因为计算机系统基础实验有四个大部分:利用位运算实现诸如a*b,a/b,a*(2^4)等运算;C语言循环语句、switch语句等语句与汇编代码…

djangorestframework modelserializer 处理关系字段

djangorestframework modelserializer 处理关系字段 1.关系 一对一、多对一、多对多 2.drf modelserializer对关系字段的处理 modelserializer默认处理关系字段为PrimaryKeyRelatedField,默认是id-pk。 多对一:直接写入id 多对多:写入id-lis…