主权项 |
一种支持动态更新及多关键字安全排序的可搜索加密方法,其特征在于,包括以下步骤:101、初始化,在云存储的客户端,用户随机生成密钥{M<sub>1</sub>,M<sub>2</sub>,S,K},其中M<sub>1</sub>,M<sub>2</sub>为(d+1)×(d+1)的矩阵,S为(d+1)维的二进制向量,d为字典中关键字的个数,K为加密文件的对称密钥;102、当生成步骤101的密钥后,用户端根据字典和红黑树结构生成待上传文件集合的未加密索引,其中上传文件集合由待上传文件F<sub>i</sub>组成,其中还生成了文件的标识符即标志位数字;103、对步骤102中未加密索引的待上传文件集合进行非对称标量积索引加密,生成节点的索引加密向量I;104、文件加密,用户端完成了对待上传文件集合的索引加密后,对每个待上传文件进行加密,密钥为K,加密算法采用对称加密算法;105、数据外包,将步骤103加密之后的索引和对称加密后的待上传文件上传到云服务器上,云服务器会根据用户生成的陷门,在加密数据上进行计算;106、当用户端用户进行多关键字检索时,用户生成查询向量并进行加密后,和红黑树的子节点进行匹配,根据叶子节点存储的词频进行计算得分,实现检索时返回top‑k文件,即与要搜索的关键字最相近的前k个文件;107、当有已经上传的文件需要增加和删除时,用户向云服务器发送请求,包含操作的种类和要进行操作的文件的标识符,增加和删除的文件即为更新文件,云服务器根据文件的标识符进行结构更新,但不访问节点的索引加密向量I,同时返回更新文件所关联的节点和对应的索引加密向量I;根据返回的节点和要更新文件的文件向量,用户端在本地重新计算每个节点的向量,进行加密和结构更新,生成索引加密向量Ⅱ;用户端上传加密向量,服务器复制更新之后的索引加密向量Ⅱ到加密索引中。 |