基于同态加密的隐匿查询方法、系统、介质及设备技术方案

技术编号:35039869 阅读:20 留言:0更新日期:2022-09-24 23:18
本发明专利技术提供了一种基于同态加密的隐匿查询方法、系统、介质及设备,包括:步骤S1:数据提供侧对数据库中的数据按照键值对的方式存储;步骤S2:数据查询侧利用本地生成公私钥对对要查询的数据索引加密;步骤S3:数据提供侧利用加密的数据索引基于隐匿查询算法对数据库中的数据查询,并返回给数据查询侧;步骤S4:数据查询侧接收到结果,使用同态加密的私钥本地解密数据,得到明文数据。得到明文数据。得到明文数据。

【技术实现步骤摘要】
基于同态加密的隐匿查询方法、系统、介质及设备


[0001]本专利技术涉及信息安全
,具体地,涉及基于同态加密的隐匿查询方法及系统。

技术介绍

[0002]随着互联网和大数据技术的发展,通过对用户产生的海量数据存储、分析、计算等操作来提高数据的使用效率,挖掘数据价值是当下最火热的方向。
[0003]目前针对数据库的查询大多是明文查询,即数据提供方可以明确知道数据查询方查询的数据,根据其查询要求返回明文数据,不能保证数据查询方的隐私性,针对现有技术的不足,本专利技术基于同态加密技术提供隐匿查询方案,在保护数据查询方隐私的提供下,提供数据库的查询方案。
[0004]专利文献CN106022145B(申请号:201610327978.8)公开了一种基于密文索引的数据查询方法,包括如下步骤:向数据提供模块发送查询请求;接收数据提供模块对第一签名信息验证后产生的第一随机数Ry;对第一随机数Ry和查询索引ID进行哈希计算,同时生成第二随机数Rx,接收数据提供模块发送的查询结果信息和第二签名信息;对第二签名信息验证后,使用私钥对查询结果信息进行解密以获取查询结果。本专利技术通过数据提供模块和查询模块分别指定一个随机变量,并进行重新运算,如果结果正确表明双方知道密文对应的ID;同时使用各自的公私钥进行签名和加密,保证数据传输的保密性和不可抵赖性,进而提高数据查询的安全性。

技术实现思路

[0005]针对现有技术中的缺陷,本专利技术的目的是提供一种基于同态加密的隐匿查询方法、系统、介质及设备。/>[0006]根据本专利技术提供的一种基于同态加密的隐匿查询方法,包括:
[0007]步骤S1:数据提供侧对数据库中的数据按照键值对的方式存储;
[0008]步骤S2:数据查询侧利用本地生成公私钥对对要查询的数据索引加密;
[0009]步骤S3:数据提供侧利用加密的数据索引基于隐匿查询算法对数据库中的数据查询,并返回给数据查询侧;
[0010]步骤S4:数据查询侧接收到结果,使用同态加密的私钥本地解密数据,得到明文数据。
[0011]优选地,所述步骤S1采用:将第i条数据存储为{i,m
i
};其中,i表示数据库的索引下标;m
i
表示数据库存储的明文数据。
[0012]优选地,所述步骤S2采用:
[0013]步骤S2.1:数据查询侧基于满足同态加法的加密算法在本地生成公私钥对,利用公钥对待查询的数据库索引加密;
[0014]步骤S2.2:对数据库的除待查询的其他索引位置分别使用同态加密的公钥进行加
密;
[0015]步骤S2.3:数据查询侧本地组合密文查询向量,并将组合密文查询向量和同态加密的公钥发送至数据提供侧。
[0016]优选地,所述步骤S3采用:
[0017]步骤S3.1:假设数据提供方数据库中共有n条数据,分别为{1,m1},{2,m2},

,{i,m
i
},

{n,m
n
},使用同态加密的公钥分别对明文数据m1,m2,

,m
n
加密生成密文数据c1,c2,

,c
n

[0018]步骤S3.2:根据查询方的查询向量和本地计算的密文数据,计算result
enc
=c1*v1+c2*v2+

c
n
*v
n

[0019]步骤S3.3:将计算结果result
enc
发送给数据查询侧。
[0020]根据本专利技术提供的一种基于同态加密的隐匿查询系统,包括:
[0021]模块M1:数据提供侧对数据库中的数据按照键值对的方式存储;
[0022]模块M2:数据查询侧利用本地生成公私钥对对要查询的数据索引加密;
[0023]模块M3:数据提供侧利用加密的数据索引基于隐匿查询算法对数据库中的数据查询,并返回给数据查询侧;
[0024]模块M4:数据查询侧接收到结果,使用同态加密的私钥本地解密数据,得到明文数据。
[0025]优选地,所述模块M1采用:将第i条数据存储为{i,m
i
};其中,i表示数据库的索引下标;m
i
表示数据库存储的明文数据。
[0026]优选地,所述模块M2采用:
[0027]模块M2.1:数据查询侧基于满足同态加法的加密算法在本地生成公私钥对,利用公钥对待查询的数据库索引加密;
[0028]模块M2.2:对数据库的除待查询的其他索引位置分别使用同态加密的公钥进行加密;
[0029]模块M2.3:数据查询侧本地组合密文查询向量,并将组合密文查询向量和同态加密的公钥发送至数据提供侧。
[0030]优选地,所述模块M3采用:
[0031]模块M3.1:假设数据提供方数据库中共有n条数据,分别为{1,m1},{2,m2},

,{i,m
i
},

{n,m
n
},使用同态加密的公钥分别对明文数据m1,m2,

,m
n
加密生成密文数据c1,c2,

,c
n

[0032]模块M3.2:根据查询方的查询向量和本地计算的密文数据,计算result
enc
=c1*v1+c2*v2+

c
n
*v
n

[0033]模块M3.3:将计算结果result
enc
发送给数据查询侧。
[0034]根据本专利技术提供的一种存储有计算机程序的计算机可读存储介质,所述计算机程序被处理器执行时实现上述所述的方法的步骤。
[0035]根据本专利技术提供的一种基于同态加密的隐匿查询设备,包括:控制器;
[0036]所述控制器包括上述所述的存储有计算机程序的计算机可读存储介质,或者,所述控制器包括上述所述的基于同态加密的隐匿查询系统。
[0037]与现有技术相比,本专利技术具有如下的有益效果:通过基于同态加密的隐匿查询技
术,本专利技术实现了数据提供方不知道数据查询方的查询记录,但是能正确的返回查询信息,保证了用户数据的安全性和隐私性针数据不出本地且能参与计算,并且杜绝数据缓存,导致存储空间的浪费。为数据库匿名查询提供新思路,避免了数据泄露,充分发挥和挖掘数据的价值,且整个查询过程参与方彼此直连,保证数据质量,并不需要第三方可信机构的介入,目前在金融、政务等跨机构数据共享的场景中有广泛的应用前景。
附图说明
[0038]通过阅读参照以下附图对非限制性实施例所作的详细描述,本专利技术的其它特征、目的和优点将会变得更明显:
[0039]图1为基于同态加密的隐匿查询系统示意图。...

【技术保护点】

【技术特征摘要】
1.一种基于同态加密的隐匿查询方法,其特征在于,包括:步骤S1:数据提供侧对数据库中的数据按照键值对的方式存储;步骤S2:数据查询侧利用本地生成公私钥对对要查询的数据索引加密;步骤S3:数据提供侧利用加密的数据索引基于隐匿查询算法对数据库中的数据查询,并返回给数据查询侧;步骤S4:数据查询侧接收到结果,使用同态加密的私钥本地解密数据,得到明文数据。2.根据权利要求1所述的基于同态加密的隐匿查询方法,其特征在于,所述步骤S1采用:将第i条数据存储为{i,m
i
};其中,i表示数据库的索引下标;m
i
表示数据库存储的明文数据。3.根据权利要求1所述的基于同态加密的隐匿查询方法,其特征在于,所述步骤S2采用:步骤S2.1:数据查询侧基于满足同态加法的加密算法在本地生成公私钥对,利用公钥对待查询的数据库索引加密;步骤S2.2:对数据库的除待查询的其他索引位置分别使用同态加密的公钥进行加密;步骤S23:数据查询侧本地组合密文查询向量,并将组合密文查询向量和同态加密的公钥发送至数据提供侧。4.根据权利要求1所述的基于同态加密的隐匿查询方法,其特征在于,所述步骤S3采用:步骤S3.1:假设数据提供方数据库中共有n条数据,分别为{1,m1},{2,m2},...,{i,m
i
},...{n,m
n
},使用同态加密的公钥分别对明文数据m1,m2,...,m
n
加密生成密文数据c1,c2,...,c
n
;步骤S3.2:根据查询方的查询向量和本地计算的密文数据,计算result
enc
=c1*v1+c2*v2+

c
n
*v
n
;步骤S3.3:将计算结果result
enc
发送给数据查询侧。5.一种基于同态加密的隐匿查询系统,其特征在于,包括:模块M1:数据提供侧对数据库中的数据按照键值对的方式存储;模块M2:数据查询侧利用本地生成公私钥对对要查询的数据索引加密;模块M3...

【专利技术属性】
技术研发人员:王琪吴超尘孙宗臣
申请(专利权)人:上海万向区块链股份公司
类型:发明
国别省市:

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

1