数据查询方法及数据查询系统技术方案

技术编号:35172533 阅读:18 留言:0更新日期:2022-10-12 17:37
本申请实施例提供的数据查询方法及数据查询系统,涉及数据处理技术领域。首先,数据提供端通过将数据库等分形成多个子数据库并形成多个混合子数据库,子数据库与混合子数据库之间不能通信;接着,将基于查询数据向量生成的多个随机查询数据向量分别发送给多个子数据库和多个混合子数据库;然后,数据提供端基于接收到的多个随机查询数据向量计算查询返回值;最后,数据查询端基于查询返回值判断数据提供端中是否存在待查询数据。相对于现有技术,不同的子数据库或混合子数据库不能通信,且它们中的任意一个只能获得形成查询数据向量的部分随机查询数据向量,因此可以确保数据查询过程中数据查询端和数据提供端之间信息安全。安全。安全。

【技术实现步骤摘要】
数据查询方法及数据查询系统


[0001]本申请涉及数据处理
,具体而言,涉及一种数据查询方法及数据查询系统。

技术介绍

[0002]在现有技术中,在进行数据查询时伴随着交互的过程,数据查询端查询的数据信息需要在不被泄露的条件下完成查询,且同时数据提供端的其他私有信息也要得到保护而不泄露,即查询双方只能获得自己想要的信息,其余信息互不知晓,这样就可以在实现交互的同时实现两方数据不泄露。然而,现有的查询方法,虽然对查询的数据信息进行了加密变成密文,但是存在一种可能,数据查询端通过暴力搜索的方法,将查询的密文进行破解,得到查询的信息。

技术实现思路

[0003]为了至少克服现有技术中的上述不足,本申请的目的在于提供一种数据查询方法及数据查询系统,用于解决上述技术问题。
[0004]第一方面,本申请实施例提供一种数据查询方法,应用于数据查询系统,所述数据查询系统包括通信连接的数据查询端、可信第三方端以及数据提供端,所述方法包括:
[0005]所述数据查询端将待查询数据的哈希值发送给所述可信第三方端;
[0006]所述数据提供端将数据库进行等分成多个子数据库,基于所述多个子数据库形成与所述子数据库数量相等的多个混合子数据库,并将所述多个子数据库的哈希范围发送给所述可信第三方端,其中,所述多个子数据库与所述多个混合子数据库之间不能通信;
[0007]所述可信第三方端基于所述待查询数据的哈希值匹配所述多个子数据库,并生成查询数据向量;
[0008]所述可信第三方端将基于所述查询数据向量生成的多个随机查询数据向量分别发送给所述数据提供端中的所述多个子数据库和所述多个混合子数据库;
[0009]所述数据提供端基于接收到的所述多个随机查询数据向量计算查询返回值,并将所述查询返回值发送给所述可信第三方端;
[0010]所述可信第三方端将所述查询返回值反馈给所述数据查询端;
[0011]所述数据查询端基于接收到的所述查询返回值判断所述数据提供端中是否存在所述待查询数据。
[0012]上述方案,首先,数据提供端通过将数据库等分形成多个子数据库并形成多个混合子数据库,让形成的子数据库与混合子数据库之间不能通信;接着,可信第三方端基于待查询数据的哈希值匹配多个子数据库并生成查询数据向量,并将基于查询数据向量生成的多个随机查询数据向量分别发送给多个子数据库和多个混合子数据库;然后,数据提供端基于接收到的多个随机查询数据向量计算查询返回值;最后,数据查询端基于查询返回值判断数据提供端中是否存在待查询数据。相对于现有技术,不同的子数据库或混合子数据
库不能通信,且它们中的任意一个只能获得形成查询数据向量的部分随机查询数据向量不能获得完整的查询数据向量,因此可以确保数据查询过程中数据查询端和数据提供端之间信息安全,即便采用暴力搜索方式也不能获得查询数据之外的其他数据。
[0013]在一种可能的实现方式中,所述数据提供端将数据库进行等分成多个子数据库,基于所述多个子数据库形成与所述子数据库数量相等的多个混合子数据库,并将所述多个子数据库的哈希范围发送给所述可信第三方端的步骤,包括:
[0014]所述数据提供端计算数据库中每个数据的哈希值,并基于哈希值对所述数据库中的数据进行排序;
[0015]所述数据提供端将排序后的数据库等分为四个子数据库,再将所述四个子数据库两两相交处理得到四个混合子数据库,其中,所述子数据库为0子数据库或1子数据库;
[0016]分别计算所述四个子数据库的哈希范围,并将所述四个子数据库的哈希范围发送给所述可信第三方端。
[0017]在一种可能的实现方式中,所述数据提供端将排序后的数据库等分为四个子数据库,在将所述四个子数据库两两相交处理得到四个混合子数据库的步骤,包括:
[0018]所述数据提供端将排序后的数据库等分为依次排列的四个子数据库;
[0019]将第一个子数据库与第二子数据库求交集得到排列第五的混合子数据库;
[0020]将第二个子数据库与第三子数据库求交集得到排列第六的混合子数据库;
[0021]将第三个子数据库与第四子数据库求交集得到排列第七的混合子数据库;及
[0022]将第四个子数据库与第一子数据库求交集得到排列第八的混合子数据库。
[0023]在一种可能的实现方式中,所述可信第三方端基于所述待查询数据的哈希值匹配所述多个子数据库,并生成查询数据向量的步骤,包括:
[0024]所述可信第三方端确定所述待查询数据的哈希值所在哈希范围对应的目标子数据库;
[0025]将所述待查询数据的哈希值在所述目标子数据库中匹配位置处的值置1,不匹配位置处的值置0,得到所述查询数据向量;
[0026]基于所述查询数据向量生成的三个随机查询数据向量,所述三个随机查询数据向量分别为第一随机查询数据向量、第二随机查询数据向量及第三随机查询数据向量,其中,所述查询数据向量为所述三个随机查询数据向量的交集。
[0027]在一种可能的实现方式中,所述可信第三方端将基于所述查询数据向量生成的多个随机查询数据向量分别发送给所述数据提供端中的所述多个子数据库和所述多个混合子数据库的步骤,包括:
[0028]将所述第一随机查询数据向量发送给所述目标子数据库;
[0029]将所述第二随机查询数据向量发送给排序在所述目标子数据库后的第一个子数据库以及排序在所述目标子数据库后的第四个子数据库;
[0030]将所述第三随机查询数据向量发送给排序在所述目标子数据库前的第一个子数据库以及排序在所述目标子数据库后的第三个子数据库。
[0031]在一种可能的实现方式中,所述数据提供端基于接收到的所述多个随机查询数据向量计算查询返回值,并将所述查询返回值发送给所述可信第三方端的步骤,包括:
[0032]将所述第一随机查询数据向量与所述目标子数据库相乘得到第一查询返回值;
[0033]将所述第二随机查询数据向量分别与排序在所述目标子数据库后的第一个子数据库以及排序在所述目标子数据库后的第四个子数据库相乘,得到第二查询返回值和第三查询返回值;
[0034]将所述第三随机查询数据向量分别与排序在所述目标子数据库前的第一个子数据库以及排序在所述目标子数据库后的第三个子数据库相乘,得到第四查询返回值和第五查询返回值。
[0035]在一种可能的实现方式中,所述数据查询端基于接收到的所述查询返回值判断所述数据提供端中是否存在所述待查询数据的步骤,包括:
[0036]基于所述第一查询返回值、所述第二查询返回值、所述第三查询返回值、所述第四查询返回值及所述第五查询返回值计算查询结果参数;
[0037]若所述查询结果参数为1,则判定所述数据提供端中存在所述待查询数据,若所述查询结果参数为0,则判定所述数据提供端中不存在所述待查询数据。
[0038]第二方面,本申请实施例还提供一种数据查询系统,所述数据查询系统包括通信连本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据查询方法,其特征在于,应用于数据查询系统,所述数据查询系统包括通信连接的数据查询端、可信第三方端以及数据提供端,所述方法包括:所述数据查询端将待查询数据的哈希值发送给所述可信第三方端;所述数据提供端将数据库进行等分成多个子数据库,基于所述多个子数据库形成与所述子数据库数量相等的多个混合子数据库,并将所述多个子数据库的哈希范围发送给所述可信第三方端,其中,所述多个子数据库与所述多个混合子数据库之间不能通信;所述可信第三方端基于所述待查询数据的哈希值匹配所述多个子数据库,并生成查询数据向量;所述可信第三方端将基于所述查询数据向量生成的多个随机查询数据向量分别发送给所述数据提供端中的所述多个子数据库和所述多个混合子数据库;所述数据提供端基于接收到的所述多个随机查询数据向量计算查询返回值,并将所述查询返回值发送给所述可信第三方端;所述可信第三方端将所述查询返回值反馈给所述数据查询端;所述数据查询端基于接收到的所述查询返回值判断所述数据提供端中是否存在所述待查询数据。2.如权利要求1所述的数据查询方法,其特征在于,所述数据提供端将数据库进行等分成多个子数据库,基于所述多个子数据库形成与所述子数据库数量相等的多个混合子数据库,并将所述多个子数据库的哈希范围发送给所述可信第三方端的步骤,包括:所述数据提供端计算数据库中每个数据的哈希值,并基于哈希值对所述数据库中的数据进行排序;所述数据提供端将排序后的数据库等分为四个子数据库,再将所述四个子数据库两两相交处理得到四个混合子数据库,其中,所述子数据库为0子数据库或1子数据库;分别计算所述四个子数据库的哈希范围,并将所述四个子数据库的哈希范围发送给所述可信第三方端。3.如权利要求2所述的数据查询方法,其特征在于,所述数据提供端将排序后的数据库等分为四个子数据库,在将所述四个子数据库两两相交处理得到四个混合子数据库的步骤,包括:所述数据提供端将排序后的数据库等分为依次排列的四个子数据库;将第一个子数据库与第二子数据库求交集得到排列第五的混合子数据库;将第二个子数据库与第三子数据库求交集得到排列第六的混合子数据库;将第三个子数据库与第四子数据库求交集得到排列第七的混合子数据库;及将第四个子数据库与第一子数据库求交集得到排列第八的混合子数据库。4.如权利要求3所述的数据查询方法,其特征在于,所述可信第三方端基于所述待查询数据的哈希值匹配所述多个子数据库,并生成查询数据向量的步骤,包括:所述可信第三方端确定所述待查询数据的哈希值所在哈希范围对应的目标子数据库;将所述待查询数据的哈希值在所述目标子数据库中匹配位置处的值置1,不匹配位置处的值置0,得到所述查询数据向量;基于所述查询数据向量生成的三个随机查询数据向量,所述三个随机查询数据向量分别为第一随机查询数据向量、第二随机查询数据向量及第三随机查询数据向量,其中,所述
查询数据向量为所述三个随机查询数据向量的交集。5.如权利要求4所述的数据查询方法,其特征在于,所述可信第三方端将基于所述查询数据向量生成的多个随机查询数据向量分别发送给所述数据提供端中的所述多个子数据库和所述多个混合子数据库的步骤,包括:将所述第一随机查询数据向量发送给所述目标子数据库;将所述第二随机查询数据向量发送给排序在所述目标子数据库后的第一个子数据库以及...

【专利技术属性】
技术研发人员:顾凌云郭志攀王伟袁嘉骏刘奇李海全
申请(专利权)人:上海冰鉴信息科技有限公司
类型:发明
国别省市:

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

1