【隐私计算笔谈】MPC系列专题(十):安全多方计算下的集合运算

隐私,计算,笔谈,mpc,系列,专题,安全,多方,集合,运算 · 浏览次数 : 195

小编点评

**隐私保护集合交协议 (PSI)** PSI 是一种安全多方计算技术,用于在不泄露参与者的隐私信息的前提下完成目标函数的计算。 **基本原理** PSI 采用布谷鸟哈希(Cuckoo Hashing)技术,将参与者的隐私信息编码进哈希值。哈希值是随机选择的,使得不同的参与者得到不同的哈希值,从而无法通过哈希值推断出参与者的隐私信息。 **流程** 1. **布谷鸟哈希:**选择三个哈希函数,将每个参与者的隐私信息编码进哈希值。 2. **OPRF:**使用OPRF函数将输入映射成一个伪随机数。 3. **循环迭代:**对每个参与者执行OPRF,并将所有哈希值和伪随机数组合起来,形成一个交集。 4. **发送交集:**发送交集给其他参与者,其中包含参与者的隐私信息。 **优点** * 不需要分享参与者的隐私信息。 * 抵抗攻击者通过哈希值推断出参与者的隐私信息。 * 可扩展性好,可以处理大型的参与者集合。 **缺点** * OPRF 算法可能会缓慢,特别是在参与者数量较少的情况下。 * 攻击者可以针对 OPRF 算法进行攻击,以确定参与者的隐私信息。

正文

学习&转载文章:【隐私计算笔谈】MPC系列专题(十):安全多方计算下的集合运算

集合运算

集合可以通俗地描述为确定的一堆东西。如有一个集合\(𝐴\),一个元素\(𝑐\)要么属于集合\(𝐴\),记做\(𝑐\in 𝐴\);要么不属于集合\(𝐴\),记做\(𝑐∉𝐴\),元素\(𝑐\)不能既属于集合\(𝐴\)又不属于\(𝐴\)

集合的并集是对两个集合中的所有元素进行合并,并集运算的符号为\(∪\)集合的交集是取这两个集合中的公共元素,交集运算的符号为\(∩\)

假设有两个集合\(𝐴={1,2,3,4} , 𝐵={1,4,7,9}\)。集合\(𝐴\)\(𝐵\)中的公共元素为\(1,4\)。若集合\(𝐴\)和集合\(𝐵\)进行并集运算,则结果为\(𝐶=𝐴∪𝐵 = {1,2,3,4,7,9}\)

图片

若集合\(𝐴\)和集合\(𝐵\)进行交集运算,则结果为\(𝐶={1,4}\)

图片

PSI

安全多方计算的目标是在不泄露各个参与者隐私信息的前提下完成目标函数的计算隐私保护集合交运算(Private Set Intersection,PSI可以看成是以参与者各自的隐私信息为集合,目标函数所实现的功能为集合交的安全多方计算。

隐私保护集合交的应用有通讯录匹配,如现在很多手机应用可以通过手机通讯录查找同样使用这个软件的好友,如聊天软件、具有社交属性的游戏等,用户肯定不希望自己的通讯录中的所有联系人都被软件所得知,软件则掌握有所有注册用户的手机号。

因此可以通过隐私保护集合交,计算软件注册用户手机号集合和用户自己的通讯录的交集,来寻找到同样使用该软件的好友,又不会泄露各自所掌握的手机号信息

图片

本次要介绍的隐私保护集合交协议是Pinkas-Schneider-Segev-Zohner (PSSZ)【Phasing: Private Set Intersection using Permutation-based Hashing-2015】 ,其基于不经意伪随机数函数OPRF(Oblivious Pseudo-random Function)来构造PSI。

首先介绍一下布谷鸟哈希(Cuckoo Hashing):

布谷鸟哈希需要\(𝑏\)个普通箱子和\(1\)个贮存区,以及\(𝑛\)个元素,将这\(𝑏\)个空箱用\(𝐵(1),…,𝐵(𝑏)\)表示。还需要三个哈希函数,记为\(ℎ1(𝑥),ℎ2(𝑥),ℎ3(𝑥)\),这三个哈希函数是将一个比特串映射到\(1,2,…,𝑏\)之间。

图片

首先对这\(𝑏\)个空箱进行初始化,之后使用哈希函数\(ℎ1(𝑥),ℎ2(𝑥),ℎ3(𝑥)\)计算元素\(𝑥\)的哈希值,检查\(𝐵(ℎ1(𝑥)),𝐵(ℎ2(𝑥)),𝐵(ℎ3(𝑥))\)这三个箱子是否是空箱子, 如果这三个箱子中至少有一个箱子是空箱子,就把\(𝑥\)放到这个空箱子中。

如果这三个箱子都已经有元素放入了,就随机选择\(𝐵(ℎ1(𝑥)),𝐵(ℎ2(𝑥)),𝐵(ℎ3(𝑥))\)这三个箱子中的一个\(𝐵(ℎ𝑖(𝑥)),𝑖∈{1,2,3}\),用\(𝑥\)替换箱子\(𝐵(ℎ𝑖(𝑥))\)里面原来装的元素\(𝑥′\)

图片

接着计算\(𝑥′\)的哈希值并检查箱子\(𝐵(ℎ1(𝑥′)),𝐵(ℎ2(𝑥′)), 𝐵(ℎ3(𝑥′))\)中是否都有空箱子,有一个空箱子则把\(𝑥\)放入其中,否则在\(𝐵(ℎ1(𝑥′)),𝐵(ℎ2(𝑥′)), 𝐵(ℎ3(𝑥′))\)中随机选择一个替换其中的元素,如此开始迭代。需要预先设定一个最大迭代次数\(𝑘\),如果迭代次数超过了\(𝑘\)就把最后被替换出来的元素放入到贮存区,贮存区最多可放入\(𝑠\)个元素,箱子最多可放入1个元素。

下面使用布谷鸟哈希进行PSI

两个参与者Alice的输入集合为\(𝑋\),Bob的输入集合为\(𝑌\),集合\(𝑋\)和集合\(𝑌\)中都只有\(𝑛\)个元素。两人首先为布谷鸟哈希选择三个哈希函数\(ℎ1(𝑥),ℎ2(𝑥),ℎ3(𝑥)\)。设置的箱子数量为\(1.2𝑛\),贮存区的大小为\(𝑠\)

Bob对其的集合\(𝑌\)中的每个元素执行布谷鸟哈希。执行完毕之后,Bob的每个箱子中最多只有一个元素,这是箱子的大小限制的,贮存区最多有\(𝑠\)个元素。由于箱子的数量为\(1.2𝑛\),集合𝑌中只有\(n\)个元素,因此此时必定有箱子是空的。

之后Bob产生随机元素,用随机元素填满所有的箱子和贮存区,使得每个箱子里都有一个元素,贮存区中有\(𝑠\)个元素。

OPRF的介绍

不经意伪随机数函数OPRF可以通过\(𝑘𝑖\)将输入映射成一个伪随机数,任意给一个随机数\(𝑟1\)和一个由输入映射成的伪随机数\(𝑟2\),攻击者无法区分出输入映射成的是\(𝑟1\)还是\(𝑟2\)。所需要使用的OPRF函数双方已经事先商议好了。

Bob在用随机元素填满所有的箱子和贮存区后,和Alice间进行\(1.2𝑛+𝑠\)次的OPRF。用\(𝑦𝑖\)表示Bob第\(𝑖\)个箱子中的元素,用\(𝑦1.2𝑛+𝑗\)表示贮存区中的第\(𝑗\)个元素。

因此在\(1.2𝑛+𝑠\)次的OPRF结束后,Bob会掌握\(𝐹(𝑘𝑖,𝑦𝑖), 𝑖∈[1,1.2𝑛+𝑠]\)

Alice则可以根据任意的\(𝑖\)计算:

\(𝐻={𝐹(𝑘ℎz(𝑥𝑖),𝑥𝑖)|𝑥𝑖∈𝑋,𝑧∈{1,2,3}},𝑆={𝐹(𝑘1.2𝑛+𝑗,𝑥1.2𝑛+𝑗)|𝑥1.2𝑛+𝑗∈𝑋,𝑗∈ {1,…,𝑠}}\)

并打乱𝐻和𝑆中的数据顺序。Alice将\(𝐻\)\(𝑆\)发送给Bob,Bob将\(𝐻\)\(𝑆\)中的值与他自己在箱子和贮存区中的\(𝐹(𝑘𝑖,𝑦𝑖), 𝑖∈[1,1.2𝑛+𝑠]\)进行对比,如果Bob的\(𝑦𝑖\)对应的OPRF值\(𝐹(𝑘𝑖,𝑦𝑖)\)\(𝐻\)或者\(𝑆\)中,那么就说明元素\(𝑦𝑖\)属于Alice和Bob的集合交集。

Alice的集合\(𝑋\)中的每个元素\(𝑥𝑖\)都被\(𝐹(𝑘ℎz(𝑥𝑖),𝑥𝑖)\)映射成了一个伪随机数,若Bob的集合\(𝑌\)中有和Alice集合相同的元素,假设\(𝑦*m*=𝑥𝑛\),那么有\(𝐹(𝑘ℎz(𝑥𝑖),𝑦𝑖)= 𝐹(𝑘ℎz(𝑥𝑖),𝑥𝑖)\),因此Bob能够通过Alice发来的\(𝐻\)\(𝑆\),在其中找到二者集合的交集元素,而无法知道Alice掌握的集合本身。

总结一下:就是双方将各自数据藏在了OPRF中,对比OPRF值进而求出交集。

与【隐私计算笔谈】MPC系列专题(十):安全多方计算下的集合运算相似的内容:

【隐私计算笔谈】MPC系列专题(十):安全多方计算下的集合运算

学习&转载文章:【隐私计算笔谈】MPC系列专题(十):安全多方计算下的集合运算 集合运算 集合可以通俗地描述为确定的一堆东西。如有一个集合$𝐴$,一个元素$𝑐$要么属于集合$𝐴$,记做$𝑐\in 𝐴$;要么不属于集合$𝐴$,记做$𝑐∉𝐴$,元素$𝑐$不能既属于集合$𝐴$又不属于$

MPC:百万富翁问题

学习文章:“一起学MPC:(一)百万富翁问题”和“【隐私计算笔谈】MPC系列专题(一):安全多方计算应用场景一览” 百万富翁问题 将问题具体化: Alice有$i$亿元,Bob有$j$亿元,为方便描述,我们限定$0

比特比较

学习&&转载文章: 【隐私计算笔谈】MPC系列专题(二):模型和Shamir秘密共享机制 【隐私计算笔谈】MPC系列专题(十一):共享随机数和比特分享 【隐私计算笔谈】MPC系列专题(十二):比特比较 【隐私计算笔谈】MPC系列专题(十三):比特分解【这部分没看懂,欢迎交流~】 通过共享随机数来实现

面试日记 | 移动咪咕

> 2023年校招,前沿技术规划 ## 笔试 移动校招统一笔试 ## 一面 > 群面,上午 + 逐个自我介绍 + 提问,逐个回答 + 最讨厌的人 + 比较关注的前言技术 + 抢答 + 近期做过的自豪的事 ## 二面 > 单人,下午 + 自我介绍 + 介绍一下隐私计算 + 介绍一下对元宇宙的理解 +

隐私计算在智能城市建设中的应用:平衡公共安全与个人隐私

PrimiHub一款由密码学专家团队打造的开源隐私计算平台,专注于分享数据安全、密码学、联邦学习、同态加密等隐私计算领域的技术和内容。 随着智能城市建设的快速推进,各种数据采集技术和设备在城市管理中的应用越来越广泛。这些技术和设备在提升城市管理效率、优化资源分配和提高公共安全方面发挥着重要作用。然而

面试日记|同盾

隐私计算算法工程师助理 公司介绍 官网:地址 同盾科技是以大数据,云计算和人工智能为基础的智能决策与分析大数据&AI公司,我们服务金融,政企,互联网,物流等行业 目前融资到D+轮,现有员工近1300人,总部在杭州,北上广深成都,西安新加坡等地有分支机构 面试问题 1、自我介绍 2、介绍一下发表的论文

隐私计算之多方安全计算(MPC,Secure Multi-Party Computation)

如今,组织在收集、存储敏感的个人信息以及在外部环境(例如云​​)中处理、共享个人信息时, 越来越关注数据安全。这是遵守隐私法规的强需求:例如美国加利福尼亚州消费者隐私法 (CCPA)、欧盟通用数据保护条例 (GDPR) 和世界各地的其他新兴法规,以及中国的《数安法》《个保法》等,都对安全处理敏感数据提出了要求。

《隐私计算白皮书(2022年)》概览

2022年12月28日,由中国信息通信研究院、中国通信标准化协会指导,隐私计算联盟、中国通信标准化协会大数据技术标准推进委员会联合主办的“2022可信隐私计算峰会”在京召开。

数据库安全

学习&&转载文章:隐私计算安全基座-数据库安全 数据安全 用数据生命周期的全链路思考,可以得出如下的结论: 数据存储态安全:对数据的存储安全负责,保障数据的静存储态安全,不泄露。 数据传输态安全:对数据的转移安全负责,保障数据的转移态安全,不泄露。 数据计算态安全:对数据的动态计算的安全负责,保障数

面试日记|信雅达和银行卡中心

> 密码研发和隐私计算研发 ## MAC和Hash的区别? + MAC:消息验证码 + Hash:消息摘要/杂凑 ![image-20230314225004958](https://markdown-1259209976.cos.ap-beijing.myqcloud.com/uPic/2023/