1.一种基于分层动态恒权码的关键词私有信息检索方法,其特征在于,包括以下步骤:
在服务端构建多维的超立方体存储单元与抗碰撞哈希函数,使用抗碰撞哈希函数将待检索数据库中每一数据关键词的键值对映射到超立方体存储单元中的唯一位置,以分层映射的方式将超立方体存储单元中每一数据的坐标映射为唯一的坐标恒权码;
客户端获取待检索数据关键词的键,使用抗碰撞哈希函数将待检索数据的键映射为多维指示向量,以分层映射的方式将多维指示向量中的每一维度的指示向量映射为指示恒权码,将每一指示恒权码压缩为多个查询多项式,对每一查询多项式进行同态加密得到密文多项式,将所有密文多项式进行组合得到查询向量,并将所述查询向量发送给服务端;
服务端对所述查询向量进行扩展得到扩展查询向量,对超立方体存储单元中的坐标恒权码与扩展查询向量进行相等性检测得到选择向量,对所述选择向量进行有序的同态点积操作得到查询结果,将所述查询结果返回给客户端;
客户端对所述查询结果进行同态解密得到待检索数据关键词的值,以待检索数据关键词的键值对获取对应的待检索数据。
2.根据权利要求1所述的一种基于分层动态恒权码的关键词私有信息检索方法,其特征在于,在“使用抗碰撞哈希函数将待检索数据库中每一数据关键词的键值对映射到超立方体存储单元中的唯一位置”步骤中,使用抗碰撞哈希函数计算每一数据关键词的键在超立方体存储单元每一维度下的坐标值,基于每一维度下的坐标值来获取每一数据关键词坐标位置,将每一数据关键词的键值对存放在立方体存储单元的对应坐标位置中。
3.根据权利要求1所述的一种基于分层动态恒权码的关键词私有信息检索方法,其特征在于,在“以分层映射的方式将每一数据在超立方体存储单元中每一数据的坐标映射为坐标恒权码”步骤中,服务端为超立方体存储单元的每一维度设置对应的码长与汉明重量作为恒权参数,基于超立方体存储单元每一维度下的恒权参数来将每一数据关键词的键在超立方体存储单元对应维度下的坐标值转换为第一恒权码,整合每一维度下的第一恒权码得到坐标恒权码。
4.根据权利要求3所述的一种基于分层动态恒权码的关键词私有信息检索方法,其特征在于,服务端为码长与汉明重量设置目标函数与约束公式,基于目标函数与约束条件来为超立方体存储单元的每一维度设置对应的码长与汉明重量,所述目标函数的公式表示如下: ;
其中, 为第 维度下第 层的码长, 为超立方体存储单元第维度的层数;
所述约束条件的公式表示如下, :
其中,为当前维度,为当前层数, 为超立方体存储单
元在第维度下的总层数, 为第 维度下第 层的码长, 为第 维度下第 层的汉明重量,为满足总汉明重量守恒 的前提下覆盖给定的数据库规模。
5.一种基于分层动态恒权码的关键词私有信息检索方法,其特征在于,包括以下步骤:
获取待检索数据关键词的键,使用抗碰撞哈希函数将待检索数据的键映射为多维指示向量,以分层映射的方式将多维指示向量中的每一维度的指示向量映射为指示恒权码,将每一指示恒权码压缩为多个查询多项式并对每一查询多项式进行同态加密得到密文多项式,将所有密文多项式进行组合得到查询向量,并将所述查询向量发送给服务端;其中服务端内构建映射待检索数据库的多维的超立方体存储单元,待检索数据库中每一数据关键词的键值对映射到超立方体存储单元中的唯一位置,且超立方体存储单元中每一数据的坐标被映射为唯一的坐标恒权码;
获取服务端的查询结果,并对查询结果进行同态解密得到待检索数据关键词的值,以待检索数据关键词的键值对获取对应的待检索数据。
6.根据权利要求5所述的一种基于分层动态恒权码的关键词私有信息检索方法,其特征在于,设定动态分段算法,基于动态分段算法将每一指示恒权码分割为S个分段,并分别对每一分段进行多项式的构造得到多个查询多项式,所述动态分段算法的公式表示如下: ;
;
其中,为分段数量,为指示恒权码的总长度,为压缩常数,是分段数量对计算复杂度的影响权重,是每段大小对内存占用的影响权重,是恒权码分布特性对计算效率的影响权重, 表示指示恒权码 中非零位分布的方差。
7.根据权利要求6所述的一种基于分层动态恒权码的关键词私有信息检索方法,其特征在于,将每一分段构造为查询多项式的公式表示如下: ;
其中,为当前分段 ,为指示恒权码的维度,为压缩参数,为指示恒权码,为超立方体存储单元的维度,为当前维度下的指示恒权码数量。
8.根据权利要求5所述的一种基于分层动态恒权码的关键词私有信息检索方法,其特征在于,在“对所述查询向量进行扩展得到扩展查询向量”步骤中,计算并存储超立方体存储单元每一维度的旋转因子,初始化分段数量并创建全局密文集合,依次将查询向量中的每一密文多项式加载到临时数组中,并逐一对临时数组中的每一密文多项式进行扩展,并将扩展结果保存到全局密文集合中,当完成对所有密文多项式的扩展后输出全局密文集合得到扩展查询向量。
9.一种基于分层动态恒权码的关键词私有信息检索方法,其特征在于,包括以下步骤:
构建映射待检索库的多维的超立方体存储单元,其中超待检索数据库中每一数据关键词的键值对映射到超立方体存储单元中的唯一位置,且超立方体存储单元中每一数据的坐标被映射为唯一的坐标恒权码;
获取来自于客户端的映射待检测数据关键词的查询向量,对所述查询向量进行扩展得到扩展查询向量,对超立方体存储单元中的坐标恒权码与扩展查询向量进行相等性检测得到选择向量,对所述选择向量进行有序的同态点积操作得到查询结果,将所述查询结果返回给客户端,其中查询向量为将待检索数据的键映射为多维指示向量,并以分层映射的方式将多维指示向量中的每一维度的指示向量映射为指示恒权码,将每一指示恒权码压缩为多个查询多项式,对每一查询多项式进行同态加密得到的密文多项式,将所有密文多项式进行组合得到查询向量。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1‑4任一所述的一种基于分层动态恒权码的关键词私有信息检索方法或权利要求5‑8任一所述的一种基于分层动态恒权码的关键词私有信息检索方法或权利要求9所述的一种基于分层动态恒权码的关键词私有信息检索方法。