一种隐私计算分组查询方法及系统技术方案

技术编号:33135751 阅读:48 留言:0更新日期:2022-04-17 01:00
本发明专利技术涉及一种隐私计算分组查询方法及系统。该方法包括客户端根据用户待查询的数据生成查询提示;并将查询提示和用户生成的公钥发送至服务端;服务端根据查询提示确定查询结果;并根据查询结果将数据库中的数据划分为多个分组;之后将分组后的数量发送至客户端;客户端对分组的编号进行选择;服务端利用查询提示和用户生成的公钥对客户端选择的分组中的数据进行加密,并将加密后的数据发送至客户端;客户端根据加密后的数据判断是否为待查询的数据。本发明专利技术能够保障用户操作时的隐私安全以及避免数据泄露。以及避免数据泄露。以及避免数据泄露。

【技术实现步骤摘要】
一种隐私计算分组查询方法及系统


[0001]本专利技术涉及数据交易领域,特别是涉及一种隐私计算分组查询方法及系统。

技术介绍

[0002]现有的某些数据交易平台拥有大量的企业信用数据,企业信用数据包括企业的名称,地址,电话等各项基本信息和企业的信用等级,用户(可以是个人、企业或者机构)通过付费可以对想要了解的企业进行信用等级的查询。但是此过程中所有的数据对该数据交易平台是透明的,数据交易平台可以精准的知道每个用户所有的查询操作,甚至将用户所有的查询记录保存下来。如此,用户的隐私安全便得不到保障,数据交易平台有可能将用户的查询记录非法出售给一些别有所图的机构或者个人,从而给用户造成难以估量的损失。
[0003]因为,基于上述问题,亟需提供一种保障用户操作时的隐私安全,以及避免因数据泄露给用户造成损失的风险的数据查询方法或系统。

技术实现思路

[0004]本专利技术的目的是提供一种隐私计算分组查询方法及系统,能够保障用户操作时的隐私安全以及避免数据泄露。
[0005]为实现上述目的,本专利技术提供了如下方案:
[0006]一种隐私计算分组查询方法,包括:
[0007]客户端根据用户待查询的数据生成查询提示;并将查询提示和用户生成的公钥发送至服务端;
[0008]服务端根据查询提示确定查询结果;并根据查询结果将数据库中的数据划分为多个分组;之后将分组后的数量发送至客户端;
[0009]客户端对分组的编号进行选择;
[0010]服务端利用查询提示和用户生成的公钥对客户端选择的分组中的数据进行加密,并将加密后的数据发送至客户端;
[0011]客户端根据加密后的数据判断是否为待查询的数据。
[0012]可选地,所述客户端根据用户待查询的数据生成查询提示,具体包括:
[0013]将用户待查询的数据拼接上一个随机生成的salt,之后通过MD5散列函数生成一个散列值;所述散列值为查询提示。
[0014]可选地,所述服务端根据查询提示确定查询结果,具体包括:
[0015]将查询提示与数据库里所有数据的键逐一进行异或的位运算,确定查询结果。
[0016]可选地,所述服务端利用查询提示和用户生成的公钥对客户端选择的分组中的数据进行加密,并将加密后的数据发送至客户端,具体包括:
[0017]客户端选择的分组中的数据的键拼接上查询提示,之后通过sha256散列函数生成散列值;
[0018]将生成的散列值通过用户生成的公钥生成加密后的数据。
[0019]可选地,所述客户端根据加密后的数据判断是否为待查询的数据,具体包括:
[0020]将待查询的数据的键拼接上查询提示,之后通过sha256散列函数生成目标散列值;
[0021]利用用户生成的私钥对加密后的数据进行解密,确定散列值;
[0022]判断目标散列值与确定的散列值是否相同;
[0023]若相同,则根据确定的散列值获取用户待查询的数据;
[0024]若不相同,则返回所述客户端对分组的编号进行选择的步骤。
[0025]一种隐私计算分组查询系统,包括:
[0026]查询提示获取模块,用于客户端根据用户待查询的数据生成查询提示;并将查询提示和用户生成的公钥发送至服务端;
[0027]数据划分模块,用于服务端根据查询提示确定查询结果;并根据查询结果将数据库中的数据划分为多个分组;之后将分组后的数量发送至客户端;
[0028]分组选择模块,用于客户端对分组的编号进行选择;
[0029]分组数据加密及发送模块,用于服务端利用查询提示和用户生成的公钥对客户端选择的分组中的数据进行加密,并将加密后的数据发送至客户端;
[0030]判断模块,用于客户端根据加密后的数据判断是否为待查询的数据。
[0031]可选地,所述查询提示获取模块具体包括:
[0032]查询提示生成单元,用于将用户待查询的数据拼接上一个随机生成的salt,之后通过MD5散列函数生成一个散列值;所述散列值为查询提示。
[0033]可选地,所述数据划分模块具体包括:
[0034]查询结果确定单元,用于将查询提示与数据库里所有数据的键逐一进行异或的位运算,确定查询结果。
[0035]可选地,所述分组数据加密及发送模块具体包括:
[0036]分组数据第一加密单元,用于客户端选择的分组中的数据的键拼接上查询提示,之后通过sha256散列函数生成散列值;
[0037]分组数据第二加密单元,用于将生成的散列值通过用户生成的公钥生成加密后的数据。
[0038]可选地,所述判断模块具体包括:
[0039]目标散列值生成单元,用于将待查询的数据的键拼接上查询提示,之后通过sha256散列函数生成目标散列值;
[0040]解密单元,用于利用用户生成的私钥对加密后的数据进行解密,确定散列值;
[0041]判断单元,用于判断目标散列值与确定的散列值是否相同;
[0042]若相同,则根据确定的散列值获取用户待查询的数据;
[0043]若不相同,则返回所述分组选择模块。
[0044]根据本专利技术提供的具体实施例,本专利技术公开了以下技术效果:
[0045]本专利技术所提供的一种隐私计算分组查询方法及系统,通过将数据库中的数据划分为多个分组,之后服务端利用查询提示和用户生成的公钥对客户端选择的分组中的数据进行加密,服务器无法知道用户查询的是具体哪条数据,而用户只能获得其所要查询的那条数据,同时无法获取到用户返回的其它数据。进而保障了用户操作时的隐私安全,避免了数
据泄露从而给用户造成损失的风险。
附图说明
[0046]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0047]图1为本专利技术所提供的一种隐私计算分组查询方法流程示意图;
[0048]图2为公钥及查询提示信息传递示意图;
[0049]图3为数据分组示意图;
[0050]图4为查询分组示意图;
[0051]图5为解密并判断是否继续查询示意图;
[0052]图6为本专利技术所提供的一种隐私计算分组查询系统结构示意图。
具体实施方式
[0053]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0054]本专利技术的目的是提供一种隐私计算分组查询方法及系统,能够保障用户操作时的隐私安全以及避免数据泄露。
[0055]为使本专利技术的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种隐私计算分组查询方法,其特征在于,包括:客户端根据用户待查询的数据生成查询提示;并将查询提示和用户生成的公钥发送至服务端;服务端根据查询提示确定查询结果;并根据查询结果将数据库中的数据划分为多个分组;之后将分组后的数量发送至客户端;客户端对分组的编号进行选择;服务端利用查询提示和用户生成的公钥对客户端选择的分组中的数据进行加密,并将加密后的数据发送至客户端;客户端根据加密后的数据判断是否为待查询的数据。2.根据权利要求1所述的一种隐私计算分组查询方法,其特征在于,所述客户端根据用户待查询的数据生成查询提示,具体包括:将用户待查询的数据拼接上一个随机生成的salt,之后通过MD5散列函数生成一个散列值;所述散列值为查询提示。3.根据权利要求1所述的一种隐私计算分组查询方法,其特征在于,所述服务端根据查询提示确定查询结果,具体包括:将查询提示与数据库里所有数据的键逐一进行异或的位运算,确定查询结果。4.根据权利要求1所述的一种隐私计算分组查询方法,其特征在于,所述服务端利用查询提示和用户生成的公钥对客户端选择的分组中的数据进行加密,并将加密后的数据发送至客户端,具体包括:客户端选择的分组中的数据的键拼接上查询提示,之后通过sha256散列函数生成散列值;将生成的散列值通过用户生成的公钥生成加密后的数据。5.根据权利要求1所述的一种隐私计算分组查询方法,其特征在于,所述客户端根据加密后的数据判断是否为待查询的数据,具体包括:将待查询的数据的键拼接上查询提示,之后通过sha256散列函数生成目标散列值;利用用户生成的私钥对加密后的数据进行解密,确定散列值;判断目标散列值与确定的散列值是否相同;若相同,则根据确定的散列值获取用户待查询的数据;若不相同,则返回所述客户端对分组的编号进行选择的步骤。6.一种隐私计算分组查询系统,其特征在于,包括:...

【专利技术属性】
技术研发人员:于潇佟宇
申请(专利权)人:厦门荷月信息科技有限公司
类型:发明
国别省市:

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

1