[发明专利]一种基于熵编码的密文索引生成与检索方法及系统有效
申请号: | 201910004029.X | 申请日: | 2019-01-03 |
公开(公告)号: | CN109740362B | 公开(公告)日: | 2021-02-26 |
发明(设计)人: | 冯登国;张敏;李昊;迟佳琳 | 申请(专利权)人: | 中国科学院软件研究所 |
主分类号: | G06F21/60 | 分类号: | G06F21/60;H04L29/06 |
代理公司: | 北京君尚知识产权代理有限公司 11200 | 代理人: | 司立彬 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 编码 索引 生成 检索 方法 系统 | ||
1.一种基于熵编码的密文索引生成方法,其步骤包括:
1)客户端设置加密索引向量和陷门向量的密钥;客户端设置编码长度l以及l个不同的哈希函数hi,i∈[1..l];每个哈希函数将输入数据项随机映射至值域{0,1};
2)对于用户待上传的二元组(kw,data),客户端采用熵编码算法为关键字kw计算生成核心码字ccode(kw),对数据项data加密生成Enc(data);
3)客户端利用哈希函数计算关键字kw的填充码padding(kw),然后将核心码字ccode(kw)与填充码padding(kw)顺序连接,生成长度为l的关键字编码;
4)客户端将编码(p1p2…pl)填充至l+2维向量P,并利用索引向量加密密钥对向量P进行加密运算,得到加密索引向量P*;然后将加密索引向量、加密数据项构成的二元组(P*,Enc(data))发送至服务器端;
5)服务器端存储所收到的加密二元组(P*,Enc(data))生成密文索引。
2.如权利要求1所述的方法,其特征在于,生成填充码padding(kw)的方法为:在哈希函数集合中分别选择hC_length+1,hC_length+2,...hl-1共sl个哈希函数对关键字kw进行计算,计算结果依次连接构成填充码padding(kw);其中,C_length为核心码字ccode(kw)的长度,sl=l-C_length。
3.如权利要求2所述的方法,其特征在于,所述填充码
padding(kw)=hC_length+1(kw)||hC_length+2(kw)||...||hl-1(kw)。
4.如权利要求1所述的方法,其特征在于,步骤4)中,使用任意判断向量内积是否为0的加密算法,对向量P加密得到加密索引向量P*。
5.一种基于权利要求1所生成的密文索引的密文检索方法,其步骤包括:
1)客户端收到要查找出包含有关键字kw的数据项查询请求时,计算出该关键字kw对应的查询编码;
2)计算查询编码对应的检索向量Q,并计算Q的加密向量Q*,将其作为陷门向量发送至服务器端;
3)服务器根据收到的陷门向量Q*,对其所管理的所有加密二元组(P*,Enc(data))进行匹配运算,将所有满足条件的二元组中的加密数据项返回给用户的客户端;
4)选择下一个查询编码,重复步骤3)直至遍历所有查询编码或用户主动终止。
6.如权利要求5所述的方法,其特征在于,生成所述查询编码的方法为:客户端首先依据熵编码算法生成kw的核心码,然后随机选取一个长度为sl的二进制字符串作为填充码,两者连接生成查询编码。
7.如权利要求5所述的方法,其特征在于,步骤2)中,客户端首先将查询编码(q1q2…ql)(对于i∈[1,l],qi∈{0,1}),填充至l+2维检索向量Q,然后利用向量加密密钥计算Q的加密向量Q*。
8.如权利要求5所述的方法,其特征在于,服务器端对收到的陷门向量Q*与加密索引向量P*执行向量内积运算,若Q*·P*=0,则将对应的加密数据项Enc(data)添加到返回数据集。
9.如权利要求5所述的方法,其特征在于,服务器将满足条件的所有数据集{...,Enc(data)i,...,Enc(data)j,...}返回给用户的客户端。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院软件研究所,未经中国科学院软件研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910004029.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:数据处理方法、装置及计算机可读存储介质
- 下一篇:文档分级脱敏加密方法