【技术实现步骤摘要】
一种支持动态更新及多关键字安全排序的可搜索加密方法
本专利技术涉及网络信息安全
,特别是一种支持动态更新及多关键字安全排序的可搜索加密方法,可用于对云存储数据下的加密文件进行高效检索和更新。
技术介绍
随着云存储技术的迅猛发展,许多企业和个人都会使用云存储技术把自己内部数据进行外包,为我们节省了一定的设备资源。运用云服务器强大的数据处理能力,能够在客户端节省一定的计算资源。但是,为了保障数据的机密性,在用户将数据外包之前,都要对数据进行加密,从而云服务器不可能从密文中得到有效的信息。但是,当大量的加密文件存储在云服务器上,如果想要检索一个包含特定关键字的文件,把文件全部下载下来进行解密是不能接受的。因此,需要对上传到云服务器的文件进行提前处理。上传到服务器之前,根据文件集合生成索引,由索引能够快速的检索到指定的文件。对索引进行可搜索加密,文件进行对称加密。此时,加密的索引和文件上传到云服务器。如果要检索特定的关键字,服务器会在索引上进行计算,并且返回相应的密文。但是,如果要更新一个文件时,需要把索引下载到本地,全部更新一遍,效率不高。而且现有的可搜索加密技术大部分是针对单关键字设计的,不能满足用户的检索需求。并且在服务器返回检索结果时,用户希望看到最符合检索关键字的前k个文件,而大多数的可搜索加密技术不支持对检索结果进行排序。因此,有必要提出一种高效率进行更新,同时支持多关键字检索,返回top-k文件的可搜索加密方法。
技术实现思路
针对以上现有技术中的不足,本专利技术的目的在于提供一种支持动态更新、多关键字检索并且实现安全排序的可搜索加密方法,本专利技 ...
【技术保护点】
一种支持动态更新及多关键字安全排序的可搜索加密方法,其特征在于,包括以下步骤:101、初始化,在云存储的客户端,用户随机生成密钥{M1,M2,S,K},其中M1,M2为(d+1)×(d+1)的矩阵,S为(d+1)维的二进制向量,d为字典中关键字的个数,K为加密文件的对称密钥;102、当生成步骤101的密钥后,用户端根据字典和红黑树结构生成待上传文件集合的未加密索引,其中上传文件集合由待上传文件Fi组成,其中还生成了文件的标识符即标志位数字;103、对步骤102中未加密索引的待上传文件集合进行非对称标量积索引加密,生成节点的索引加密向量I;104、文件加密,用户端完成了对待上传文件集合的索引加密后,对每个待上传文件进行加密,密钥为K,加密算法采用对称加密算法;105、数据外包,将步骤103加密之后的索引和对称加密后的待上传文件上传到云服务器上,云服务器会根据用户生成的陷门,在加密数据上进行计算;106、当用户端用户进行多关键字检索时,用户生成查询向量并进行加密后,和红黑树的子节点进行匹配,根据叶子节点存储的词频进行计算得分,实现检索时返回top‑k文件,即与要搜索的关键字最相近的前k个文 ...
【技术特征摘要】
1.一种支持动态更新及多关键字安全排序的可搜索加密方法,其特征在于,包括以下步骤:101、初始化,在云存储的客户端,用户随机生成密钥{M1,M2,S,K},其中M1,M2为(d+1)×(d+1)的矩阵,S为(d+1)维的二进制向量,d为字典中关键字的个数,K为加密文件的对称密钥;102、当生成步骤101的密钥后,用户端根据字典和红黑树结构生成待上传文件集合的未加密索引,其中待上传文件集合由待上传文件Fi组成,其中还生成了文件的标识符即标志位数字;步骤102中用户端根据红黑树法生成待上传文件集合的未加密索引的步骤具体:2a)根据用户端待上传文件集合中的每个待上传文件Fi的关键字,建立一个字典,所述字典为所有待上传文件Fi去重之后的关键字集合;2b)根据步骤2a)中字典的关键字和该关键字在待上传文件Fi中的词频,对每个待上传文件Fi建立d+1维列向量P,d为字典中的关键字个数,Pj为关键字Wj的词频,且Pd+1=1,如果,Pj≠0则说明文件Fi中含有关键字Wj;如果Pj=0,则说明文件文件Fi中不含有关键字Wj;2c)根据步骤2b)对每个待上传文件Fi建立的列向量P,及步骤2a)中建立的关键字字典建立红黑树,红黑树的叶子节点存放的是文件的词频Pj,而内部节点存放的是两个待上传文件Fi列向量的或运算结果,叶子节点的父亲节点的计算规则是:如果叶子节点向量不为0,则取1;如果为0,则取0,内部节点为0,1向量,如果内部节点的向量某一位为1,表示至少有一条路线从此内部节点到某个叶子节点,这个叶子节点代表存储有标志位1的关键字的文件,该红黑树就是未加密的索引;103、对步骤102中未加密索引的待上传文件集合进行非对称标量积索引加密,生成节点的索引加密向量I;步骤103中非对称标量积索引加密的步骤具体为:3a)依据密钥中二进制(d+1)维向量S中不同位置的值,对红黑树的每个节点进行随机拆分,拆分之后为两个d+1维向量p1及p2,当向量Sj=1,即节点的第j位可以拆分,拆分之后两个随机数之和等于拆分之前第j位的值,即p1j+p2j=pj;当向量S某一位j为0,即节点的第j位不可以拆分,即p1j=p2j=pj;3b)对每个节点存放的两个向量p1,p2进行非对称标量积加密:(M1Tq1,M2Tq2);M1T表示矩阵M1的转置,M2T表示矩阵M2的转置;3c)此时加密之后的红黑树就是加密索引;104、文件加密,用户端完成了对待上传文件集合的索引加密后,对每个待上传文件进行加密,密钥为K,加密算法采用对称加密算法;105、数据外包,将步骤103加密之后的索引和对称加密后的待上传文件上传到云服务器上,云服务器会根据用户生成的陷门,在加密数据上进行计算;106、当用户端用户进行多关键字检索时,用户生成查询向量并进行加密后,和红...
【专利技术属性】
技术研发人员:周由胜,陈亚琼,罗文俊,刘宴兵,
申请(专利权)人:重庆邮电大学,
类型:发明
国别省市:重庆;85
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。