1.一种基于α叉索引树的多关键词密文排序检索方法,其特征在于,包括以下步骤:(1)数据拥有者生成密钥K={key,S,M1,M2},其中key为加密密钥,S为随机向量,M1和M2为随机可逆矩阵;对明文文档集合进行预处理,通过向量空间模型对明文文档进行向量化;
(2)通过二分k‑means聚类方法对明文文档集进行二分聚类处理,构建二分聚类树,最后遍历该二分聚类树叶子节点获取聚类文档序列;
(3)基于聚类文档序列,自底向上构建明文α叉索引树;
(4)通过密钥key对明文文档进行加密,通过S、M1和M2对α叉索引树进行加密,将加密后的文档以及加密索引树发送至云服务器,同时与授权用户共享密钥;
(5)授权用户根据检索需求生成检索向量,通过S、M1和M2对检索向量进行加密处理,生成检索陷门;
(6)授权用户将检索陷门和检索需返回的文档数量k发送至云服务器,然后等待接收检索结果;
(7)云服务器接收到检索陷门后,采用贪婪深度优先遍历搜索算法对步骤(4)中索引树进行检索,获取加密文档向量与检索陷门内积计算结果最大的k个加密文档,并作为检索结果返回给授权用户;
(8)授权用户接收到云服务器返回的加密文档后,通过密钥key对加密文档进行解密,进而获得明文检索结果;
所述步骤(2)包括以下步骤:
(21)将明文文档集合DS看成一个原始簇,并作为二分聚类树的根节点,利用二分k‑means聚类方法进行自顶向下的二分处理;
(22)每执行一次二分k‑means聚类,原始簇划分成两个子簇,将这两个子簇作为原始簇的两个孩子节点构建二分聚类树;不断递归,直到划分生成的子簇只包含一个文档为止;
(23)遍历二分聚类树中的叶子节点,获取聚类文档序列所述步骤(3)包括以下步骤:
(31)数据拥有者基于步骤(23)中生成的聚类文档序列 中的文档及向量生成α叉索引树的叶子节点,并将所有叶子节点加入子层节点序列;
(32)从子层节点序列中依次取α个节点构造父节点,并将父节点加入到父层节点序列中;若子层节点序列中剩余节点数不足α,则将剩余节点直接移入父层节点序列;
(33)将父层节点序列中的节点依次移入子层节点序列,重复步骤(32),不断向上构建索引树,当父层节点序列只含有一个节点时,α叉索引树构造完成,该节点即为α叉索引树的根节点;所述α叉索引树的根节点u的数据结构可以表示为u=
所述步骤(6)包括以下步骤:
(61)云服务器收到授权用户上传的检索陷门后,采用贪婪深度优先遍历搜索算法对步骤(4)中索引树进行检索;
(62)若检索节点为中间节点,计算过滤向量和检索陷门的内积值,如果计算结果大于第k个最相关文档与检索陷门的内积值,则继续向下搜索,否则直接剪枝以该中间节点为根的子树;
(63)如果检索节点为叶子节点,计算叶子节点文档向量与检索陷门的内积值,获取与检索陷门内积值最大的k个文档作为返回结果。
2.根据权利要求1所述的一种基于α叉索引树的多关键词密文排序检索方法,其特征在于,所述步骤(4)包括以下步骤:(41)利用密钥key对文档集合DS中的每个文档di进行加密处理生成密文 生成的所有密文构成密文集合
(42)为明文文档集合DS中的任意文档di生成其对应的明文文档向量Di,如果关键词wj∈di则Di[j]存储wj对应的TF值,否则Di[j]为0;
(43)利用密钥S对文档向量Di根据如下公式拆分成D′i和D″i,再利用可逆矩阵M1,M2进行加密得到索引向量
3.根据权利要求1所述的一种基于α叉索引树的多关键词密文排序检索方法,其特征在于,所述步骤(5)包括以下步骤:(51)根据检索关键词集Wq构建检索向量Q,如果wi∈Wq,Q[i]中存储wi的IDF值,否则Q[i]的值为0;
(52)利用密钥S,根据如下公式将Q拆分成两个向量Q′和Q″,(53)利用M1和M2进行加密得到检索陷门