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

技术编号:33456042 阅读:50 留言:0更新日期:2022-05-19 00:38
本发明专利技术属于数据加密技术领域,提供了一种多利用count函数进行两表查询装置及方法。本发明专利技术装置包括数据供应端及数据需求端,数据需求端输入查询指令,供方混淆计算部和需方混淆计算部通过交互混淆计算分别得到混淆后供方集合和混淆后需方集合。供方构造部根据公开参数、查询指令及混淆后供方集合构造零分享的供方布隆过滤器,需方第一构造部根据公开参数及混淆后需方集合构造需方布隆过滤器;向量发送部向客户端发送向量;向量接收部使用需方布隆过滤器对应的接收第一向量或第二向量;需方第二构造部将向量按照顺序放置形成需方混淆布隆过滤器;最后结果输出部利用需方混淆布隆过滤器,从混淆后需方集合中挑选出交集并输出交集中的元素的数量。集中的元素的数量。集中的元素的数量。

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


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

技术介绍

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

技术实现思路

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

[m]及无上界哈希函数H1。
[0010]在本专利技术提供的利用count函数进行两表查询装置中,还可以具有这样的特征:其中,供方布隆过滤器为零分享混淆布隆过滤器。
[0011]在本专利技术提供的利用count函数进行两表查询装置中,还可以具有这样的特征:其中,数据供应端为半可信的数据供应端,数据需求端为半可信的数据需求端。
[0012]<方案二>
[0013]本专利技术还提供了一种利用count函数进行两表查询方法,具有这样的特征,包括以下步骤:
[0014]步骤S1,数据供应端从其存储的供方集合Y中选取公开参数并将公开参数发送给数据需求端,公开参数包含供方布隆过滤器的长度m,供方布隆过滤器中各比特串的长度λ,需方布隆过滤器的长度m,哈希函数的个数k,哈希族H:{h1,h2,...,h
k
}:{0,1}
*

[m]及无上界哈希函数H1,进入步骤S2;
[0015]步骤S2,数据需求端发起查询请求,进入步骤S3;
[0016]步骤S3,数据供应端通过交互混淆计算得到混淆后供方集合Y

,数据需求端根据通过交互混淆计算得到混淆后需方集合X
″′
,进入步骤S4;
[0017]步骤S4,数据供应端根据公开参数、查询指令及混淆后供方集合Y

构造供方布隆过滤器ZGBF,进入步骤S5;
[0018]步骤S5,数据需求端根据公开参数及混淆后需方集合X
″′
构造需方布隆过滤器BF,进入步骤S6;
[0019]步骤S6,数据供应端及数据需求端执行m轮不经意传输协议,在第i轮不经意传输协议中,i=1,2,3,...,m,数据供应端作为发送方,将(r
i
,ZGBF[i])作为第一向量及第二向量一起发送,数据需求端作为接收方,利用BF[i]选择向量,在第i轮不经意传输协议执行完毕后,当BF[i]=0,数据需求端获得第一向量r
i
,当BF[i]=1时,数据需求端获得第二向量ZGBF[i],进入步骤S7;
[0020]步骤S7,数据需求端将不经意传输中接收到的第一向量r
i
和第二向量ZGBF[i]按照顺序放置形成需方零分享混淆布隆过滤器ZGBF

,进入步骤S8;
[0021]步骤S8,数据需求端利用需方零分享混淆布隆过滤器,从混淆后需方集合X
″′
中挑选出交集并输出交集中的元素的数量。
[0022]在本专利技术提供的利用count函数进行两表查询方法中,还可以具有这样的特征:其中,步骤S8中,对于x
″′
∈X
″′
,所述数据需求端检查是否等于0,如果等于0,x
″′
在交集中,否则x
″′
不在交集中,所述数据需求端计算x
″′
在交集中的个数,并输出对应的数量。
[0023]在本专利技术提供的利用count函数进行两表查询方法中,还可以具有这样的特征:其中,步骤S4中,对于y

∈Y

,所述供方布隆过滤器ZGBF满足,所述供方布隆过滤器ZGBF满足其他位置都是随机值,对应h
k
(y

)位置是0的秘密分享值,k=1,2,3,...,k。
[0024]在本专利技术提供的利用count函数进行两表查询方法中,还可以具有这样的特征:其
中,步骤S5中,对于x
″′
∈X
″′
,BF[h
i
(x

)]=1,其他位置置为0。
[0025]在本专利技术提供的利用count函数进行两表查询方法中,还可以具有这样的特征:其中,步骤S3包括以下子步骤:
[0026]步骤S3

1,所述数据供应端选取3个随机数a,g,N,将a作为供方私钥,将g,N作为公钥,并将g,g
a...

【技术保护点】

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

[m]及无上界哈希函数H1。3.根据权利要求1所述的利用count函数进行两表查询装置,其特征在于:其中,所述供方布隆过滤器为零分享混淆布隆过滤器。4.根据权利要求1所述的利用count函数进行两表查询装置,其特征在于:其中,所述数据供应端为半可信的数据供应端,所述数据需求端为半可信的数据需求端。5.一种利用count函数进行两表查询方法,其特征在于,包括以下步骤:步骤S1,数据供应端将公开参数发送给数据需求端,所述公开参数包含供方布隆过滤器的长度m,所述供方布隆过滤器中各比特串的长度λ,需方布隆过滤器的长度m,哈希函数的个数k,哈希族H:{h1,h2,...,h
k
}:{0,1}
*

[m]及无上界哈希函数H1,进入步骤S2;步骤S2,所述数据需求端发起查询请求,进入步骤S3;步骤S3,所述数据供应端通过交互混淆计算得到混淆后供方集合Y',所述数据需求端
根据通过交互混淆计算得到混淆后需方集合X”',进入步骤S4;步骤S4,所述数据供应端根据所述公开参数、所述查询指令及所述混淆后供方集合Y'构造供方布隆过滤器ZGBF,进入步骤S5;步骤S5,所述数据需求端根据所述公开参数及所述混淆后需方集合X”'构造需方布隆过滤器BF,进入步骤S6;步骤S6,所述数据供应端及所述数据需求端执行m轮不经意传输协议,在第i轮不经意传输协议中,i=1,2,3,...,m,所述数据供应端作为发送方,将(r
i
,ZGBF[i])作为第一向量及第二向量一起发送,所述数据需求端作为接收方,利用BF[i]选择向量,在第i轮不经意传输协议执行完毕后,当BF[i]=0,所述数据需求端...

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

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

1