前沿技术|张磊:RR22 Blazing Fast PSI 实现介绍

“隐语”是开源的可信隐私计算框架,内置 MPC、TEE、同态等多种密态计算虚拟设备供灵活选择,提供丰富的联邦学习算法和差分隐私机制

开源项目

github.com/secretflow

gitee.com/secretflow

11月25日,「隐语开源社区 Meetup·西安站」顺利举办,本文为大家带来的是蚂蚁集团安全协议团队技术专家 张磊 在本次活动中的精彩演讲回顾——《RR22 Blazing Fast PSI 实现介绍》。

👉 戳我查看现场视频:直播视频

本次活动更多分享实录可点击这里查看

大家好,我是蚂蚁安全协议团队的开发人员张磊,很高兴跟大家分享一下隐语 PSI 方面的进展。今天介绍的内容主要分成四部分:

  • PSI 简介
  • Blazing Fast PSI 简介和性能概览
  • Blazing Fast PSI 原理介绍
  • 隐语 Easy PSI 实现 Blazing Fast PSI 介绍

PSI 简介

PSI 是一种特殊的 MPC 协议,由两方或者多方参与的协议,每方有相应的数据集合,参与方通过执行 PSI 协议得到交集结果,不会泄露交集外的其他信息。

PSI 有多种分类方式:

  • 按参与方可以分成两方 PSI 和多方 PSI
  • 按数据量级可以分成平衡 PSI 和非平衡 PSI
  • 按安全模型可以分成半诚实 PSI 和恶意 PSI

PSI 也有很多的应用场景,比如联合风控、联合营销、黑名单查询、多要素核验、样本对齐。示例图中是双方通过执行 PSI 协议得到一个黑名单的信息,便于做安全方面的审核。

Blazing Fast PSI 简介和性能概览

为了对单方两个集合求交的性能有个参考,我们使用了大模型来生成千万规模集合求的代码。整体的框架:首先产生两个随机数据集,然后利用编程语言的特性进行求交,最后输出运行时间和求交结果。当数据规模达到 1677 万时,求交所需时间大约为 5~10s。请注意,这些代码是通过大模型产生的,仅代表了一般的情况。我们以这个运行时间作为参考值,以便与后面介绍的 PSI 算法的运行时间进行对比。

我们特定 2^24 大小的数据集进行求交,可以观察到 Blazing Fast PSI 的性能已经基本与明文下的性能一致。

从上图中,可以看到:

  • KKRT 算法的运行时间较短,但通信量较大。
  • Ecdh 算法的运行时间较长,但带宽较低。
  • Blazing Fast PSI 位于右下角的位置,即它在时间和通信量方面都具有较大的优势,能够满足不同场景下业务的应用需求。

这是一个带宽分析,可以看出 Blazing Fast PSI 相对于其他 PSI 算法所需的通信量更少。

Blazing Fast PSI 原理介绍

从论文的题目可以看出,Blazing Fast PSI 由两个组件组成:OKVS 和 VOLE。通过构建这两个组件,我们可以实现一个相对快速的 Blazing Fast PSI。OKVS 包含两个算法,Encode 和 Decode:

  • Encode:通过 K向量和 V 向量求得对象P,特别的是在一些线性情况,对象P 是一个向量。
  • Decode:则是当 key 在 Encode 集合时,能得到对应的 value,当 key 不在 Encode 集合时得到相对随机的值。

OKVS 有多种实现方式,包括了 2-cuckoo hash,3-cuckoo hash 和多项式插值等方式。在多项式插值实现下,Encode 会产生一个多项式P及其系数。在 Encode 过程中,需要将 向量K 放入多项式中,也可以理解为对右下角矩阵的形式,然后对多元线性方程求解,计算多项式P的系数(P1,...,Pn)。

而在 [RR22] 中,OKVS 则是通过cuckoo哈希将 key 映射到 随机矩阵H 中(weight 选择为3时,性能最佳),然后通过三角化、后向传播等方法求解 向量P,使得 H · P = V。

[RR22] 还设计了一种称为 Clustering 的优化方法:将系数矩阵分块,使得权重相对聚集在某一部分,例如:第一块的权重主要集中在前半部分。这样每个 Clustering 可以单独进行相应的三角化,并支持多线程并行处理。同时,根据论文分析选取 Clustering 参数为 2^14时,性能达到最优。

有了 OKVS 组件之后,可以构造一个“简单”的 PSI 协议。发送方可以使用 Encode 算法对 向量X 和 向量H(X) 进行处理得到 向量P,并把 向量P 发送给接收方;接收方使用 向量Y 和 Decode 算法能得到 向量V,然后将 向量V 发送给发送方。最后,发送方通过比较向量 H(X) 和 向量V,可以计算出它们的交集。然而,这样的方案不能抵御穷举攻击,换而言之,需要一些密码组件来保护 OKVS。

这引出了下一个组件 VOLE。VOLE 也是一种双方协议,通过执行该协议,左侧的一方会得到 向量A 和 向量B,右侧的一方会得到\Delta和 向量C,同时,它们还满足 C = \Delta \cdot A + B 的关系。需要注意的是,向量A 是属于域F_p,当F_p = F_q时,称之为 VOLE 关系;而当F_p \subset F_q 时,又称之为 subfield-VOLE 关系。同时,这两种 VOLE 也对应了 PSI 中的两种使用模式,分别为快速模式和低带宽模式。

VOLE 的构造协议比较高效。主流的构造主要分为了三步:首先,通过Base VOLE协议得到少量的 VOLE;然后,通过 Multi-Point VOLE 协议得到“稀疏”的 VOLE 关系,如图中所示,向量e 是稀疏的;最后,通过 LPN/Dual-LPN,对“稀疏”的 VOLE 关系进行处理,使其变成均匀随机的 VOLE 关系。

有了 VOLE 组件之后,可以用其保护 OKVS。首先,发送方使用 VOLE 中的 向量A' 对 OKVS 中的 向量P 进行掩盖,并发送给接收方。接收方使用 VOLE 中的 △ 和 向量B,计算出 向量K,并使用 向量K 和 向量Y 进行 Decode,然后把 Decode 的结果 向量Y' 发给发送方。最后,发送方通过对比 向量X' 和 向量Y' 得到交集。

在这个基础方案上可以引申出两个两种模式,一种是快速模式,一种是低带宽模式。

快速模式,是在构造 OKVS 过程中,使用了 Clustering 技术,提升运行效率。而在低带宽模式下,则是是用了 subfield VOLE 技术,从而将低向量的通信量从 157n 降低到 79n。

未来规划

目前我们已经实现了 Blazing Fast PSI,并且性能与 VisaResearch/volepsi 中的性能基本一致,并支持了 Fast 和 LowComm 两种模式。

最后,简单介绍一下我们的未来规划。我们计划基于 OKVS+VOLE 实现高效的 2 方恶意 PSI、2 方 Circuit PSI、多方PSI、PSU 等。

以上就是我今天的全部分享,谢谢大家!

🌟 关注「隐语Secretflow」B 站, 获取更多演讲回顾及相关资讯

  🏠 隐语社区:

github.com/secretflow

gitee.com/secretflow

www.secretflow.org.cn (官网)

👇 欢迎关注:

公众号:隐语小剧场

B站:隐语secretflow 

邮箱:secretflow-contact@service.alipay.com

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

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

相关文章

精通TypeScript:打造一个炫酷的天气预报插件

前言 ​ 随着数字化和信息化的发展,数据大屏使用越来越广泛,我们不仅需要展示数据,更需要以一种更加美观的方式展示数据。这就必然需要使用到各种图表组件,比如柱状图、饼图、折线图等等。但是有一些效果不太适合通过这种常规图表…

汽车发动机市场调研:预计2029年将达到642亿美元

过去汽车发动机行业快速发展,很多产品都出现供不应求,甚至加价销售的状况,而随着产能过剩、需求下滑,未来汽车发动机行业的价格竞争将愈发激烈,形成新的供需矛盾。根据动力源类型,汽车可分类为传统燃油汽车…

基于物理的AlGaN/GaN HEMT器件2DEG电荷密度分析模型(文献阅读)

标题:A Physics-Based Analytical Model for 2DEG Charge Density in AlGaN/GaN HEMT Devices (IEEE TRANSACTIONS ON ELECTRON DEVICES) 重要公式 2DEG电荷密度建模的困难源于量子阱中Ef随ns的复杂变化。此关系由给出 n s D V t h [ l n ( l e E f − E 0 V t …

手机显示此应用专为旧版android打造,因此可能无法运行,点击应用后闪退的问题解决方案

如果您在尝试安装并运行一个Android应用(APK文件)时遇到错误消息“此应用专为旧版Android打造, 因此可能无法运行”,或者应用在启动时立即崩溃,以下是一些您可以尝试的解决步骤: 图片来源:手机显示此应用专…

【Redis】深入理解 Redis 常用数据类型源码及底层实现(1.结构与源码概述)

在文章【Redis】不卡壳的 Redis 学习之路:从十大数据类型开始入手中我们介绍了Redis常用的10大数据类型,这10大数据类型可并不是直接在底层通过代码实现的,而是通过不同的底层数据结构组合起来的,这篇我们介绍下Redis常用数据类型…

124.(leaflet篇)leaflet禁止地图移动,缩放,双击

地图之家总目录(订阅之前必须详细了解该博客) 完整代码工程包下载,运行如有问题,可“私信”博主。效果如下所示: 下面献上完整代码,代码重要位置会做相应解释 <!DOCTYPE html> <html>

【sqli靶场】第四关和第五关通关思路

目录 前言 一、sqli靶场第四关 1.1 判断注入类型 1.2 观察报错 1.3 判断数据表中的列数 1.4 使用union联合查询 1.5 使用group_concat()函数 二、sqli靶场第五关 2.1 判断注入类型 2.2 使用extractvalue函数报错 2.3 爆出数据库中的表名 2.4 爆出users表中的列名 2.5 爆出use…

ORCLE APEX和EBS集成的2个小问题

from跳转后&#xff0c;没有跳转到指定页 从EBS菜单跳转登录后&#xff0c;没有跳转到APEX的指定页&#xff0c; 原因&#xff1a;再USER_INTERFACE定义的地方&#xff0c;HOME URL 被设置成了固定值 0&#xff0c;如上图 解决方法&#xff1a;定义APP级别的ITEM,在自动登录的…

以企业架构为中心的SABOE数字化转型五环法

文章目录 01 传统企业数字化转型面临诸多挑战02 SABOE数字化转型五环法为企业转型破除迷雾 01 传统企业数字化转型面临诸多挑战 即将过去的2023年&#xff0c;chatGPT大模型、数据资产入表等事件的发生&#xff0c;标志着数字经济正在加速发展。数字经济是人类社会继农业经济、…

Android 蓝牙BluetoothAdapter 相关(一)

Android 蓝牙相关 本文主要讲述android 蓝牙的简单使用. 1: 是否支持蓝牙 /*** 是否支持蓝牙** return*/ private boolean isSupportBluetooth() {BluetoothAdapter bluetoothAdapter BluetoothAdapter.getDefaultAdapter();return bluetoothAdapter ! null; }2: 开启蓝牙 …

【玩转TableAgent数据智能分析】利用TableAgent进行教育数据分析

文章目录 前言九章云极&#xff08;DataCanvas&#xff09;介绍前期准备样例数据集体验1. 样例数据集-Airbnb民宿价格&评价 体验1.1 体验一1.2 体验二 教育数据的分析&#xff08;TableAgent&ChatGLM对比&#xff09;1. 上传文件2. 数据分析与对比2.1 分析一2.1.1 Tabl…

软路由R4S+iStoreOS如何实现公网远程桌面本地电脑

&#x1f308;个人主页&#xff1a;聆风吟 &#x1f525;系列专栏&#xff1a;数据结构、Cpolar杂谈 &#x1f516;少年有梦不应止于心动&#xff0c;更要付诸行动。 文章目录 一. 简介1.1 软路由的定义1.2 使用软路由的好处1.3 常用组网 二. 配置远程桌面公网地址三. 家中使用…