分级优化的高效密文模糊检索方法及相关设备

文档序号:1816119 发布日期:2021-11-09 浏览:20次 >En<

阅读说明:本技术 分级优化的高效密文模糊检索方法及相关设备 (Hierarchical optimization efficient ciphertext fuzzy retrieval method and related equipment ) 是由 牛晓光 林青海 徐远卓 刘书洹 梅雨轩 于 2021-07-07 设计创作,主要内容包括:本发明提供一种分级优化的高效密文模糊检索方法及相关设备,该方法包括:第一总端将每个原始数据对应的密文数据、安全密文索引、第一索引标签值和标志位作为一组样本上传至数据服务器;第二总端将每个查询关键词对应的安全检索陷门与语言特征码上传至数据服务器;在数据服务器中进行检索,得到N个密文数据集合,将N个密文数据集合发送给第二总端,第二总端分别对每个密文数据集合中的密文数据解密,计算第二索引标签值;将每个密文数据集合对应的第二索引标签值与第一索引标签值进行对比,验证数据检索结果。通过本发明,不需要预先构建关键词集合,就可以完成分级优化的高效密文模糊检索,且通过对检索结果进行验证,确保了检索结果的可靠性。(The invention provides a hierarchical optimization high-efficiency ciphertext fuzzy retrieval method and related equipment, wherein the method comprises the following steps: the first master terminal uploads ciphertext data, a safety ciphertext index, a first index tag value and a flag bit corresponding to each original data as a group of samples to a data server; the second main terminal uploads the safe retrieval trapdoor and the language feature code corresponding to each query keyword to a data server; searching in a data server to obtain N ciphertext data sets, sending the N ciphertext data sets to a second master end, decrypting ciphertext data in each ciphertext data set by the second master end respectively, and calculating a second index tag value; and comparing the second index tag value corresponding to each ciphertext data set with the first index tag value, and verifying the data retrieval result. By the method and the device, the high-efficiency fuzzy ciphertext retrieval with hierarchical optimization can be completed without constructing a keyword set in advance, and the reliability of the retrieval result is ensured by verifying the retrieval result.)

分级优化的高效密文模糊检索方法及相关设备

技术领域

本发明涉及密码学技术领域,尤其涉及一种分级优化的高效密文模糊检索方法及相关设备。

背景技术

支持密文模糊检索在一定程度之上可以允许一定范围之内的部分匹配,从而可以提高密文数据的可用性与功能性,满足合法授权用户的实际应用需求。目前支持密文模糊检索的解决方案所涉及的主要技术,大致可分为:基于相似度匹配、基于通配符匹配与基于字典法匹配。

基于相似度匹配的密文模糊检索方法,主要是以编辑距离定义关键词的相似度,其缺陷主要在于当关键词长度与编辑距离随之增大的情况下,模糊关键词集合中的元素数量也会呈指数数量级增加,极大增加计算性能消耗与浪费存储资源开销。基于通配符匹配的密文模糊检索方法与基于字典法匹配的密文模糊检索方法虽然减少了模糊关键词集合中的元素数量,但仍然需要预先构建关键词集合,导致计算机性能消耗较大,且浪费存储空间。

发明内容

本发明的主要目的在于提供一种分级优化的高效密文模糊检索方法及相关设备,旨在解决预先需要构建关键词集合,导致计算机性能消耗较大,浪费存储空间,且无法对检索结果进行验证的问题。

第一方面,本发明提供一种分级优化的高效密文模糊检索方法,包括以下步骤:

第一总端将每个原始数据对应的密文数据、安全密文索引、第一索引标签值和标志位作为一组样本上传至数据服务器;

第二总端根据查询关键词计算得到安全检索陷门以及语言特征码,将所述安全检索陷门与语言特征码上传至数据服务器;

数据服务器从多组样本中选取标志位与所述语言特征码匹配的目标样本,计算每个目标样本对应的安全密文索引与所述安全检索陷门的内积运算结果,得到多个内积运算结果,将多个内积运算结果中大于阈值的内积运算结果按照从大到小的顺序进行排序,选取排序队列中前N个内积运算结果对应的N个目标样本,基于N个目标样本得到N个密文数据集合,将N个密文数据集合发送给第二总端,其中,每个密文数据集合包括其对应的目标样本对应的安全密文索引的哈希值、密文数据以及第一索引标签值,N为正整数;

第二总端分别对每个密文数据集合中的密文数据解密,得到每个密文数据集合对应的解密后的数据;

第二总端根据每个密文数据集合对应的解密后的数据、密文数据以及哈希值计算得到每个密文数据集合对应的第二索引标签值;

第二总端将每个密文数据集合对应的第二索引标签值与第一索引标签值进行对比,以第二索引标签值与第一索引标签值一致的密文数据集合中的密文数据为正确检索结果。

可选的,所述根据查询关键词计算得到安全检索陷门以及语言特征码的步骤包括:

将查询关键词转化生成向量维度为k的指纹特征向量VW,用强伪随机置换函数对指纹特征向量VW进行处理,得到安全指纹特征向量再用安全最近邻算法对安全指纹特征向量进行处理,引入随机生成的维度为k×k的两个可逆矩阵M1与M2,将通过安全最近邻算法处理后的安全指纹特征向量与可逆矩阵M1、M2进行加密运算,以运算结果作为查询关键词对应的安全检索陷门;

根据查询关键词的语言类型,得到语言特征码。

可选的,在所述将每个原始数据对应的密文数据、安全密文索引、第一索引标签值和标志位作为一组样本上传至数据服务器的步骤之前,还包括:

第一总端根据安全参数计算得到数据加密密钥,基于数据加密密钥对原始数据加密得到密文数据;

第一总端提取原始数据的特征信息,根据特征信息计算得到安全密文索引;

第一总端根据原始数据、所述密文数据以及所述安全密文索引计算得到第一索引标签值;

第一总端根据原始数据的语言类型得到标志位。

可选的,所述提取原始数据的特征信息,根据特征信息计算得到安全密文索引的步骤包括:

若原始数据为英文字符数据Men,则将英文字符数据映射为k1维度的向量v1,其中每个字符对应在向量v1中的位置设置为1;

若原始数据为中文字符数据Mch,则应用五笔编码规则,将字形编码转换为四位字符串数据,将此四位字符串数据映射为k1维度的向量v1,其中每个字符对应在向量v1中的位置设置为1;

选取m个独立的P-stable局部敏感散列函数LSH构建生成维度为k2的布隆过滤器向量V′M,并将向量v1映射到布隆过滤器向量V′M中;

用伪随机序列生成器生成向量维度为k3的随机数序列向量R,根据布隆过滤器向量V′M与随机数序列向量R计算生成特定敏感数据字符串string相对应的指纹特征向量VM

用强伪随机置换函数对指纹特征向量VM进行处理,得到安全指纹特征向量再用安全最近邻算法对安全指纹特征向量进行处理;

引入随机生成的维度为k×k的两个可逆矩阵M1与M2,将通过安全最近邻算法处理后的安全指纹特征向量与可逆矩阵M1、M2进行加密运算,以运算结果作为原始数据相对应的安全密文索引。

可选的,所述根据原始数据、所述密文数据以及所述安全密文索引计算得到第一索引标签值的步骤包括:

调用单向散列函数和MAC函数对所述原始数据、所述密文数据、所述安全密文索引进行计算,得到第一索引标签值。

可选的,所述计算每个目标样本对应的安全密文索引与所述安全检索陷门的内积运算结果的步骤包括:

将安全密文索引定义为将安全检索陷门定义为 将安全密文索引与安全检索陷门进行向量运算,得到内积运算结果,运算过程如下:

第二方面,本发明还提供一种分级优化的高效密文模糊检索装置,所述分级优化的高效密文模糊检索装置包括:

上传模块:用于第一总端将每个原始数据对应的密文数据、安全密文索引、第一索引标签值和标志位作为一组样本上传至数据服务器;

第一计算模块:用于第二总端根据查询关键词计算得到安全检索陷门以及语言特征码,将所述安全检索陷门与语言特征码上传至数据服务器;

选取模块:用于数据服务器从多组样本中选取标志位与所述语言特征码匹配的目标样本,计算每个目标样本对应的安全密文索引与所述安全检索陷门的内积运算结果,得到多个内积运算结果,将多个内积运算结果中大于阈值的内积运算结果按照从大到小的顺序进行排序,选取排序队列中前N个内积运算结果对应的N个目标样本,基于N个目标样本得到N个密文数据集合,将N个密文数据集合发送给第二总端,其中,每个密文数据集合包括其对应的目标样本对应的安全密文索引的哈希值、密文数据以及第一索引标签值,N为正整数;

解密模块:用于第二总端分别对每个密文数据集合中的密文数据解密,得到每个密文数据集合对应的解密后的数据;

第二计算模块:用于第二总端根据每个密文数据集合对应的解密后的数据、密文数据以及哈希值计算得到每个密文数据集合对应的第二索引标签值;

对比模块:用于第二总端将每个密文数据集合对应的第二索引标签值与第一索引标签值进行对比,以第二索引标签值与第一索引标签值一致的密文数据集合中的密文数据为正确检索结果。

可选的,第一计算模块,具体用于:

将查询关键词转化生成向量维度为k的指纹特征向量VM,用强伪随机置换函数对指纹特征向量VW进行处理,得到安全指纹特征向量再用安全最近邻算法对安全指纹特征向量进行处理,引入随机生成的维度为k×k的两个可逆矩阵M1与M2,将通过安全最近邻算法处理后的安全指纹特征向量与可逆矩阵M1、M2进行加密运算,以运算结果作为查询关键词对应的安全检索陷门;

根据查询关键词的语言类型,得到语言特征码。

第三方面,本发明还提供一种分级优化的高效密文模糊检索设备,所述分级优化的高效密文模糊检索设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的分级优化的高效密文模糊检索程序,其中所述分级优化的高效密文模糊检索程序被所述处理器执行时,实现如上所述的分级优化的高效密文模糊检索方法的步骤。

第四方面,本发明还提供一种可读存储介质,所述可读存储介质上存储有分级优化的高效密文模糊检索程序,其中所述分级优化的高效密文模糊检索程序被处理器执行时,实现如上所述的分级优化的高效密文模糊检索方法的步骤。

本发明中,第一总端将每个原始数据对应的密文数据、安全密文索引、第一索引标签值和标志位作为一组样本上传至数据服务器;第二总端根据查询关键词计算得到安全检索陷门以及语言特征码,将所述安全检索陷门与语言特征码上传至数据服务器;数据服务器从多组样本中选取标志位与所述语言特征码匹配的目标样本,计算每个目标样本对应的安全密文索引与所述安全检索陷门的内积运算结果,得到多个内积运算结果,将多个内积运算结果中大于阈值的内积运算结果按照从大到小的顺序进行排序,选取排序队列中前N个内积运算结果对应的N个目标样本,基于N个目标样本得到N个密文数据集合,将N个密文数据集合发送给第二总端,其中,每个密文数据集合包括其对应的目标样本对应的安全密文索引的哈希值、密文数据以及第一索引标签值,N为正整数;第二总端分别对每个密文数据集合中的密文数据解密,得到每个密文数据集合对应的解密后的数据;第二总端根据每个密文数据集合对应的解密后的数据、密文数据以及哈希值计算得到每个密文数据集合对应的第二索引标签值;第二总端将每个密文数据集合对应的第二索引标签值与第一索引标签值进行对比,以第二索引标签值与第一索引标签值一致的密文数据集合中的密文数据为正确检索结果。通过本发明,不需要预先构建关键词集合,就可以完成分级优化的高效密文模糊检索,避免了预先需要构建关键词集合,导致计算机性能消耗较大,浪费存储空间的问题,且通过对检索结果进行验证,确保了检索结果的正确性与可靠性。

附图说明

图1为本发明实施例方案中涉及的分级优化的高效密文模糊检索设备的硬件结构示意图;

图2为本发明分级优化的高效密文模糊检索方法第一实施例的流程示意图;

图3为本发明分级优化的高效密文模糊检索装置第一实施例的功能模块示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

第一方面,本发明实施例提供一种分级优化的高效密文模糊检索设备,该分级优化的高效密文模糊检索设备可以是个人计算机(personal computer,PC)、笔记本电脑、服务器等具有数据处理功能的设备。

参照图1,图1为本发明实施例方案中涉及的分级优化的高效密文模糊检索设备的硬件结构示意图。本发明实施例中,分级优化的高效密文模糊检索设备可以包括处理器1001(例如中央处理器Central Processing Unit,CPU),通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信;用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard);网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真WIreless-FIdelity,WI-FI接口);存储器1005可以是高速随机存取存储器(random access memory,RAM),也可以是稳定的存储器(non-volatile memory),例如磁盘存储器,存储器1005可选的还可以是独立于前述处理器1001的存储装置。本领域技术人员可以理解,图1中示出的硬件结构并不构成对本发明的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

继续参照图1,图1中作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及分级优化的高效密文模糊检索程序。其中,处理器1001可以调用存储器1005中存储的分级优化的高效密文模糊检索程序,并执行本发明实施例提供的分级优化的高效密文模糊检索方法。

第二方面,本发明实施例提供了一种分级优化的高效密文模糊检索方法。

一实施例中,参照图2,图2为本发明分级优化的高效密文模糊检索方法第一实施例的流程示意图。如图2所示,分级优化的高效密文模糊检索方法包括以下步骤:

S10:第一总端将每个原始数据对应的密文数据、安全密文索引、第一索引标签值和标志位作为一组样本上传至数据服务器;

本实施例中,第一总端将每个原始数据对应的密文数据C、安全密文索引S、第一索引标签值Tag和标志位sign上传至数据服务器。

S20:第二总端根据查询关键词计算得到安全检索陷门以及语言特征码,将所述安全检索陷门与语言特征码上传至数据服务器;

本实施例中,第二总端根据查询关键词W,运用模糊检索算法,计算得到安全检索陷门Q,每个关键词对应一个安全检索陷门Q。针对查询关键词的语言类型进行语言特征码的赋值,得到与查询关键词的语言类型对应的语言特征码。

进一步地,一实施例中,根据查询关键词计算得到安全检索陷门以及语言特征码的步骤,还包括:

将查询关键词转化生成向量维度为k的指纹特征向量VW,用强伪随机置换函数对指纹特征向量VW进行处理,得到安全指纹特征向量再用安全最近邻算法对安全指纹特征向量进行处理,引入随机生成的维度为k×k的两个可逆矩阵M1与M2,将通过安全最近邻算法处理后的安全指纹特征向量与可逆矩阵M1、M2进行加密运算,以运算结果作为查询关键词对应的安全检索陷门;

根据查询关键词的语言类型,得到语言特征码。

本实施例中,第二总端将查询关键词转化生成向量维度为k的指纹特征向量VW。运用强伪随机算法以及第一总端根据安全参数K,调用密钥生成算法计算得到的索引密钥SK计算得到安全指纹特征向量以向量维度为k的二进制比特向量作为拆分向量,根据安全最近邻算法,将安全指纹特征向量加密拆分为两个相对应的子向量引入随机生成的维度为k×k的两个可逆矩阵M1与M2,进行向量与矩阵的加密运算,以运算结果作为查询关键词W相对应的安全检索陷门Q,

针对中文字符查询关键词Wch的语言特征码sig进行4bit单位的赋值,其中前3bit随机赋值,最后1bit赋值为0,如若针对英文字符查询关键词Wen的语言特征码sig进行4bit单位的赋值,其中前3bit随机赋值,最后1bit赋值为1。将安全检索陷门Q以及其相对应的语言特征码sig上传至数据服务器。

S30:数据服务器从多组样本中选取标志位与所述语言特征码匹配的目标样本,计算每个目标样本对应的安全密文索引与所述安全检索陷门的内积运算结果,得到多个内积运算结果,将多个内积运算结果中大于阈值的内积运算结果按照从大到小的顺序进行排序,选取排序队列中前N个内积运算结果对应的N个目标样本,基于N个目标样本得到N个密文数据集合,将N个密文数据集合发送给第二总端,其中,每个密文数据集合包括其对应的目标样本对应的安全密文索引的哈希值、密文数据以及第一索引标签值,N为正整数;

本实施例中,数据服务器接收到第一总端上传多组样本以及第二总端上传的安全检索陷门与语言特征码后,用match(sig4,sign4)函数将语言特征码sig与密文数据标签域上的标志位sign的第4位进行等值比较,返回值为1,即说明查询关键词的安全检索陷门与密文数据的语言特征是一致的,如若返回值为0,即是不一致的。根据语言特征码与标志位的对比运算结果从多组样本中选取标志位与所述语言特征码匹配的目标样本,将每个目标样本对应的安全密文索引与安全检索陷门进行向量运算,根据向量运算得到的内积运算结果,将多个内积运算结果中大于阈值的内积运算结果按照从大到小的顺序进行排序,再根据系统检索需求返回Top-K数据检索,返回排序队列中前N个内积运算结果对应的N个目标样本,计算每个目标样本对应的安全密文索引的哈希值。每组目标样本对应的安全密文索引的哈希值、密文数据以及第一索引标签值组成一个密文数据集合。将N组安全密文索引的哈希值、密文数据以及第一索引标签值组成N个密文数据集合发送给第二总端,N为正整数。阈值的设置意义是提高检索数据的精准度,减少冗余数据的返回,即是召回率,减少返回的加密数据集合,将降低之后的加密数据解密运算与比对运算的计算效能,提高检索效率与准确性。

进一步地,一实施例中,计算每个目标样本对应的安全密文索引与所述安全检索陷门的内积运算结果的步骤,还包括:

将安全密文索引定义为将安全检索陷门定义为 将安全密文索引与安全检索陷门进行向量运算,得到内积运算结果,运算过程如下: T为转置矩阵。

本实施例中,将每个目标样本对应的安全密文索引与安全检索陷门进行向量运算,根据向量运算得到的内积运算结果,将多个内积运算结果中大于阈值的内积运算结果按照从大到小的顺序进行排序,其值越大说明安全检索陷门Q与安全密文索引S的匹配度越高。

S40:第二总端分别对每个密文数据集合中的密文数据解密,得到每个密文数据集合对应的解密后的数据;

本实施例中,第二总端基于数据加密密钥EK,应用对称加密算法对每个密文数据集合中的密文数据Ci进行解密得到每个密文数据集合对应的解密后的数据Mi,定义为Mi=DEK(Ci)。

S50:第二总端根据每个密文数据集合对应的解密后的数据、密文数据以及哈希值计算得到每个密文数据集合对应的第二索引标签值;

本实施例中,第二总端结合每个密文数据集合对应的解密后的数据Mi、密文数据Ci以及哈希值Hi,运用单向散列函数、MAC函数以及步骤S20中的索引密钥SK,计算得到第二索引标签值Tag′i=MACSK(Hash(Mi||Ci)||Hi)。

S60:第二总端将每个密文数据集合对应的第二索引标签值与第一索引标签值进行对比,以第二索引标签值与第一索引标签值一致的密文数据集合中的密文数据为正确检索结果。

本实施例中,第二总端将每个密文数据集合对应的第二索引标签值与第一索引标签值进行对比,以第二索引标签值与第一索引标签值一致的密文数据集合中的密文数据为正确检索结果,以第二索引标签值与第一索引标签值不一致的密文数据集合中的密文数据为错误检索结果。

本实施例中,第一总端将每个原始数据对应的密文数据、安全密文索引、第一索引标签值和标志位作为一组样本上传至数据服务器;第二总端根据查询关键词计算得到安全检索陷门以及语言特征码,将所述安全检索陷门与语言特征码上传至数据服务器;数据服务器从多组样本中选取标志位与所述语言特征码匹配的目标样本,计算每个目标样本对应的安全密文索引与所述安全检索陷门的内积运算结果,得到多个内积运算结果,将多个内积运算结果中大于阈值的内积运算结果按照从大到小的顺序进行排序,选取排序队列中前N个内积运算结果对应的N个目标样本,基于N个目标样本得到N个密文数据集合,将N个密文数据集合发送给第二总端,其中,每个密文数据集合包括其对应的目标样本对应的安全密文索引的哈希值、密文数据以及第一索引标签值,N为正整数;第二总端分别对每个密文数据集合中的密文数据解密,得到每个密文数据集合对应的解密后的数据;第二总端根据每个密文数据集合对应的解密后的数据、密文数据以及哈希值计算得到每个密文数据集合对应的第二索引标签值;第二总端将每个密文数据集合对应的第二索引标签值与第一索引标签值进行对比,以第二索引标签值与第一索引标签值一致的密文数据集合中的密文数据为正确检索结果。通过本实施例,不需要预先构建关键词集合,就可以完成分级优化的高效密文模糊检索,避免了预先需要构建关键词集合,导致计算机性能消耗较大,浪费存储空间的问题,且通过对检索结果进行验证,确保了检索结果的正确性与可靠性。

进一步地,一实施例中,步骤S10之前还包括:

步骤S010:第一总端根据安全参数计算得到数据加密密钥,基于数据加密密钥对原始数据加密得到密文数据;

本实施例中,向第一总端输入安全参数K,第一总端根据安全参数K,调用密钥生成算法计算得到数据加密密钥EK,基于数据加密密钥EK对原始数据进行加密得到密文数据。

步骤S020:第一总端提取原始数据的特征信息,根据特征信息计算得到安全密文索引;

本实施例中,由于原始数据M中、英文字符数据的类型不同,因此先将原始数据M进行字符转换,再由第一总端对原始数据M进行指纹特征信息的提取操作,基于提取的指纹特征信息,应用局部敏感散列函数与安全最近邻算法计算得到安全密文索引S。

步骤S030:第一总端根据原始数据、所述密文数据以及所述安全密文索引计算得到第一索引标签值;

本实施例中,第一总端根据安全参数K,调用密钥生成算法计算得到索引密钥SK,第一总端调用单向散列函数与MAC函数,结合索引密钥SK,对原始数据M、密文数据C、安全密文索引S进行计算,得到第一索引标签值

步骤S040:第一总端根据原始数据的语言类型得到标志位。

本实施例中,为了区分英文字符数据与汉字字符数据,需要在密文数据的标签域上保留最后4bit单位用以设置标志位sign,前3bit随机赋值,最后1bit赋值为1即是代表英文字符数据,其赋值0为即是表示汉字字符数据。

进一步地,一实施例中,步骤S020还包括:

若原始数据为英文字符数据Men,则将英文字符数据映射为k1维度的向量v1,其中每个字符对应在向量v1中的位置设置为1;

若原始数据为中文字符数据Mch,则应用五笔编码规则,将字形编码转换为四位字符串数据,将此四位字符串数据映射为k1维度的向量v1,其中每个字符对应在向量v1中的位置设置为1;

选取m个独立的P-stable局部敏感散列函数LSH构建生成维度为k2的布隆过滤器向量V′M,并将向量v1映射到布隆过滤器向量V′M中;

用伪随机序列生成器生成向量维度为k3的随机数序列向量R,根据布隆过滤器向量V′M与随机数序列向量R计算生成特定敏感数据字符串string相对应的指纹特征向量VM

用强伪随机置换函数对指纹特征向量VM进行处理,得到安全指纹特征向量再用安全最近邻算法对安全指纹特征向量进行处理;

引入随机生成的维度为k×k的两个可逆矩阵M1与M2,将通过安全最近邻算法处理后的安全指纹特征向量与可逆矩阵M1、M2进行加密运算,以运算结果作为原始数据相对应的安全密文索引。

本实施例中,指纹特征向量VM=V′M||R,指纹特征向量VM的维度kM=k2+k3。定义强伪随机置换函数F的随机置换密钥是pk←{0,1}k,则强伪随机置换函数F为:F:{0,1}k×{0,1}k→{0,1}k。用强伪随机置换函数F将指纹特征向量Vstring中元素进行安全的随机置换,引入置换密钥HK,由此运算生成安全指纹特征向量其值定义为:引入相同向量维度k的二进制比特向量作为向量密钥,运用安全最近邻算法将安全指纹特征向量加密拆分成两个向量引入随机生成的维度为k×k的两个可逆矩阵M1与M2,进行向量与矩阵的加密运算,以运算结果作为原始数据M相对应的安全密文索引S,其值定义为T为转置矩阵。

进一步地,一实施例中,步骤S030还包括:

调用单向散列函数和MAC函数对所述原始数据、所述密文数据、所述安全密文索引进行计算,得到第一索引标签值。

本实施例中,第一总端调用单向散列函数与MAC函数,结合索引密钥SK,对原始数据M、密文数据C、安全密文索引S进行计算得到第一索引标签值Tag。其具体实现定义为:Tag=MACSK(Hash(M||C)||Hash(S))。

第三方面,本发明实施例还提供一种分级优化的高效密文模糊检索装置。

一实施例中,参照图3,图3为本发明分级优化的高效密文模糊检索装置第一实施例的功能模块示意图。如图3所示,分级优化的高效密文模糊检索装置包括:

上传模块10:用于第一总端将每个原始数据对应的密文数据、安全密文索引、第一索引标签值和标志位作为一组样本上传至数据服务器;

第一计算模块20:用于第二总端根据查询关键词计算得到安全检索陷门以及语言特征码,将所述安全检索陷门与语言特征码上传至数据服务器;

选取模块30:用于数据服务器从多组样本中选取标志位与所述语言特征码匹配的目标样本,计算每个目标样本对应的安全密文索引与所述安全检索陷门的内积运算结果,得到多个内积运算结果,将多个内积运算结果中大于阈值的内积运算结果按照从大到小的顺序进行排序,选取排序队列中前N个内积运算结果对应的N个目标样本,基于N个目标样本得到N个密文数据集合,将N个密文数据集合发送给第二总端,其中,每个密文数据集合包括其对应的目标样本对应的安全密文索引的哈希值、密文数据以及第一索引标签值,N为正整数;

解密模块40:用于第二总端分别对每个密文数据集合中的密文数据解密,得到每个密文数据集合对应的解密后的数据;

第二计算模块50:用于第二总端根据每个密文数据集合对应的解密后的数据、密文数据以及哈希值计算得到每个密文数据集合对应的第二索引标签值;

对比模块60:用于第二总端将每个密文数据集合对应的第二索引标签值与第一索引标签值进行对比,以第二索引标签值与第一索引标签值一致的密文数据集合中的密文数据为正确检索结果。

进一步地,一实施例中,第一计算模块20,还用于:

将查询关键词转化生成向量维度为k的指纹特征向量VW,用强伪随机置换函数对指纹特征向量VW进行处理,得到安全指纹特征向量再用安全最近邻算法对安全指纹特征向量进行处理,引入随机生成的维度为k×k的两个可逆矩阵M1与M2,将通过安全最近邻算法处理后的安全指纹特征向量与可逆矩阵M1、M2进行加密运算,以运算结果作为查询关键词对应的安全检索陷门;

根据查询关键词的语言类型,得到语言特征码。

进一步地,一实施例中,分级优化的高效密文模糊检索装置还包括数据获取模块,具体用于:

第一总端根据安全参数计算得到数据加密密钥,基于数据加密密钥对原始数据加密得到密文数据;

第一总端提取原始数据的特征信息,根据特征信息计算得到安全密文索引;

第一总端根据原始数据、所述密文数据以及所述安全密文索引计算得到第一索引标签值;

第一总端根据原始数据的语言类型得到标志位。

进一步地,一实施例中,第二计算模块50还用于:

若原始数据为英文字符数据Men,则将英文字符数据映射为k1维度的向量v1,其中每个字符对应在向量v1中的位置设置为1;

若原始数据为中文字符数据Mch,则应用五笔编码规则,将字形编码转换为四位字符串数据,将此四位字符串数据映射为k1维度的向量v1,其中每个字符对应在向量v1中的位置设置为1;

选取m个独立的P-stable局部敏感散列函数LSH构建生成维度为k2的布隆过滤器向量V′M,并将向量v1映射到布隆过滤器向量V′M中;

用伪随机序列生成器生成向量维度为k3的随机数序列向量R,根据布隆过滤器向量V′M与随机数序列向量R计算生成特定敏感数据字符串string相对应的指纹特征向量VM

用强伪随机置换函数对指纹特征向量VM进行处理,得到安全指纹特征向量再用安全最近邻算法对安全指纹特征向量进行处理;

引入随机生成的维度为k×k的两个可逆矩阵M1与M2,将通过安全最近邻算法处理后的安全指纹特征向量与可逆矩阵M1、M2进行加密运算,以运算结果作为原始数据相对应的安全密文索引。

进一步地,一实施例中,第二计算模块50还用于:

调用单向散列函数和MAC函数对所述原始数据、所述密文数据、所述安全密文索引进行计算,得到第一索引标签值。

进一步地,一实施例中,第二计算模块50还用于:

将安全密文索引定义为将安全检索陷门定义为 将安全密文索引与安全检索陷门进行向量运算,得到内积运算结果,运算过程如下:

其中,上述分级优化的高效密文模糊检索装置中各个模块的功能实现与上述分级优化的高效密文模糊检索方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。

第四方面,本发明实施例还提供一种可读存储介质。

本发明可读存储介质上存储有分级优化的高效密文模糊检索程序,其中所述分级优化的高效密文模糊检索程序被处理器执行时,实现如上述的分级优化的高效密文模糊检索方法的步骤。

其中,分级优化的高效密文模糊检索程序被执行时所实现的方法可参照本发明分级优化的高效密文模糊检索方法的各个实施例,此处不再赘述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

18页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:智能电表数据压缩方法、装置和电子设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!