利用join函数进行两表查询装置及方法制造方法及图纸

技术编号:33456063 阅读:12 留言:0更新日期:2022-05-19 00:38
本发明专利技术属于数据加密技术领域,提供了一种利用join函数进行两表查询装置及方法。本发明专利技术的装置包括数据供应端及数据需求端,数据供应端持有供方集合,数据需求端持有需方集合。当数据需求端输入查询指令后,供方构造部根据公开参数及供方集合构造供方布隆过滤器,需方第一构造部根据公开参数及查询指令构造需方布隆过滤器;向量发送部向数据需求端发送包含第一向量及第二向量的向量组;向量接收部使用需方布隆过滤器对应的接收第一向量或第二向量,需方第二构造部将第一向量或第二向量按照顺序放置形成需方混淆布隆过滤器;结果输出部利用需方混淆布隆过滤器检查需方集合中的元素是否在交集中。是否在交集中。是否在交集中。

【技术实现步骤摘要】
利用join函数进行两表查询装置及方法


[0001]本专利技术属于数据加密
,具体涉及一种利用join函数进行两表查询装置及方法。

技术介绍

[0002]当双方分别持有一系列数据时,通常将拥有数据较多的一方称为数据供应方,将拥有数据相对较少的一方称为数据请求方。但是对于自身来说,由于数据供应方和数据请求方分别持有一系列数据,当数据查询进行时,他们都希望能够安全地求出交集,而全体集合的交集外的数据不能被任意一方获取,从而实现自身数据的保密。
[0003]在一般的场景中,数据供应方拥有一批数据,诚实的数据请求方会根据自己的需求发起查询请求。在遇到不诚实的数据请求方时,传统的数据库查询不加密,可能会暴露数据供应方查询请求之外的数据,造成数据供应方隐私数据的泄漏。随着各种大数据的普及以及社会各界隐私保护意识的提高,隐私数据查询愈加重要。
[0004]目前的按列进行隐私数据查询都基于全同态加密,但是全同态加密因其计算开销较大,速度比较慢,效率比较低,无法应用在高效的SQL查询中。

技术实现思路

[0005]本专利技术是为了解决上述问题而进行的,目的在于提供一种利用join函数进行两表查询装置及方法。
[0006]本专利技术为了实现上述目的,采用了以下方案:
[0007]<方案一>
[0008]本专利技术提供了一种利用join函数进行两表查询装置,具有这样的特征,包括:相互通信连接的数据供应端及数据需求端,其中,数据供应端包括供方存储部、公开参数提取部、供方构造部、向量发送部;数据需求端包括需方存储部、公开参数接收部、查询指令输入部、需方第一构造部、向量接收部、需方第二构造部、结果输出部;供方存储部存储有供方集合及公开参数;需方存储部存储有需方集合;公开参数提取部从需方存储部中提取公开参数发送给数据需求端,公开参数接收部用于接收公开参数;查询指令输入部用于输入查询指令;一旦数据需求端输入查询指令,供方构造部根据公开参数及供方集合构造供方布隆过滤器,需方第一构造部根据公开参数及查询指令构造需方布隆过滤器;向量发送部用于向数据需求端发送包含第一向量及第二向量的向量组;向量接收部用于使用需方布隆过滤器对应的接收第一向量或第二向量,需方第二构造部,将第一向量或第二向量按照顺序放置形成需方混淆布隆过滤器;结果输出部,利用需方混淆布隆过滤器检查需方集合中的元素是否在交集中。
[0009]在本专利技术提供的利用join函数进行两表查询装置中,还可以具有这样的特征:其中,公开参数包括供方布隆过滤器的长度m,供方布隆过滤器中各比特串的长度λ,需方布隆过滤器的长度m,哈希函数的个数k及哈希族H:{h1,h2,...,h
k
}:{0,1}
*

[m]。
[0010]在本专利技术提供的利用join函数进行两表查询装置中,还可以具有这样的特征:其中,数据供应端为半可信的数据供应端,数据需求端为半可信的数据需求端。
[0011]在本专利技术提供的利用join函数进行两表查询装置中,还可以具有这样的特征:其中,供方布隆过滤器为零分享混淆布隆过滤器。
[0012]在本专利技术提供的利用join函数进行两表查询装置中,还可以具有这样的特征:其中,零分享混淆布隆过滤器记为ZGBF,对于y∈Y,Y为供方集合,中,零分享混淆布隆过滤器记为ZGBF,对于y∈Y,Y为供方集合,其他位置都是随机值,对应h
k
(y)位置是0的秘密分享值。
[0013]<方案二>
[0014]本专利技术还提供了一种利用join函数进行两表查询方法,具有这样的特征,包括以下步骤:
[0015]步骤S1,数据供应端将公开参数发送给数据需求端,公开参数包含供方布隆过滤器的长度m,供方布隆过滤器中各比特串的长度λ,需方布隆过滤器的长度m,哈希函数的个数k,哈希族H:{h1,h2,...,h
k
}:{0,1}
*

[m],进入步骤S2;
[0016]步骤S2,数据需求端发起查询请求,进入步骤S3;
[0017]步骤S3,数据供应端根据公开参数及供方集合Y构造供方布隆过滤器ZGBF,进入步骤S4;
[0018]步骤S4,数据需求端根据公开参数及及查询指令构造需方布隆过滤器BF,进入步骤S5;
[0019]步骤S5,数据供应端及数据需求端执行m轮不经意传输协议(OT协议,Oblivious transfer),在第i轮不经意传输协议中,i=1,2,3,...,m,数据供应端将(r
i
,ZGBF[i])作为第一向量及第二向量一起发送,数据需求端作为接收方,利用BF[i]选择向量,在第i轮不经意传输协议执行完毕后,当BF[i]=0,数据需求端获得第一向量r
i
,当BF[i]=1时,数据需求端获得第二向量ZGBF[i],进入步骤S6;
[0020]步骤S6,数据需求端将不经意传输中接收到的第一向量r
i
和第二向量ZGBF[i]按照顺序放置形成需方混淆布隆过滤器ZGBF',进入步骤S7;
[0021]步骤S7,对于x∈X,数据需求端利用需方混淆布隆过滤器检查需方集合X中的元素x是否在交集中。
[0022]在本专利技术提供的利用join函数进行两表查询方法中,还可以具有这样的特征:其中,步骤S7中,对于x∈X,数据需求端检查是否等于0,如果等于0,x在交集中,否则x不在交集中。
[0023]在本专利技术提供的利用join函数进行两表查询方法中,还可以具有这样的特征:其中,步骤S4中,对于x∈X,BF[h
i
(x)]=1,其他位置置为0。
[0024]在本专利技术提供的利用join函数进行两表查询方法中,还可以具有这样的特征:其中,步骤S3中,对于y∈Y,中,步骤S3中,对于y∈Y,其他位置都是随机值,对应h
k
(y)位置是0的秘密分享值。
[0025]专利技术的作用与效果
[0026]根据本专利技术所提供的利用join函数进行两表查询装置及方法,装置包括数据供应
端及数据需求端,数据供应端持有供方集合,数据需求端持有需方集合。当数据需求端输入查询指令后,供方构造部根据公开参数及供方集合构造供方布隆过滤器,需方第一构造部根据公开参数及查询指令构造需方布隆过滤器;向量发送部向数据需求端发送包含第一向量及第二向量的向量组;向量接收部使用需方布隆过滤器对应的接收第一向量或第二向量,需方第二构造部将第一向量或第二向量按照顺序放置形成需方混淆布隆过滤器;结果输出部利用需方混淆布隆过滤器检查需方集合中的元素是否在交集中。由于数据供应端构造了供方布隆过滤器,数据需求端构造了需方零分享混淆布隆过滤器,供方布隆过滤器中的元素不为数据需求端所知,同样的,需方混淆布隆过滤器中的元素不为数据供应端所知,因此,除了二者共同的交集,其他持有的本地数据不为对方所知,实现了保本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种利用join函数进行两表查询装置,其特征在于,包括:相互通信连接的数据供应端及数据需求端,其中,所述数据供应端包括供方存储部、公开参数提取部、供方构造部、向量发送部;所述数据需求端包括需方存储部、公开参数接收部、查询指令输入部、需方第一构造部、向量接收部、需方第二构造部、结果输出部;所述供方存储部存储有供方集合及公开参数,所述需方存储部存储有需方集合,所述公开参数提取部用于从所述需方存储部中提取公开参数发送给所述数据需求端,所述公开参数接收部用于接收所述公开参数,所述查询指令输入部用于输入查询指令;一旦所述数据需求端输入所述查询指令,所述供方构造部根据所述公开参数及所述供方集合构造供方布隆过滤器,所述需方第一构造部根据所述公开参数及所述查询指令构造需方布隆过滤器;所述向量发送部用于向所述数据需求端发送包含第一向量及第二向量的向量组;所述向量接收部用于使用所述需方布隆过滤器对应的接收所述第一向量或所述第二向量,所述需方第二构造部,将所述第一向量或所述第二向量按照顺序放置形成需方混淆布隆过滤器;结果输出部,利用所述需方混淆布隆过滤器检查所述需方集合中的元素是否在交集中。2.根据权利要求1所述的利用join函数进行两表查询装置,其特征在于:其中,所述公开参数包括所述供方布隆过滤器的长度m,所述供方布隆过滤器中各比特串的长度λ,所述需方布隆过滤器的长度m,哈希函数的个数k及哈希族H:{h1,h2,...,h
k
}:{0,1}
*

[m]。3.根据权利要求1所述的利用join函数进行两表查询装置,其特征在于:其中,所述数据供应端为半可信的数据供应端,所述数据需求端为半可信的数据需求端。4.根据权利要求1所述的利用join函数进行两表查询装置,其特征在于:其中,所述供方布隆过滤器为零分享混淆布隆过滤器。5.根据权利要求4所述的利用join函数进行两表查询装置,其特征在于:其中,所述零分享混淆布隆过滤器记为ZGBF,对于y∈Y,Y为所述供方集合,其中,所述零分享混淆布隆过滤器记为ZGBF,对于y∈Y,Y为所述供方集合,其他位置都是随机值,对应h
k
(y)位置是0的秘密分享值。6.一种利用join函数进行两表查询方法,其特征在于,包括以下步...

【专利技术属性】
技术研发人员:杨赟博魏立斐庞皓天张懿嘉
申请(专利权)人:上海同态信息科技有限责任公司
类型:发明
国别省市:

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

1