一种基于布隆过滤器及哈希的高效非平衡PSI制造技术

技术编号:38090346 阅读:11 留言:0更新日期:2023-07-06 09:01
本发明专利技术提供本发明专利技术提供一种基于布隆过滤器及哈希的高效非平衡PSI,在PSI计算过程中,用布隆过滤器先对大数据集进行一轮筛选来降低整体的复杂度;包括大数据集一方将布隆过滤器参数发送给小数据集一方的步骤;小数据集一方根据自身数据集,计算数据集在布隆过滤器中比特位需要置1的索引集,并将所述的索引集发送给大数据集一方的步骤;大数据集一方根据布隆过滤器参数以及小数据集一方的索引集初始化布隆过滤器的步骤;大数据集一方使用布隆过滤器进行筛选,筛选得到自身数据集中有可能在隐私交集的一个元素集合,这个筛选后的集合,作为新的后续求隐私交集的隐私数据集合;非平衡场景下,相比原本基于哈希及半诚实第三方的PSI效率大提高。PSI效率大提高。PSI效率大提高。

【技术实现步骤摘要】
一种基于布隆过滤器及哈希的高效非平衡PSI


[0001]本专利技术涉及一种基于布隆过滤器及哈希的高效非平衡PSI。

技术介绍

[0002]PSI求隐私交集是多方计算中的一种,也是研究得非常深入的一种多方计算场景。最早的基于公钥模幂计算的PSI算法计算消耗大,并不实用。随着目前计算机性能越来越高,相关算法也不断提高发展,性能得到巨大提升。已经在现实生活中有了实际应用。比如微软的Edge浏览器中个人密码泄露的应用,就是使用了基于同态加密的PSI算法。此外,在社交网络中,也可以用来在两个人之间比较共同好友的时候,保护双方完整的好友信息不被泄露。此外PSI还可以用在僵尸网络发现、相似性检测、基因检测等等,实际应用价值潜力巨大。
[0003]近期发展迅速的用来保护用户隐私的联邦机器学习,也使用了PSI算法来做联邦学习参与方之间的训练样本对齐。
[0004]隐私集合求交(PSI)涉及到以下概念:1.哈希算法也称散列函数, 是把任意长度的输入变换成固定长度输出的一种函数,哈希算法一般可以用来提高存储空间的利用率,提高数据的查询效率。密码学中也可以用做数字签名以及数据的唯一摘要,来保障数据传递的安全性。密码学中的哈希函数是不可逆的,即通过输入,可以轻松计算输出,反过来通过输出则不可以计算得到输入。此外,哈希函数还有确定性的性质,即输入确定的时候,输出也是确定的。
[0005]2.PSIPSI是private set intersection(隐私集合求交)的简称,两个或多个实体之间,每个实体都有一个隐私的数据集合,这些实体希望计算求得所有实体之间的共同交集,但又不希望泄露各自隐私集合的内容给对方。PSI就是实现这类需求的一项技术,实现PSI的途径多种多样,可基于公钥加密,或者不经意传输等。
[0006]PSI属于多方计算中的一种,十分具有应用前景,如隐私联系人发现,基因检测等。PSI用于在两个或多个参与方之间,每个参与方都有一个隐私的数据集合,这些参与方希望计算求得所有参与方之间的共同交集,但又不希望泄露交集之外的其他内容给对方。实现PSI的途径多种多样,可基于哈希,公钥加密,同态加密,混淆电路,或者不经意传输等。
[0007]在PSI的应用中,有分为平衡PSI和非平衡PSI:在平衡PSI中,参与计算的两方的隐私数据集拥有近似的规模。
[0008]在非平衡的PSI中,参与方的隐私数据集拥有不同的数据集规模,往往有上百倍的规模差。
[0009]3.布隆过滤器布隆过滤器(Bloom Filter)是1970年由布隆提出的。它由一个很长的比特向量和一系列随机映射函数组成,用于检索一个元素是否在一个集合中。主要优点是空间效率和
查询时间都比一般的算法要好的多,在网络通讯传输数据时,可以用于节省通讯开销。
[0010]一个数据集的布隆过滤器通过一组哈希函数及数据集的具体元素值,来初始化它的比特向量。这一组哈希函数,又可以用来检测一个元素是否在这个数据集中。检测时,检查这个元素通过哈希生成的索引位置的比特向量位置的比特值是否全部为1。
[0011]4.半诚实安全模型多方计算中,一种通用的多方安全计算安全模型,在半诚实模型中,攻击者会严格遵守多方计算的协议流程,但它会好奇其他参与方的隐私数据,试图通过接收到的中间数据还原其他参与方的隐私数据。
[0012]目前,隐私集合求交(PSI)现有技术:(1)基于哈希的PSI:通过计算双方原始数据的哈希值,双方进行交换比较,并进一步得出隐私交集。此种方法比较简单直接,同时效率也是最快的。但存在安全性问题,因为用来做交集匹配的明文空间往往比较有限,比如身份证,手机号等。交互的双方通过对方的隐私数据哈希值,通过穷举爆破的方法,可以很容易推导出原始数据。
[0013]基于哈希的PSI的安全问题,可以通过引入一个半诚实第三方来解决。通过PSI参与方之间协商个共享密钥作为HMAC的key,并计算hmac哈希值,交由第三方求PSI哈希值,并返回给参与方还原最终PSI。由于第三方无法获知HMAC的key,也就无法通过穷举爆破来进行攻击。
[0014]半诚实安全模型下,通过引入第三方的基于哈希的PSI虽然可以在保留哈希PSI效率的情况下,解决安全问题,但是在非平衡的情况下,计算和通信复杂度还是与大数据集合的大小成线性关系,对于数据集合较小的参与方,整体效率依然低。
[0015](2)基于公钥计算的PSI:早期的PSI算法一般都是基于某一类流行的公钥密码算法,如基于RSA,离散对数等,但这一类的算法,往往涉及大整数的模幂运算,因而通常效率较慢,在双方数据集较大的情况下,效率比较低。总之,需要大量公钥的模幂运算,计算消耗大,效率很慢。
[0016](3)基于OT的:这一类算法基于OT(不经意传输),可以以少量的公钥计算和对称加密计算构造一对多的高效OT组,并进行高效的PSI算法。
[0017](4)基于混淆电路:混淆电路最早由姚期智提出来解决百万富翁问题,是一个通用的安全多方计算框架,可以用来将任意计算转化为布尔计算后再运行安全多方计算,其性能近年来得到显著的发展,可以将PSI的计算转化为混淆电路安全多方计算。
[0018](5)基于同态加密:基于同态加密的PSI,微软将此技术用于解决双方数据集规模相差较大的密码泄露检查的场景。此类PSI技术通过将PSI的计算转换成多项式计算,并进一步使用同态算法加密,以保护交互双方的数据集隐私。
[0019]后面这三种方法的PSI虽然减少了公钥计算,性能较基于公钥计算的PSI有较大提升,也有针对非平衡场景隐私求交的高效方案,但性能仍然无法与基于哈希的PSI方法比拟。
[0020]另一方面,目前基于半诚实第三方的哈希PSI,数据集大的一方需要计算大集合中所有元素的哈希值并进行传输,整体计算复杂度和通讯复杂度与大数据集大小成线性关系。同时第三方计算两方哈希值的计算复杂度也与大数据集的大小成线性关系。

技术实现思路

[0021]为了优化非平衡情况下,解决基于哈希及半诚实第三方的PSI效率问题,本专利技术提供一种基于布隆过滤器及哈希的高效非平衡PSI。
[0022]为了实现上述目的,本专利技术提供一种基于布隆过滤器及哈希的高效非平衡PSI,包括数据集大的B方和数据集小的A方; PSI计算方法包括以下步骤:S1、B方将布隆过滤器参数发送给A方;S2、A方根据自身数据集,计算数据集在布隆过滤器中比特位需要置1的索引集,并将所述的索引集发送给B方;S3、B方根据布隆过滤器参数以及B方的索引集初始化布隆过滤器;S4、B方使用布隆过滤器进行筛选,筛选得到自身数据集中有可能在隐私交集的一个元素集合,这个筛选后的集合,作为新的后续求隐私交集的隐私数据集合;S5、A方和B方各自通过哈希算法计算自己隐私数据集中每个数据加入盐值后的哈希值并保存;S6、A方和B方各自将保存的所述哈希值传输给半诚实的第三方;S7、所述半诚实的第三方将双方各自的所述哈希值进行比较,从双方的哈希值集合中,筛选出值本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于布隆过滤器及哈希的高效非平衡PSI,包括数据集大的B方和数据集小的A方;其特征在于:PSI计算方法包括以下步骤:S1、B方将布隆过滤器参数发送给A方;S2、A方根据自身数据集,计算数据集在布隆过滤器中比特位需要置1的索引集,并将所述的索引集发送给B方;S3、B方根据布隆过滤器参数以及A方的索引集初始化布隆过滤器;S4、B方使用布隆过滤器进行筛选,筛选得到自身数据集中有可能在隐私交集的一个元素集合,这个筛选后的集合,作为新的后续求隐私交集的隐私数据集合;S5、A方和B方各自通过哈希算法计算自己隐私数据集中每个数据加入盐值后的哈希值并保存;S6、A方和B方各自将保存的所述哈希值传输给半诚实的第三方;S7、所述半诚实的第三方将双方各自的所述哈希值进行比较,从双方的哈希值集合中,筛选出值相等的哈希值,并将这些筛选出值相等的所述哈希值发送给参与PSI计算的双方;S8、A方和B方接收到第三方发送过来的筛选后的所述值相等的哈希值后,分别与本地保存的哈希值做一个比较,将与第三方转发的哈希值相等的本地哈希值对应的原始数据输出,作为PSI算法的最终输出。2.根据权利要求1所述的基于布隆过滤器及哈希的高效非平衡PSI,其特征在于:在步骤S1之前还包括...

【专利技术属性】
技术研发人员:谈扬
申请(专利权)人:深圳前海新心数字科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1