【技术实现步骤摘要】
一种数据查询方法及系统
[0001]本申请涉及计算机
,具体而言,涉及一种数据查询方法及系统。
技术介绍
[0002]数据查询端向数据提供端查询数据的过程中,数据查询端的查询信息在不被泄露的条件下完成查询,且同时数据提供端的其他数据信息也要得到保护而不泄露,即数据查询端只能获得所查询的数据信息对其他数据信息会一无所知。
[0003]以不经意传输协议的匿踪查询方法为例,其通常的做法是首先生成N
‑
1条假样本当作混淆数据,将查询信息和混淆信息按顺序组装成列表发送给数据提供端进行数据查询;接着,数据提供端生成N对公钥
‑
私钥对,对查询到的结果分别用不同的公钥进行加密,并将结果和相应加密的公钥发送给数据查询端;然后,数据查询端使用一个随机数去获得所查询的数据所对应的私钥;最后,数据查询端利用私钥获得查询数据的信息。在上述过程中需要进行两次交互,导致查询所花费的时间较长,影响查询效率。
技术实现思路
[0004]为了至少克服现有技术中的上述不足,本申请的目的在于提供一种 ...
【技术保护点】
【技术特征摘要】
1.一种数据查询方法,其特征在于,应用于数据查询系统,所述数据查询系统包括通信连接的数据查询端与数据提供端,所述数据提供端包括数据库,所述数据库中存储有待查询数据以及与所述待查询数据对应的哈希值,所述方法包括:所述数据查询端生成查询信息以及混淆信息,并计算得到所述查询信息和所述混淆信息的哈希值;所述数据查询端计算得到特定的加密值,并将所述特定的加密值以及所述查询信息和所述混淆信息的哈希值发送给所述数据提供端;所述数据提供端基于所述数据库中是否存在与所述查询信息和所述混淆信息的哈希值匹配的哈希值生成匹配数组;所述数据提供端计算得到所述数据库中待查询数据的加密值,基于所述待查询数据的加密值与所述匹配数组得到反馈数据,并将所述反馈数据发送给所述数据查询端;所述数据查询端基于所述反馈数据对所述查询信息进行加密得到加密结果,基于所述加密结果确定所述数据库中是否存在与所述查询信息对应的待查询数据,若存在与所述查询信息对应的待查询数据则将所述数据提供端提供的数据进行解密得到所需查询的数据。2.如权利要求1所述的数据查询方法,其特征在于,所述数据查询端生成查询信息以及混淆信息,并计算得到所述查询信息和所述混淆信息的哈希值的步骤,包括:随机生成若干个与所述查询信息具有相同数据类型的混淆信息;对所述查询信息和所述混淆信息分别进行哈希计算,得到所述查询信息和所述混淆信息的哈希值。3.如权利要求2所述的数据查询方法,其特征在于,所述数据查询端计算得到特定的加密值,并将所述特定的加密值以及所述查询信息和所述混淆信息的哈希值发送给所述数据提供端的步骤,包括:基于确定的随机数与所述查询信息的哈希值计算得到特定的加密值;将所述确定的随机数、所述特定的加密值以及所述查询信息和所述混淆信息的哈希值发送给所述数据提供端;其中,所述确定的随机数包括第一随机数g、第二随机数h及第三随机数r,计算得到特定的加密值y的公式为:y=g
r
h
α
α为所述查询信息的哈希值。4.如权利要求3所述的数据查询方法,其特征在于,所述数据提供端基于所述数据库中是否存在与所述查询信息和所述混淆信息的哈希值匹配的哈希值生成匹配数组的步骤,包括:在所述数据库中查询是否存在与所述查询信息和所述混淆信息的哈希值匹配的哈希值,生成匹配数组,其中匹配数组中的第i个元素为1表示所述数据库中第i个待查询数据具有与所述查询信息或所述混淆信息的哈希值匹配的哈希值,匹配数组中的第i个元素为0表示所述数据库中第i个待查询数据不具有与所述查询信息或所述混淆信息的哈希值匹配的哈希值。5.如权利要求4所述的数据查询方法,其特征在于,所述数据提供端计算得到所述数据库中待查询数据的加密值,基于所述待查询数据的加密值与所述匹配数组得到反馈数据,
并将所述反馈数据发送给所述数据查询端的步骤,包括:依次计算所述数据库中每个待查询数据的加密值;计算得到加密参数;依次对所述匹配数组中的元素与对应待查询数据的加密值进行异或处理,得到第一异或结果;将所述第一异或结果与所述加密参数发送给所述数据查询端。6.如权利要求5所述的数据查询方法,其特征在于,所述数据查询端基于所述反馈数据对所述查询信息进行加密得到加密结果,基于所述加密结果确定所述数据库中是否存在与所述查询信息对应的待查询数据,若存在与所述查询信息对应的待查询数据则将所述数据提供端提供的数据进行解密得到所需...
【专利技术属性】
技术研发人员:顾凌云,郭志攀,王伟,李海全,袁嘉骏,刘奇,
申请(专利权)人:上海冰鉴信息科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。