[发明专利]一种面向加密图的带约束近似最短距离查询方法有效
申请号: | 201710436415.7 | 申请日: | 2017-06-12 |
公开(公告)号: | CN107291861B | 公开(公告)日: | 2020-05-12 |
发明(设计)人: | 沈蒙;马宝利;祝烈煌 | 申请(专利权)人: | 北京理工大学 |
主分类号: | G06F16/901 | 分类号: | G06F16/901;G06F16/903;H04L9/08 |
代理公司: | 北京理工正阳知识产权代理事务所(普通合伙) 11639 | 代理人: | 鲍文娟 |
地址: | 100081 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提出一种面向加密图的带约束近似最短距离查询方法。带约束最短距离查询是一种基本的图查询原语,它在给定起始源点、目的地点以及代价阈值,在图上查找从起始源点到目的地点的不超过代价阈值的最短距离。本发明提出的方法利用了一种基于树的密文比较协议,并且充分利用了对称密码学原语,使之非常高效。通过使用该发明,图拥有者能够在图数据外包到云端服务器之前,首先对图数据进行加密来保障其数据隐私,而后,能够在加密图上进行带约束最短距离查询。 | ||
搜索关键词: | 一种 面向 加密 约束 近似 短距离 查询 方法 | ||
【主权项】:
一种面向加密图的带约束近似最短距离查询方法,其特征在于:步骤1:用户端建立安全的图索引步骤1.1预先通过已有的方法对输入图建立非加密两跳覆盖标签索引,非加密的图索引包含两部分,一部分是out_label标签集,一部分是in_label标签集;对于每一个顶点u,都关联一个out_label标签集合和一个in_label标签集合,out_label标签集合中的元素(顶点υ,距离d,代价c)对象表示从顶点u到顶点υ的距离为d,代价为c,in_label标签集合中的元素(顶点υ,距离d,代价c)对象表示从顶点υ到顶点u的距离为d,代价为c;步骤1.2给定安全参数,随机生成两个二进制比特串作为安全的加密密钥K1和K2;步骤1.3由加密密钥K1和K2生成用来加密图上距离权重的密钥Kd和加密图上代价的密钥Kc,密钥Kd和Kc的生成采用密码学上带密钥的伪随机函数,其中,Kd是通过以K2为密钥,以K1拼接数字1作为输入来生成;Kc是通过以K2为密钥,以K1拼接数字2作为输入来生成;步骤1.4初始化两个字典Iout和Iin,其中,Iout与out_label标签集对应,用来存储加密out_label标签集索引的结果;Iin与in_label标签集对应,用来存储加密in_label标签集索引的结果;步骤1.5针对输入图中的每一个顶点u,初始化一个计数器ω为0,并且初始化用来加密顶点u对应的out_label标签集和in_label标签集索引对象的子密钥Sout,u、Tout,u、Sin,u、Tin,u;初始化子密钥过程通过密码学上的伪随机函数来实现,其中,子密钥Sout,u是以K2为密钥,顶点u拼接数字1为输入来生成;子密钥Tout,u是以K2为密钥,顶点u拼接数字2为输入来生成;子密钥Sin,u是以K2为密钥,顶点u拼接数字3为输入来生成;子密钥Tin,u是以K2为密钥,顶点u拼接数字4为输入来生成;针对顶点u,执行步骤1.6、1.7和1.8步骤1.6构建加密顶点u对应的out_label标签集索引;步骤1.7构建加密顶点u对应的in_label标签集索引;步骤1.8将计数器ω的值增加1;步骤1.9输出字典Iout和Iin作为安全的加密图索引,针对原始输入图,采用任意的加密算法进行加密;步骤2:将加密的图索引和加密的图外包到云服务器端;步骤3:生成用户查询令牌:用户的查询包括起始点,目标点,代价约束值,期待服务器返回结果数量,对每一个这样的用户查询,首先利用密码学上的伪随机函数生成查询子密钥Sout,s、Tout,s、Sin,t、Tin,t、Kc,其中,子密钥Sout,s的生成以K2为密钥,以起始点拼接数字1为输入,其中,子密钥Tout,s的生成以K2为密钥,以起始点拼接数字2为输入,其中,子密钥Sin,t的生成以K2为密钥,以目标点拼接数字3为输入,其中,子密钥Tin,t的生成以K2为密钥,以目标点拼接数字4为输入,其中,子密钥Kc的生成以K2为密钥,以密钥K1拼接数字2为输入,然后,构建代价约束树,对于给定的查询代价约束值θ,使用密钥Kc构建具有指定深度的代价约束树Tθ,代价约束树中的节点分别是θ/2,θ/4,3θ/4等一系列有规则值的加密密文,该树中每一个节点的值为保序加密算法密文,该过程用密钥Kc进行加密;选择返回结果数量为R,输出结果(Sout,s,Tout,s,Sin,t,Tin,t,Tθ,R)作为用户的查询令牌;步骤4:云服务器端利用查询算法回答用户查询;步骤5:用户解密获得满足代价约束的最短距离:用户利用密钥Kd解密每一个云服务器返回的距离对得到解密后的结果(ds,v,dv,t),然后选取最小的ds,v+dv,t作为最终的查询结果;其中,子密钥Kd是利用密码学上的伪随机函数,以K2为密钥,以密钥K1拼接数字1位输入得到的输出结果。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京理工大学,未经北京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710436415.7/,转载请声明来源钻瓜专利网。
- 上一篇:种子用户确定方法
- 下一篇:业务数据存储方法、装置、存储介质及电子设备