基于布隆过滤器的隐私集合交集方法、设备及存储介质技术

技术编号:33352350 阅读:31 留言:0更新日期:2022-05-08 10:00
本发明专利技术属于计算机技术领域,尤其涉及基于布隆过滤器的隐私集合交集方法、设备及存储介质,本申请主要是利用布隆过滤器,可以在保证100%隐私性的前提下,达到减少隐私集合求交集的时间的目的,以及可以将集合进行上链存证并且不会泄露自身信息。对于近似的求交集,布隆过滤器本身可以极快的完成交集的求取,对于精确的求交集,布隆过滤器可以提前过滤一部分数据,有效的减少KKRT16算法的传输内容,提高求交集的效率。求交集的效率。求交集的效率。

【技术实现步骤摘要】
基于布隆过滤器的隐私集合交集方法、设备及存储介质


[0001]本专利技术属于计算机
,尤其涉及一种基于布隆过滤器的隐私集合交集方法、设备及存储介质。

技术介绍

[0002]安全多方计算是互不信任的参与方之间保护隐私的协同计算问题,最终所有的参与者都能获得最终结果,且不知道其他参与者的隐私信息。1982年Yao A C提出了安全两方计算的概念,1987年Goldreich O等人证明了多方隐私保护计算问题在理论上是可解的,并提出了通用的解决方法。其中,隐私集合交集(Private Set Intersection,PSI)作为安全多方计算的特例,受到越来越多学者的关注。隐私集合求交集是指双方在不暴露自己集合内容的前提下,求双方2个集合的交集。现有隐私集合交集协议是基于半诚实模型下保证参与者隐私信息的安全性,但是在恶意模型下执行协议时无法有效保证参与者隐私信息的安全性。基于恶意模型执行协议时,无法确认参与者与第三方是可信任的,参与者与第三方合作能将另一方信息恶意破解,参与者的隐私信息随时可能泄露,所以现有隐私集合交集协议无法有效保证在恶意模型下参与者的隐私信息不被泄露。并且现有的隐私集合交集协议对于设备的计算开销量大,例如KKRT16算法其基于布谷鸟哈希和不经意传输的隐私集合求交集算法,通过基于KKRT16算法实现的隐私集合求交集,隐私性高,但是需要用到的空间和时间成本都非常高,需要耗费比较长的时间,在区块链领域储存空间十分宝贵,且效率也一直是区块链所要提升的。

技术实现思路

[0003]为了解决上述问题,本专利技术提供一种基于布隆过滤器的隐私集合交集方法、设备及存储介质,通过布隆过滤器,实现一种可上链存证的、占用空间小、速度快的隐私集合求交集方法。
[0004]本专利技术采用以下技术方案:
[0005]第一方面,本专利技术提供一种基于布隆过滤器的隐私集合交集方法,包括:
[0006]数据发布人在本地生成布隆过滤器,并将第一集合数据插入所述布隆过滤器中完成初始化设置,将初始化后的布隆过滤器上传至区块链进行存证;所述第一集合为数据发布人对应的集合;所述第一集合为数据发布人对应的隐私集合;
[0007]数据获取人从链上获取所述布隆过滤器,将第二集合内元素依次一一通过所述布隆过滤器进行筛选,获得初筛集合;所述第二集合为数据获取人对应的隐私集合;
[0008]将所述初筛集合与第一集合通过KKRT16算法计算交集;
[0009]作为优选,数据发布人生成布隆过滤器时,根据数据量预设布隆过滤器的长度。
[0010]第二方面,提供一种计算机设备,包括一个或多个处理器;
[0011]存储器,用于存储一个或多个程序,
[0012]当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处
理器执行如上述第一方面所述的方法。
[0013]第三方面,提供一种存储有计算机程序的存储介质,该程序被处理器执行时实现如上述第一方面所述的方法。
[0014]本专利技术的有益效果在于主要是利用布隆过滤器,可以在保证100%隐私性的前提下,达到减少隐私集合求交集的时间的目的,以及可以将集合进行上链存证并且不会泄露自身信息。对于近似的求交集,布隆过滤器本身可以极快的完成交集的求取,对于精确的求交集,布隆过滤器可以提前过滤一部分数据,有效的减少KKRT16算法的传输内容,提高求交集的效率。
附图说明
[0015]图1为本专利技术一实施例提供的一种基于布隆过滤器的隐私集合交集方法的流程图;
[0016]图2为本专利技术一实施例提供的一种计算机设备的结构示意图。
具体实施方式
[0017]以下结合具体实施例和说明书附图对本专利技术作出进一步清楚详细的描述说明。本领域普通技术人员在基于这些说明的情况下将能够实现本专利技术。此外,下述说明中涉及到的本专利技术的实施例通常仅是本专利技术一部分的实施例,而不是全部的实施例。因此,基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。如无特殊说明,本专利技术实施例所简述的方法均为本领域技术人员所掌握的方法。
[0018]图1为本专利技术一实施例提供的一种基于布隆过滤器的隐私集合交集方法的流程图。
[0019]如图1所示,本实施例提供一种基于布隆过滤器的隐私集合交集方法,包括:
[0020]数据发布人在本地生成布隆过滤器,并将第一集合数据插入所述布隆过滤器中完成初始化设置,将初始化后的布隆过滤器上传至区块链进行存证;所述第一集合为数据发布人对应的集合;所述第一集合为数据发布人对应的隐私集合;
[0021]数据获取人从链上获取所述布隆过滤器,将第二集合内元素依次一一通过所述布隆过滤器进行筛选,获得初筛集合;所述第二集合为数据获取人对应的隐私集合;
[0022]将所述初筛集合与第一集合通过KKRT16算法计算交集;
[0023]进一步的,数据发布人生成布隆过滤器时,根据数据量预设布隆过滤器的长度。
[0024]本申请所采用的布隆过滤器是一个hash集合,用来判断某个元素在不在集合内,与普通的hash集合不同,布隆过滤器本身不会暴露集合内元素的hash内容,并且布隆过滤器本身所占的体积非常小,适合在链上存储。本实施例中所述的方法中,首先需要数据发布人,在本地生成一个布隆过滤器,布隆过滤器的长度由需要上传的数据量决定,假设数据量是100w,只需要大概1M的长度,过滤器的误算率就可以达到2%以下,对于布隆过滤器的误算:如果一个元素在过滤器内,那么有可能实际不在元素集合内,如果一个元素不在过滤器内,那么实际一定不在元素集合内。
[0025]数据发布人将自己的数据都插入布隆过滤器f内,并将初始化完成以后的集合发送到链上,作为存证,并且可以作为别的节点提前过滤交集内容的一个方法。
[0026]需要求交集的人,将链上的f下载到本地,然后自己集合的每一个元素都判断是否在过滤器内,如果对于交集的精度没有100%的要求,就完成了交集的求取,并且两方都没有暴露自己集合的全部内容。
[0027]对于交集有100%精度要求的,可以在过滤器过滤掉一定不存在的内容之后,将剩下的元素和数据发布人单独通过KKRT16算法进行精确的隐私集合求交集,由于数据已经被布隆过滤器过滤了一遍,假设原本的集合相交度是50%,那么本次精确求交集只需要传输原本50%的数据,可以大大减少整个求交集的时间。
[0028]本申请所采用的方法的特点主要是利用布隆过滤器,可以在保证100%隐私性的前提下,达到减少隐私集合求交集的时间的目的,以及可以将集合进行上链存证并且不会泄露自身信息。对于近似的求交集,布隆过滤器本身可以极快的完成交集的求取,对于精确的求交集,布隆过滤器可以提前过滤一部分数据,有效的减少KKRT16算法的传输内容,提高求交集的效率。
[0029]图2为本发本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于布隆过滤器的隐私集合交集方法,其特征在于,所述方法包括:数据发布人在本地生成布隆过滤器,并将第一集合数据插入所述布隆过滤器中完成初始化设置,将初始化后的布隆过滤器上传至区块链进行存证;所述第一集合为数据发布人对应的集合;所述第一集合为数据发布人对应的隐私集合;数据获取人从链上获取所述布隆过滤器,将第二集合内元素依次一一通过所述布隆过滤器进行筛选,获得初筛集合;所述第二集合为数据获取人对应的隐私集合;将所述初筛集合与第一集合通过KKRT1...

【专利技术属性】
技术研发人员:楼家辉王志文吴思进
申请(专利权)人:杭州复杂美科技有限公司
类型:发明
国别省市:

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

1