System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于双线性映射与布隆过滤器的三方隐私集合求交集基数方法技术_技高网

基于双线性映射与布隆过滤器的三方隐私集合求交集基数方法技术

技术编号:40268009 阅读:8 留言:0更新日期:2024-02-02 22:55
本发明专利技术涉及基于双线性映射与布隆过滤器的三方隐私集合求交集基数方法,步骤为:P<subgt;1</subgt;、P<subgt;2</subgt;与P<subgt;3</subgt;分别选取一组公钥和私钥,然后进行哈希操作,并利用生成的私钥对哈希值运算,运算后的哈希值与各自的公钥传输;P<subgt;1</subgt;、P<subgt;2</subgt;与P<subgt;3</subgt;利用哈希值构造双线性映射,P<subgt;1</subgt;与P<subgt;2</subgt;将构造的双线性映射分别插入布隆过滤器中;将两个布隆过滤器看做两个字符串,对两个字符串分别进行秘密分享操作并分发给P<subgt;3</subgt;;P<subgt;3</subgt;利用得到的秘密分享份额计算出两个字符串进行AND运算的结果,然后利用计算结果构造新的布隆过滤器,P<subgt;3</subgt;查询自己拥有的双线性映射是否存在新构造的布隆过滤器中,若存在,则三方集合交集基数增加1。本发明专利技术降低了现有方法的计算及通信复杂度,在大数据集合上表现更突出。

【技术实现步骤摘要】

本专利技术涉及基于双线性映射与布隆过滤器的三方隐私集合求交集基数方法,属于数据安全。


技术介绍

1、随着互联网、移动设备、物联网等新兴技术快速发展,大量的数据源中存在海量的数据。通过对大数据的挖掘与分析,可以发现数据中的模式和趋势,从而获得大量有价值的信息。然而,大数据中包含着较多的敏感信息,因此会带来极大的数据隐私和个人信息安全问题。除了这些数据安全问题,“数据孤岛”现象目前也较为普遍,其指不同来源的数据相互隔离,彼此之间无法互动或共享,形成了数据的孤立岛屿,严重阻碍对数据的全面深入分析。因此如何实现数据的安全流通共享,是一项亟需解决的问题。

2、隐私计算是一种新型技术,它能够实现在数据加密的状态下进行运算,从而保护数据的隐私,即实现数据的可用不可见。目前一系列的隐私数据计算方法已经被提出,安全多方计算是隐私计算中的一个重要组成部分。隐私集合求交集(private setintersection,psi)是安全多方计算中一种经典特定问题,其指在不泄露个人集合元素的前提下计算出两方或多方集合的交集元素。

3、近年来,psi的应用场景逐渐广泛,但仍难以满足一些现实需求,因此出现了很多psi的变体问题,如隐私集合求并集(private set union,psu),隐私集合求交集基数(private set intersection cardinality,psi-ca)等。psi-ca允许两方或多方计算其各自持有集合的交集大小,但是不会泄露除交集大小之外的隐私信息。目前psi-ca被广泛应用于在线广告转换率计算、基因相似度检测、联系人追踪等场景。两方psi-ca成果现在较为丰富,但这已经不满足于目前大多数的多方应用需求。多方psi-ca由于不可避免的较大通信及计算开销以及对技术与方法更为严苛的要求,并未取得较大进展。若将两方psi-ca计算方法直接扩展到多方场景,带来极大开销的同时甚至会泄露任意两方之间的集合关系或任意一方的集合信息,因此如何实现高效的多方psi-ca还亟需研究。


技术实现思路

1、针对现有技术的不足,本专利技术提供一种基于双线性映射与布隆过滤器的三方隐私集合求交集基数方法,并向设计多方psi-ca协议,提供高效求解方法,降低现有方法的计算及通信复杂度,在大数据集合上表现更突出,而且形成一个可抵抗半诚实敌手的安全三方计算框架,其包含了能够安全求交集基数的三方,三方求交集基数之后只有指定的一方会得到交集基数结果。

2、术语解释:

3、双线性映射:

4、双线性映射是一种基础密码学工具,近年被广泛应用于各种密码学方案。其定义了一个q阶加法循环群g1与一个q阶乘法循环群gt与在这两个群上的一个映射关系e:g1×g1→g2。双线性映射还满足以下三条性质:

5、(1)双线性:对于任意g1,g2∈g1,a,b∈zq,则e(ag1,bg2)=e(g1,g2)ab。

6、(2)非退化性:存在g1,g2∈g1,满足e(g1,g2)≠1g2,其中1g2是群g2上的单位元。

7、(3)可计算性:存在有效的算法,对于均可计算e(g1,g2)。

8、布隆过滤器:

9、布隆过滤器是1970年由bloom提出的一种概率型数据结构,它可以将集合中的元素利用k个哈希函数将其存储在一个长度为m的0,1字符串内,并且可用于快速检索一个元素是否在一个集合中。布隆过滤器有优越的空间效率与查询效率,但其不能对过滤器中的元素进行删除,并且具有一定的误识别率。详细步骤描述如下:

10、初始阶段,布隆过滤器的所有位置数据都为0,且有k个哈希函数hi:{0,1}*→[1,m],1≤i≤k。

11、元素插入:假设向布隆过滤器中插入元素x,先计算hi(x),后令bf[hi(x)]=1,其中1≤i≤k。

12、元素查找:假设向布隆过滤器中查找元素y,先计算hi(y)后,查询bf[hi(y)]是否为都1,其中1≤i≤k。若都为1,则元素y可能在布隆过滤器中,若有一个或多个元素为0,则元素不在布隆过滤器中。

13、秘密分享:

14、秘密分享是密码学中的一种技术,它允许将一个秘密信息分割成多个部分,并将这些部分分发给不同的参与方,只有当足够数量的参与方合作时,才能重构出完整的秘密信息,以确保信息在传输中的安全性,各参与方还可以利用这些得到的份额进行隐私保护计算,从而实现数据的可用不可见。根据解密要求的人数不同可将秘密分享分为严格秘密分享与阈值秘密分享:严格秘密分享是指解密时需要所有人一同参与解密。阈值秘密分享是指只需要满足一定人数便可以完成解密。

15、本专利技术的技术方案如下:

16、一种基于双线性映射与布隆过滤器的三方隐私集合求交集基数方法,假设p1持有隐私数据集合x={x1,x2,...,xn},p2持有隐私数据集合y={y1,y2,...,yn},p3持有隐私数据集合z={z1,z2,...,zn},三方事先约定一个q阶循环群zq,基于椭圆曲线的一个p阶加法循环群g1、一个p阶乘法循环群gt、一个群g1上的元素g、一个双线性映射e:g1×g1→gt以及一个哈希函数h:{0,1}*→g1,指定p3为获得三方交集基数的一方,具体步骤如下:

17、(1)p1、p2与p3分别选取一组公钥和私钥,然后将自己的集合元素进行哈希操作,并利用生成的私钥对哈希值进行运算,运算后的哈希值与各自的公钥进行传输;

18、(2)p1、p2与p3利用接收到的运算后的哈希值构造双线性映射,p1与p2将构造的双线性映射分别插入布隆过滤器中;

19、(3)将两个布隆过滤器看做两个0,1字符串s1和s2,对两个字符串分别进行秘密分享操作,并将秘密分享的份额分发给p3;

20、(4)p3利用得到的秘密分享份额计算出步骤(3)中的两个字符串进行and运算的结果,然后利用计算结果构造出一个新的布隆过滤器,p3查询自己拥有的双线性映射是否存在新构造的布隆过滤器中,若存在,则三方集合交集基数增加1。

21、根据本专利技术优选的,步骤(1)中,首先p1、p2和p3分别随机生成a、b、c∈zq作为各自的私钥,并分别计算ag、bg与cg作为各自的公钥,然后利用哈希函数h(·)分别将各自的集合元素映射到群g1上;

22、p1、p2和p3利用各自选取的私钥对各自集合元素的哈希值进行加密,分别得到ah(xi),bh(yj)与ch(zk),1≤i,j,k≤n,最后p1将ah(xi)发送给p2,将ag发送给p3;p2将bh(yj)发送给p3,将bg发送给p1;p3将ch(zk)发送给p1,将cg发送给p2。

23、根据本专利技术优选的,在步骤(2)中,p1利用步骤(1)得到的bg、ch(zk)与自己的私钥a,计算得到uk=e(ch(zk),bg)a=e(h(zk),g)abc;

24、同样,p2和p3分别计算得到vi=e(ah(xi),c本文档来自技高网...

【技术保护点】

1.一种基于双线性映射与布隆过滤器的三方隐私集合求交集基数方法,其特征在于,假设P1持有隐私数据集合X={x1,x2,...,xn},P2持有隐私数据集合Y={y1,y2,...,yn},P3持有隐私数据集合Z={z1,z2,...,zn},三方事先约定一个q阶循环群Za,基于椭圆曲线的一个p阶加法循环群G1、一个p阶乘法循环群GT、一个群G1上的元素g、一个双线性映射e:G1×G1→GT以及一个哈希函数H:{0,1}*→G1,指定P3为获得三方交集基数的一方,具体步骤如下:

2.如权利要求1所述的基于双线性映射与布隆过滤器的三方隐私集合求交集基数方法,其特征在于,步骤(1)中,首先P1、P2和P3分别随机生成a、b、c∈Zq作为各自的私钥,并分别计算ag、bg与cg作为各自的公钥,然后利用哈希函数H(·)分别将各自的集合元素映射到群G1上;

3.如权利要求2所述的基于双线性映射与布隆过滤器的三方隐私集合求交集基数方法,其特征在于,在步骤(2)中,P1利用步骤(1)得到的bg、cH(zk)与自己的私钥a,计算得到uk=e(cH(zk),bg)a=e(H(zk),g)abc;

4.如权利要求3所述的基于双线性映射与布隆过滤器的三方隐私集合求交集基数方法,其特征在于,步骤(3)中,将步骤(2)中的BF1与BF2看做两个长度为m的0,1字符串,根据布隆过滤器的性质,将两个字符串进行AND运算后重建布隆过滤器BF3,BF3包含uk和vi的交集信息,将BF1构成的字符串命名为S1,BF2构成的字符串命名为S2,P1将字符串S1秘密分享为:m1和λ1;P2将字符串S2秘密分享为:m2和λ2。

5.如权利要求4所述的基于双线性映射与布隆过滤器的三方隐私集合求交集基数方法,其特征在于,步骤(3)中,秘密分享具体操作如下:令其中,m1和m2是P1和P2分别随机选取的一个比特串,长度为m,P1将m1发送给P2,将λ1发送给P3,P2将m2发送给P1,将λ2发送给P3,P1利用得到的信息计算得到m1∧m2与λ1∧m2后将其发送给P3,P2计算得到m1∧λ2后将其发送给P3。

6.如权利要求5所述的基于双线性映射与布隆过滤器的三方隐私集合求交集基数方法,其特征在于,步骤(4)中,P3根据步骤(3)中收到的信息计算出P3利用S3重建出一个长度为m的布隆过滤器BF3,且BF3中包含着X∩Y的所有元素,P3通过查询wj是否在BF3中得到P1、P2和P3的隐私集合交集基数,即计算h1(wj)、h2(wj)与h3(wj),然后判断BF1[h1(wj)]、BF1[h2(wj)]与BF1[h3(wj)]是否为1来查询wj是否存在,若存在,则三方集合交集基数增加1。

...

【技术特征摘要】

1.一种基于双线性映射与布隆过滤器的三方隐私集合求交集基数方法,其特征在于,假设p1持有隐私数据集合x={x1,x2,...,xn},p2持有隐私数据集合y={y1,y2,...,yn},p3持有隐私数据集合z={z1,z2,...,zn},三方事先约定一个q阶循环群za,基于椭圆曲线的一个p阶加法循环群g1、一个p阶乘法循环群gt、一个群g1上的元素g、一个双线性映射e:g1×g1→gt以及一个哈希函数h:{0,1}*→g1,指定p3为获得三方交集基数的一方,具体步骤如下:

2.如权利要求1所述的基于双线性映射与布隆过滤器的三方隐私集合求交集基数方法,其特征在于,步骤(1)中,首先p1、p2和p3分别随机生成a、b、c∈zq作为各自的私钥,并分别计算ag、bg与cg作为各自的公钥,然后利用哈希函数h(·)分别将各自的集合元素映射到群g1上;

3.如权利要求2所述的基于双线性映射与布隆过滤器的三方隐私集合求交集基数方法,其特征在于,在步骤(2)中,p1利用步骤(1)得到的bg、ch(zk)与自己的私钥a,计算得到uk=e(ch(zk),bg)a=e(h(zk),g)abc;

4.如权利要求3所述的基于双线性映射与布隆过滤器的三方隐私集合求交集基数方法,其特征在于,步骤(3)中,将步骤(2)中的bf1与bf2看做...

【专利技术属性】
技术研发人员:赵川商瑜赵圣楠徐俊韩亚敏鞠雷
申请(专利权)人:泉城省实验室
类型:发明
国别省市:

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

1