CN114490828A - 多表联合查询装置及算法 - Google Patents

多表联合查询装置及算法 Download PDF

Info

Publication number
CN114490828A
CN114490828A CN202210115972.XA CN202210115972A CN114490828A CN 114490828 A CN114490828 A CN 114490828A CN 202210115972 A CN202210115972 A CN 202210115972A CN 114490828 A CN114490828 A CN 114490828A
Authority
CN
China
Prior art keywords
zero
bloom filter
confusion
client
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
CN202210115972.XA
Other languages
English (en)
Inventor
杨赟博
庞皓天
张懿嘉
魏立斐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Tongtai Information Technology Co ltd
Original Assignee
Shanghai Tongtai Information Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Tongtai Information Technology Co ltd filed Critical Shanghai Tongtai Information Technology Co ltd
Priority to CN202210115972.XA priority Critical patent/CN114490828A/zh
Publication of CN114490828A publication Critical patent/CN114490828A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24558Binary matching operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明属于数据加密技术领域,提供了一种多表联合查询装置及算法。本发明的装置包括多个客户端及一个服务器,参数选取部提取公开参数并将公开参数发送给客户端的本地接收存储部,一旦客户端发起查询请求,各个客户端的构造部根据公开参数及对应的本地参数集合构造对应的零分享混淆布隆过滤器,客户端的加密部用零碎片加密零分享混淆布隆过滤器,得到加密后零分享混淆布隆过滤器,服务器计算部将各个加密后零分享混淆布隆过滤器进行异或计算后得到加和后零分享混淆布隆过滤器,结果判定输出部使用加和后零分享混淆布隆过滤器及哈希函数从服务器参数集合中选取交集元素从而生成交集,并将交集发送给发起查询请求的客户端。

Description

多表联合查询装置及算法
技术领域
本发明属于数据加密技术领域,具体涉及一种多表联合查询装置及算法。
背景技术
随着互联网云技术的发展,一个云端对应多个客户端越来越寻常,服务器和多个客户端分别持有一系列数据,他们都希望能够安全地求出交集,而全体集合的交集外的数据不能被任意一方获取。
在一般的场景中,数据供应方拥有一批数据,每个客户端也拥有本地数据,诚实的数据请求方会根据自己的需求发起查询请求,但是在遇到不诚实的数据请求方时,传统的数据库查询不加密,可能会暴露数据供应方查询请求之外的数据,造成数据供应方隐私数据的泄漏。随着大数据的普及和公众隐私保护意识的提高,隐私数据查询愈加重要。
目前的按列进行隐私数据查询都基于全同态加密,但是全同态加密因其计算开销较大,速度比较慢,效率比较低,无法应用在高效的SQL查询中。如果数据量大,特别是涉及到多表查询时,全同态加密的查询速度非常慢,处理一个查询请求可能需要几分钟,远远无法满足现有的用户需求。为了解决这一问题,急需构建一种高效安全的数据库SQL查询方法。
发明内容
本发明是为了解决上述问题而进行的,目的在于提供一种多表联合查询装置及算法,能够支持多表同时进行join函数的查询,能够安全地求出服务器和多个客户端的交集,而全体集合的交集外的数据不能被任意一方获取,计算速度快,安全高效。
本发明为了实现上述目的,采用了以下方案:
<方案一>
本发明提供了一种多表联合查询装置,具有这样的特征,包括:一个服务器及分别与服务器通信连接的多个客户端,每个客户端包括本地接收存储部、查询指令输入部、本地集合存储部、构造部、加密部;服务器包括服务器存储部、参数提取部、接收部、服务器计算部、结果判定输出部;服务器存储部存储有服务器参数集合及公开参数,本地集合存储部用于存储对应的客户端的本地参数集合及零碎片,参数提取部提取公开参数并发送给客户端的本地接收存储部,查询指令输入部用于用户输入查询指令使客户端发起查询请求,一旦客户端发起查询请求,各个客户端的构造部根据公开参数及对应的本地参数集合构造对应的零分享混淆布隆过滤器,各个客户端的加密部用对应的零碎片加密对应的零分享混淆布隆过滤器,得到加密后零分享混淆布隆过滤器,并将加密后零分享混淆布隆过滤器发送给服务器,一旦接收部接受到加密后零分享混淆布隆过滤器,服务器计算部就将各个加密后零分享混淆布隆过滤器进行异或计算后得到加和后零分享混淆布隆过滤器,结果判定输出部使用加和后零分享混淆布隆过滤器及哈希函数从服务器参数集合中选取交集元素从而生成交集,并将交集发送给发起查询请求的客户端。
在本发明提供的多表联合查询装置中,还可以具有这样的特征:其中,公开参数包含零分享混淆布隆过滤器的长度m,零分享混淆布隆过滤器中各比特串的长度λ,哈希函数的个数k,以及哈希族H:{h1,h2,...,hk}:{0,1}*→[m]。
在本发明提供的多表联合查询装置中,还可以具有这样的特征:其中,各个客户端非交互式地生成零碎片,第i个客户端拥有的零碎片记为si,各个客户端的零碎片之和为0,即:
Figure BDA0003496405910000031
第i个客户端持有的零分享混淆布隆过滤器记为ZGBFi
在本发明提供的多表联合查询装置中,还可以具有这样的特征:其中,客户端的加密部用对应的零碎片加密对应的零分享混淆布隆过滤器,得到加密后零分享混淆布隆过滤器的具体过程为:对第i个客户端的第j个位置,j=0~m-1,计算
Figure BDA0003496405910000032
为加密后零分享混淆布隆过滤器,计算m轮后,将每个所述零分享混淆布隆过滤器均发送给服务器的接收部。
在本发明提供的多表联合查询装置中,还可以具有这样的特征:其中,服务器计算部将各个加密后零分享混淆布隆过滤器进行异或计算得到加和后零分享混淆布隆过滤器的具体过程为:根据接收部的接收顺序,服务器计算部将每个客户端的第j个位置的ZGBFi'[j]进行异或计算,得到第j个位置的ZGBF[j],即
Figure BDA0003496405910000041
m个ZGBF'[j]组成加和后零分享混淆布隆过滤器即ZGBF'。
在本发明提供的多表联合查询装置中,还可以具有这样的特征:其中,结果判定输出部使用加和后零分享混淆布隆过滤器及哈希函数从服务器参数集合中选取交集元素从而生成交集的具体过程为:对于y∈Y,Y为服务器参数集合,结果判定输出部检查
Figure BDA0003496405910000042
Figure BDA0003496405910000043
是否等于0,如果等于0,y在交集中,否则y不在交集中。
在本发明提供的多表联合查询装置中,还可以具有这样的特征:其中,服务器为半可信的服务器,客户端为半可信的客户端。
<方案二>
本发明还提供了一种多表联合查询算法,具有这样的特征,包括以下步骤:
步骤S1,服务器存储有服务器参数集合Y及公开参数,并将公开参数发送给各个客户端,公开参数包含零分享混淆布隆过滤器的长度m,零分享混淆布隆过滤器中各比特串的长度λ,哈希函数的个数k,k个哈希函数的集合为哈希族H:{h1,h2,...,hk}:{0,1}*→[m];
步骤S2,客户端发起查询请求;
步骤S3,各个客户端非交互式地生成零碎片;
步骤S4,各个客户端根据根据公开参数及自身存储的本地参数集合构造零分享混淆布隆过滤器;
步骤S5,各个客户端用对应的零碎片加密各自的零分享混淆布隆过滤器,得到加密后零分享混淆布隆过滤器,并将加密后零分享混淆布隆过滤器发送给服务器;
步骤S6,服务器将各个加密后零分享混淆布隆过滤器进行异或加和得到加和后零分享混淆布隆过滤器;
步骤S7,服务器使用加和后零分享混淆布隆过滤器及哈希函数从服务器参数集合中选取交集元素从而生成交集,并将交集发送给发起查询请求的客户端。
在本发明提供的多表联合查询算法中,还可以具有这样的特征:其中,第i个客户端所持有的本地参数集合记为Xi,Xi的大小为n,
第i个客户端的构造部根据对应的Xi构造零分享混淆布隆过滤器ZGBFi的具体过程为:
步骤S4-1,定义一个m大小的零分享混淆布隆过滤器ZGBFi,其中每个元素的类型是λ长度的比特串,并初始化每个元素为空,然后进入步骤S4-2;
步骤S4-2,使ZGBFi中每个对应hk(xi)的位置是零碎片si,且
Figure BDA0003496405910000051
xi∈Xi,然后进入步骤S4-3;
步骤S4-3,使ZGBFi中除每个对应hk(xi)的位置外的其他位置为随机值。
在本发明提供的多表联合查询算法中,还可以具有这样的特征:其中,步骤S4-2包括以下子步骤:
步骤S4-2-1,设定本地参数集合Xi中的第n个元素xn,n=1,2,3,...,n,当前指向的元素位置的值为-1,所有位置的值异或起来为0,然后进入步骤S4-2-2;
步骤S4-2-2,对xn用哈希函数hk做k个哈希,得到k个哈希值,k=1,2,3,...,k,并记录每个哈希值的当前编号,然后进入步骤S4-2-3;
步骤S4-2-3,以当前编号对应的哈希值作为索引值,取出零分享混淆布隆过滤器ZGBFi中对应位置的元素,判断该元素是否为空值,若是,则进入步骤S4-2-4,若否,则进入步骤S4-2-6;
步骤S4-2-4,判断xn当前指向的位置是否为-1,若是,则将当前指向的位置定义为当前编号对应的哈希值,然后进入步骤S4-2-6,若否,则进入步骤S4-2-5;
步骤S4-2-5,在ZGBFi中的当前位置初始化随机比特串,以当前位置的元素的值作为索引值,取出零分享混淆布隆过滤器ZGBFi中对应位置的元素,并对该元素赋值为0,然后进入步骤S4-2-6;
步骤S4-2-6,以步骤S4-2-4中的当前指向的元素位置的值作为索引值,取出零分享混淆布隆过滤器ZGBFi中对应位置的元素,并对该元素赋值为0,进入步骤S4-2-7;
步骤S4-2-7中,需要用随机字符串对ZGBFi中每个空位置进行填充。
发明的作用与效果
根据本发明所提供的多表联合查询装置及算法,包括一个服务器和多个客户端,服务器持有服务器参数集合及公开参数,客户端持有本地参数集合,服务器将公开参数发送给客户端,各个客户端根据公开参数及对应的本地参数集合构造对应的自身的零分享混淆布隆过滤器。各个客户端用对应的零碎片加密对应的零分享混淆布隆过滤器,得到加密后零分享混淆布隆过滤器,并将加密后零分享混淆布隆过滤器发送给服务器的接收部,服务器计算部将各个加密后零分享混淆布隆过滤器进行异或计算后得到加和后零分享混淆布隆过滤器,由于各个客户端持有的零碎片为客户自身所知,服务器不知,因此当结果判定输出部使用加和后零分享混淆布隆过滤器及哈希函数从服务器参数集合中选取交集元素从而生成交集,交集为服务器和各个客户端这些参与方的全体集合之间的交集,而全体集合的交集外的数据不能被任意一方获取,因此实现了安全查询。
附图说明
图1是本发明的实施例中的多表联合查询装置的结构示意图;
图2是本发明的实施例中的服务器的结构框图;
图3是本发明的实施例中的客户端的结构框图;
图4是本发明的实施例中的多表联合查询装置的步骤流程图;
图5是本发明的实施例中的多表联合查询算法步骤S4的子步骤流程图;以及
图6是本发明的实施例中的多表联合查询算法步骤S4-2的子步骤流程图。
附图标记说明:服务器100、客户端200、网络300、服务器存储部101、参数提取部102、接收部103、服务器计算部104、结果判定输出部105、服务器控制部106、本地接收存储部201、查询指令输入部202、本地集合存储部203、构造部204、加密部205、本地控制部206。
具体实施方式
为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,以下结合实施例及附图对本发明多表联合查询装置及算法作具体阐述。
<实施例>
图1是本发明的实施例中的多表联合查询装置的结构示意图;图2是本发明的实施例中的服务器的结构框图;图3是本发明的实施例中的客户端的结构框图。
如图1~3所示,多表联合查询装置的实体包括通过网络300连接起来的一个服务器100和i个客户端200。服务器100为半可信的云服务器;客户端200为半可信的客户端。
服务器100包括服务器存储部101、参数提取部102、接收部103、服务器计算部104、结果判定输出部105及服务器控制部106。服务器控制部106用于控制服务器100中各部的运行。
每个客户端200包括本地接收存储部201、查询指令输入部202、本地集合存储部203、构造部204、加密部205及本地控制部206。本地控制部206用于控制客户端中各部的运行。
服务器存储部101存储有服务器参数集合Y及公开参数,客户端200的本地接收存储部201存储有自身的本地参数集合及零碎片。第i个客户端所持有的本地参数集合记为Xi,Xi的大小为n。第i个客户端200拥有的零碎片记为si,各个客户端200的零碎片之和为0,即:
Figure BDA0003496405910000091
零碎片由各个客户端非交互式地生成,具体为:任意挑选一个客户端200,将0分成i份,每份称为零碎片(zero sharing),并将零碎片随机分发给各个客户端200。
服务器100的参数提取部102提取公开参数发送给每个客户端200的本地接收存储部201。
公开参数包含零分享混淆布隆过滤器的长度m,零分享混淆布隆过滤器中各比特串的长度λ,哈希函数的个数k,以及哈希族H:{h1,h2,...,hk}:{0,1}*→[m]。
查询指令输入部202用于用户在客户端200上输入查询指令使该客户端200发起查询请求。
一旦客户端200发起查询请求,
每个客户端200的构造部204根据收到的公开参数及对应的自身的本地参数集合构造对应的零分享混淆布隆过滤器。第i个客户端持有的零分享混淆布隆过滤器(zero-sharing garbled Bloom filter)记为ZGBFi
各个客户端200的加密部205用对应的零碎片加密对应的零分享混淆布隆过滤器,得到加密后零分享混淆布隆过滤器,并将加密后零分享混淆布隆过滤器发送给服务器100。具体过程为:对第i个客户端的第j个位置(j=0~m-1),计算
Figure BDA0003496405910000101
为第j个位置的加密后零分享混淆布隆过滤器,计算m轮后,将每个位置的零分享混淆布隆过滤器ZGBFi'[j]均发送给服务器100的接收部103。
一旦接收部103接收到加密后零分享混淆布隆过滤器,服务器计算部104就将各个加密后零分享混淆布隆过滤器进行异或计算后得到加和后零分享混淆布隆过滤器ZGBF'。具体过程为:
根据接收部103的接收顺序,服务器计算部104将每个客户端200的第j个位置的ZGBFi'[j]进行异或计算,得到第j个位置的ZGBF[j],即
Figure BDA0003496405910000102
m个ZGBF'[j]组成加和后零分享混淆布隆过滤器即ZGBF'。
结果判定输出部105使用加和后零分享混淆布隆过滤器ZGBF'及哈希函数从服务器参数集合Y中选取交集元素从而生成交集,并将交集发送给发起查询请求的客户端。具体过程为:
对于y∈Y,结果判定输出部105检查
Figure BDA0003496405910000103
Figure BDA0003496405910000104
是否等于0,如果等于0,y在交集中,否则y不在交集中。ZGBF[hk(y)]表示对元素y用哈希函数h做哈希,得到的哈希值作为索引值,并取出ZGBF中对应索引位置的元素。
图4是本发明的实施例中的多表联合查询算法的步骤流程图。
如图4所示,使用的多表联合查询装置的算法的流程如下:
步骤S1,服务器存储有服务器参数集合Y及公开参数,服务器将公开参数发送给各个客户端,公开参数包含零分享混淆布隆过滤器的长度m,零分享混淆布隆过滤器中各比特串的长度λ,哈希函数的个数k,k个哈希函数的集合为哈希族H:{h1,h2,...,hk}:{0,1}*→[m];
步骤S2,客户端发起查询请求;
步骤S3,各个客户端非交互式地生成零碎片;
步骤S4,各个客户端根据公开参数及自身存储的本地参数集合构造零分享混淆布隆过滤器;
步骤S5,各个客户端用对应的零碎片加密各自的零分享混淆布隆过滤器,得到加密后零分享混淆布隆过滤器,并将加密后零分享混淆布隆过滤器发送给服务器;
步骤S6,服务器将各个加密后零分享混淆布隆过滤器进行异或加和得到加和后零分享混淆布隆过滤器;
步骤S7,服务器使用加和后零分享混淆布隆过滤器及哈希函数从服务器参数集合Y中选取交集元素从而生成交集,并将交集发送给发起查询请求的客户端。
图5是本发明的实施例中的多表联合查询算法步骤S3的子步骤流程图。
如图5所示,步骤S4包括以下子步骤:
步骤S4-1,定义一个m大小的零分享混淆布隆过滤器ZGBFi,其中每个元素的类型是λ长度的比特串,并初始化每个元素为空,然后进入步骤S4-2。
步骤S4-2,使ZGBFi中每个对应hk(xi)的位置为零碎片si,且
Figure BDA0003496405910000121
xi∈Xi,然后进入步骤S4-3。其中,ZGBF[hk(xi)]表示对元素xi用哈希函数h做哈希,得到的哈希值作为索引值,并取出ZGBF中对应索引位置的元素。
步骤S4-3,使ZGBFi中除每个对应hk(xi)的位置外的其他位置为随机值。
图6是本发明的实施例中的多表联合查询算法步骤S3-2的子步骤流程图。
如图6所示,步骤S4-2包括以下子步骤:
步骤S4-2-1,设定本地参数集合Xi中的第n个元素xn,n=1,2,3,...,n,当前元素指向的位置的值为-1,所有位置的值异或起来为0,然后进入步骤S4-2-2;
步骤S4-2-2,对xn用哈希函数hk做k个哈希,得到k个哈希值,k=1,2,3,...,k,并记录每个哈希值的当前编号,然后进入步骤S4-2-3;
步骤S4-2-3,以当前编号对应的哈希值作为索引值,取出零分享混淆布隆过滤器ZGBFi中对应位置的元素,判断该元素是否为空值,若是,则进入步骤S4-2-4,若否,则进入步骤S4-2-6;
步骤S4-2-4,判断xn当前指向的位置是否为-1,若是,则将当前指向的位置定义为当前编号对应的哈希值,然后进入步骤S4-2-6,若否,则进入步骤S4-2-5;
步骤S4-2-5,在ZGBFi中的当前位置初始化随机比特串,以当前位置的元素的值作为索引值,取出零分享混淆布隆过滤器ZGBFi中对应位置的元素,并对该元素赋值为0,然后进入步骤S4-2-6;
步骤S4-2-6,以步骤S4-2-4中的当前指向的元素位置的值作为索引值,取出零分享混淆布隆过滤器ZGBFi中对应位置的元素,并对该元素赋值为0,当ZGBFi中所有对应位置的元素均被赋值为0后,进入步骤S4-2-7;
步骤S4-2-7,对零分享混淆布隆过滤器ZGBFi中其他位置的元素赋予随机数。
实施例的作用与效果
根据本实施例提供的多表联合查询装置及算法,包括一个服务器和多个客户端,服务器持有服务器参数集合及公开参数,客户端持有本地参数集合,服务器将公开参数发送给客户端,然后各个客户端根据公开参数及对应的本地参数集合构造对应的自身的零分享混淆布隆过滤器。各个客户端用对应的零碎片加密对应的零分享混淆布隆过滤器,得到加密后零分享混淆布隆过滤器,并将加密后零分享混淆布隆过滤器发送给服务器的接收部,服务器计算部将各个加密后零分享混淆布隆过滤器进行异或计算后得到加和后零分享混淆布隆过滤器,由于各个客户端持有的零碎片为客户自身所知,服务器不知,因此当结果判定输出部使用加和后零分享混淆布隆过滤器及哈希函数从服务器参数集合中选取交集元素从而生成交集,交集为服务器和各个客户端这些参与方的全体集合之间的交集,而全体集合的交集外的数据不能被任意一方获取,因此实现了安全查询。又由于使用哈希和异或操作,速度可从传统的几分钟提高到几秒钟,实现了快速查询。
上述实施方式为本发明的优选案例,并不用来限制本发明的保护范围。

Claims (10)

1.一种多表联合查询装置,其特征在于,包括:
一个服务器及分别与所述服务器通信连接的多个客户端,
每个所述客户端包括本地接收存储部、查询指令输入部、本地集合存储部、构造部、加密部;
所述服务器包括服务器存储部、参数提取部、接收部、服务器计算部、结果判定输出部;
所述服务器存储部存储有服务器参数集合及公开参数,所述本地集合存储部用于存储对应的所述客户端的本地参数集合及零碎片,
所述参数提取部提取所述公开参数发送给所述客户端的所述本地接收存储部,
所述查询指令输入部用于用户输入查询指令使所述客户端发起查询请求,
一旦所述客户端发起查询请求,
各个所述客户端的所述构造部根据所述公开参数及对应的所述本地参数集合构造对应的零分享混淆布隆过滤器,
各个所述客户端的所述加密部用对应的所述零碎片加密对应的所述零分享混淆布隆过滤器,得到加密后零分享混淆布隆过滤器,并将所述加密后零分享混淆布隆过滤器发送给所述服务器,
一旦所述接收部接受到所述加密后零分享混淆布隆过滤器,所述服务器计算部就将各个所述加密后零分享混淆布隆过滤器进行异或计算后得到加和后零分享混淆布隆过滤器,
所述结果判定输出部使用所述加和后零分享混淆布隆过滤器及所述哈希函数从所述服务器参数集合中选取交集元素从而生成交集,并将所述交集发送给发起查询请求的所述客户端。
2.根据权利要求1所述的多表联合查询装置,其特征在于:
其中,所述公开参数包含所述零分享混淆布隆过滤器的长度m,所述零分享混淆布隆过滤器中各比特串的长度λ,哈希函数的个数k,以及哈希族H:{h1,h2,...,hk}:{0,1}*→[m]。
3.根据权利要求2所述的多表联合查询装置,其特征在于:
其中,各个所述客户端非交互式地生成零碎片,第i个所述客户端拥有的所述零碎片记为si,各个所述客户端的所述零碎片之和为0,即:
Figure FDA0003496405900000021
第i个所述客户端持有的所述零分享混淆布隆过滤器记为ZGBFi
4.根据权利要求3所述的多表联合查询装置,其特征在于:
其中,所述客户端的所述加密部用对应的所述零碎片加密对应的所述零分享混淆布隆过滤器,得到所述加密后零分享混淆布隆过滤器的具体过程为:对第i个所述客户端的第j个位置,j=0~m-1,计算
Figure FDA0003496405900000022
为所述零分享混淆布隆过滤器,计算m轮后,将每个所述所述零分享混淆布隆过滤器均发送给所述服务器的所述接收部。
5.根据权利要求4所述的多表联合查询装置,其特征在于:
其中,所述服务器计算部将各个所述加密后零分享混淆布隆过滤器进行异或计算得到加和后零分享混淆布隆过滤器的具体过程为:
根据所述接收部的接收顺序,所述服务器计算部将每个所述客户端的第j个位置的ZGBFi'[j]进行异或计算,得到第j个位置的ZGBF[j],即
Figure FDA0003496405900000031
m个所述ZGBF'[j]组成所述加和后零分享混淆布隆过滤器即ZGBF'。
6.根据权利要求5所述的多表联合查询装置,其特征在于:
其中,所述结果判定输出部使用所述加和后零分享混淆布隆过滤器及所述哈希函数从所述服务器参数集合中选取所述交集元素从而生成所述交集的具体过程为:对于y∈Y,Y为所述服务器参数集合,所述结果判定输出部检查
Figure FDA0003496405900000032
Figure FDA0003496405900000033
是否等于0,如果等于0,y在交集中,否则y不在交集中。
7.根据权利要求1所述的多表联合查询装置,其特征在于:
其中,所述服务器为半可信的云服务器,所述客户端为半可信的客户端。
8.一种多表联合查询算法,其特征在于,包括以下步骤:
步骤S1,服务器存储有服务器参数集合Y及公开参数,并将所述公开参数发送给各个客户端,所述公开参数包含零分享混淆布隆过滤器的长度m,所述零分享混淆布隆过滤器中各比特串的长度λ,哈希函数的个数k,k个所述哈希函数的集合为哈希族H:{h1,h2,...,hk}:{0,1}*→[m];
步骤S2,所述客户端发起查询请求;
步骤S3,各个所述客户端非交互式地生成零碎片;
步骤S4,各个所述客户端根据所述公开参数及自身存储的本地参数集合构造所述零分享混淆布隆过滤器;
步骤S5,各个所述客户端用对应的零碎片加密各自的所述零分享混淆布隆过滤器,得到加密后零分享混淆布隆过滤器,并将所述加密后零分享混淆布隆过滤器发送给所述服务器;
步骤S6,所述服务器将各个所述加密后零分享混淆布隆过滤器进行异或加和得到加和后零分享混淆布隆过滤器;
步骤S7,所述服务器使用所述加和后零分享混淆布隆过滤器及所述哈希函数从所述服务器参数集合中选取交集元素从而生成交集,并将所述交集发送给发起查询请求的所述客户端。
9.根据权利要求8所述的多表联合查询算法,其特征在于:
其中,第i个所述客户端所持有的所述本地参数集合记为Xi,所述Xi的大小为n,
第i个所述客户端的所述构造部根据对应的所述Xi构造所述零分享混淆布隆过滤器ZGBFi的具体过程为:
步骤S4-1,定义一个m大小的零分享混淆布隆过滤器ZGBFi,其中每个元素的类型是λ长度的比特串,并初始化每个元素为空,然后进入步骤S4-2;
步骤S4-2,使ZGBFi中每个对应hk(xi)的位置为所述零碎片si,且
Figure FDA0003496405900000051
Figure FDA0003496405900000052
然后进入步骤S4-3;
步骤S4-3,使ZGBFi中除每个对应hk(xi)的位置外的其他位置为随机值。
10.根据权利要求9所述的多表联合查询算法,其特征在于:
其中,步骤S4-2包括以下子步骤:
步骤S4-2-1,设定所述本地参数集合Xi中的第n个元素xn,n=1,2,3,...,n,元素当前指向的位置的值为-1,所有位置的值异或起来为0,然后进入步骤S4-2-2;
步骤S4-2-2,对xn用哈希函数hk做k个哈希,得到k个哈希值,k=1,2,3,...,k,并记录每个哈希值的当前编号,然后进入步骤S4-2-3;
步骤S4-2-3,以当前编号对应的哈希值作为索引值,取出所述零分享混淆布隆过滤器ZGBFi中对应位置的元素,判断该元素是否为空值,若是,则进入步骤S4-2-4,若否,则进入步骤S4-2-6;
步骤S4-2-4,判断xn当前指向的位置是否为-1,若是,则将当前指向的位置定义为当前编号对应的哈希值,然后进入步骤S4-2-6,若否,则进入步骤S4-2-5;
步骤S4-2-5,在ZGBFi中的当前位置初始化随机比特串,以当前位置的元素的值作为索引值,取出所述零分享混淆布隆过滤器ZGBFi中对应位置的元素,并对该元素赋值为0,然后进入步骤S4-2-6;
步骤S4-2-6,以步骤S4-2-4中所述的当前指向的元素位置的值作为索引值,取出所述零分享混淆布隆过滤器ZGBFi中对应位置的元素,并对该元素赋值为0,进入步骤S4-2-7;
步骤S4-2-7,对所述零分享混淆布隆过滤器ZGBFi中其他位置的元素赋予随机数。
CN202210115972.XA 2022-02-07 2022-02-07 多表联合查询装置及算法 Withdrawn CN114490828A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210115972.XA CN114490828A (zh) 2022-02-07 2022-02-07 多表联合查询装置及算法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210115972.XA CN114490828A (zh) 2022-02-07 2022-02-07 多表联合查询装置及算法

Publications (1)

Publication Number Publication Date
CN114490828A true CN114490828A (zh) 2022-05-13

Family

ID=81479406

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210115972.XA Withdrawn CN114490828A (zh) 2022-02-07 2022-02-07 多表联合查询装置及算法

Country Status (1)

Country Link
CN (1) CN114490828A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115988245A (zh) * 2022-12-12 2023-04-18 四川启睿克科技有限公司 基于安全多方计算隐私信息检索的智能电视广告推荐方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115988245A (zh) * 2022-12-12 2023-04-18 四川启睿克科技有限公司 基于安全多方计算隐私信息检索的智能电视广告推荐方法
CN115988245B (zh) * 2022-12-12 2024-04-16 四川启睿克科技有限公司 基于安全多方计算隐私信息检索的智能电视广告推荐方法

Similar Documents

Publication Publication Date Title
CN108494768B (zh) 一种支持访问控制的密文搜索方法及系统
CN112270006A (zh) 电商平台中隐藏搜索模式和访问模式的可搜索加密方法
CN114826703B (zh) 基于区块链的数据搜索细粒度访问控制方法及系统
CN112800088A (zh) 基于双向安全索引的数据库密文检索系统及方法
CN111026788B (zh) 一种混合云中基于同态加密的多关键词密文排序检索方法
CN106934301B (zh) 一种支持密文数据操作的关系型数据库安全外包数据处理方法
CN110413652B (zh) 一种基于边缘计算的大数据隐私化检索方法
CN108092766B (zh) 一种密文搜索权限验证方法及其系统
WO2018070932A1 (en) System and method for querying an encrypted database for documents satisfying an expressive keyword access structure
Xu et al. SGX-based secure indexing system
Du et al. Proofs of ownership and retrievability in cloud storage
CN109783456B (zh) 去重结构搭建方法、去重方法、文件取回方法、去重系统
CN114490828A (zh) 多表联合查询装置及算法
CN113836571B (zh) 基于云和区块链的医疗数据拥有终端位置匹配方法及系统
Cai et al. Vizard: A metadata-hiding data analytic system with end-to-end policy controls
CN116107967B (zh) 基于同态加密和树结构的多关键词密文搜索方法及系统
CN111274247B (zh) 一种基于密文时空数据的可验证范围查询方法
CN116760840A (zh) 基于区块链的高效数据共享方法
WO2019178792A1 (zh) 一种支持访问控制的密文搜索方法及系统
CN115048432A (zh) 基于布隆过滤器的模糊关键词公共审计方法
Nagesh et al. Modeling an efficient authentic provable data possession model using legacy filter model for IOT and cloud environment
Li et al. Efficient forward secure searchable encryption supporting multi-keyword query
Wang et al. EcoBoost: efficient bootstrapping for confidential transactions
WO2024212647A1 (zh) 数据匹配方法、装置以及系统
Li et al. Repetitive, Oblivious, and Unlinkable S k NN Over Encrypted-and-Updated Data on Cloud

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20220513

WW01 Invention patent application withdrawn after publication