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

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

Info

Publication number
CN113626645B
CN113626645B CN202110767156.2A CN202110767156A CN113626645B CN 113626645 B CN113626645 B CN 113626645B CN 202110767156 A CN202110767156 A CN 202110767156A CN 113626645 B CN113626645 B CN 113626645B
Authority
CN
China
Prior art keywords
ciphertext
data
index
vector
secure
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110767156.2A
Other languages
English (en)
Other versions
CN113626645A (zh
Inventor
牛晓光
林青海
徐远卓
刘书洹
梅雨轩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan University WHU
Original Assignee
Wuhan University WHU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan University WHU filed Critical Wuhan University WHU
Priority to CN202110767156.2A priority Critical patent/CN113626645B/zh
Publication of CN113626645A publication Critical patent/CN113626645A/zh
Application granted granted Critical
Publication of CN113626645B publication Critical patent/CN113626645B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种分级优化的高效密文模糊检索方法及相关设备,该方法包括:第一总端将每个原始数据对应的密文数据、安全密文索引、第一索引标签值和标志位作为一组样本上传至数据服务器;第二总端将每个查询关键词对应的安全检索陷门与语言特征码上传至数据服务器;在数据服务器中进行检索,得到N个密文数据集合,将N个密文数据集合发送给第二总端,第二总端分别对每个密文数据集合中的密文数据解密,计算第二索引标签值;将每个密文数据集合对应的第二索引标签值与第一索引标签值进行对比,验证数据检索结果。通过本发明,不需要预先构建关键词集合,就可以完成分级优化的高效密文模糊检索,且通过对检索结果进行验证,确保了检索结果的可靠性。

Description

分级优化的高效密文模糊检索方法及相关设备
技术领域
本发明涉及密码学技术领域,尤其涉及一种分级优化的高效密文模糊检索方法及相关设备。
背景技术
支持密文模糊检索在一定程度之上可以允许一定范围之内的部分匹配,从而可以提高密文数据的可用性与功能性,满足合法授权用户的实际应用需求。目前支持密文模糊检索的解决方案所涉及的主要技术,大致可分为:基于相似度匹配、基于通配符匹配与基于字典法匹配。
基于相似度匹配的密文模糊检索方法,主要是以编辑距离定义关键词的相似度,其缺陷主要在于当关键词长度与编辑距离随之增大的情况下,模糊关键词集合中的元素数量也会呈指数数量级增加,极大增加计算性能消耗与浪费存储资源开销。基于通配符匹配的密文模糊检索方法与基于字典法匹配的密文模糊检索方法虽然减少了模糊关键词集合中的元素数量,但仍然需要预先构建关键词集合,导致计算机性能消耗较大,且浪费存储空间。
发明内容
本发明的主要目的在于提供一种分级优化的高效密文模糊检索方法及相关设备,旨在解决预先需要构建关键词集合,导致计算机性能消耗较大,浪费存储空间,且无法对检索结果进行验证的问题。
第一方面,本发明提供一种分级优化的高效密文模糊检索方法,包括以下步骤:
第一总端将每个原始数据对应的密文数据、安全密文索引、第一索引标签值和标志位作为一组样本上传至数据服务器;
第二总端根据查询关键词计算得到安全检索陷门以及语言特征码,将所述安全检索陷门与语言特征码上传至数据服务器;
数据服务器从多组样本中选取标志位与所述语言特征码匹配的目标样本,计算每个目标样本对应的安全密文索引与所述安全检索陷门的内积运算结果,得到多个内积运算结果,将多个内积运算结果中大于阈值的内积运算结果按照从大到小的顺序进行排序,选取排序队列中前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、磁碟、光盘)中,包括若干指令用以使得一台终端设备执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种分级优化的高效密文模糊检索方法,其特征在于,所述分级优化的高效密文模糊检索方法包括:
第一总端将每个原始数据对应的密文数据、安全密文索引、第一索引标签值和标志位作为一组样本上传至数据服务器;
第二总端根据查询关键词计算得到安全检索陷门以及语言特征码,将所述安全检索陷门与语言特征码上传至数据服务器;
数据服务器从多组样本中选取标志位与所述语言特征码匹配的目标样本,计算每个目标样本对应的安全密文索引与所述安全检索陷门的内积运算结果,得到多个内积运算结果,将多个内积运算结果中大于阈值的内积运算结果按照从大到小的顺序进行排序,选取排序队列中前N个内积运算结果对应的N个目标样本,基于N个目标样本得到N个密文数据集合,将N个密文数据集合发送给第二总端,其中,每个密文数据集合包括其对应的目标样本对应的安全密文索引的哈希值、密文数据以及第一索引标签值,N为正整数;
第二总端分别对每个密文数据集合中的密文数据解密,得到每个密文数据集合对应的解密后的数据;
第二总端根据每个密文数据集合对应的解密后的数据、密文数据以及哈希值计算得到每个密文数据集合对应的第二索引标签值;
第二总端将每个密文数据集合对应的第二索引标签值与第一索引标签值进行对比,以第二索引标签值与第一索引标签值一致的密文数据集合中的密文数据为正确检索结果。
2.如权利要求1所述的分级优化的高效密文模糊检索方法,其特征在于,所述根据查询关键词计算得到安全检索陷门以及语言特征码的步骤包括:
将查询关键词转化生成向量维度为k的指纹特征向量VW,用强伪随机置换函数对指纹特征向量VW进行处理,得到安全指纹特征向量再用安全最近邻算法对安全指纹特征向量进行处理,引入随机生成的维度为k×k的两个可逆矩阵M1与M2,将通过安全最近邻算法处理后的安全指纹特征向量/>与可逆矩阵M1、M2进行加密运算,以运算结果作为查询关键词对应的安全检索陷门;
根据查询关键词的语言类型,得到语言特征码。
3.如权利要求1所述的分级优化的高效密文模糊检索方法,其特征在于,在所述将每个原始数据对应的密文数据、安全密文索引、第一索引标签值和标志位作为一组样本上传至数据服务器的步骤之前,还包括:
第一总端根据安全参数计算得到数据加密密钥,基于数据加密密钥对原始数据加密得到密文数据;
第一总端提取原始数据的特征信息,根据特征信息计算得到安全密文索引;
第一总端根据原始数据、所述密文数据以及所述安全密文索引计算得到第一索引标签值;
第一总端根据原始数据的语言类型得到标志位。
4.如权利要求3所述的分级优化的高效密文模糊检索方法,其特征在于,所述提取原始数据的特征信息,根据特征信息计算得到安全密文索引的步骤包括:
若原始数据为英文字符数据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进行加密运算,以运算结果作为原始数据相对应的安全密文索引。
5.如权利要求3所述的分级优化的高效密文模糊检索方法,其特征在于,所述根据原始数据、所述密文数据以及所述安全密文索引计算得到第一索引标签值的步骤包括:
调用单向散列函数和MAC函数对所述原始数据、所述密文数据、所述安全密文索引进行计算,得到第一索引标签值。
6.如权利要求1所述的分级优化的高效密文模糊检索方法,其特征在于,所述计算每个目标样本对应的安全密文索引与所述安全检索陷门的内积运算结果的步骤包括:
将安全密文索引定义为将安全检索陷门定义为将安全密文索引与安全检索陷门进行向量运算,得到内积运算结果,运算过程如下:/>
7.一种分级优化的高效密文模糊检索装置,其特征在于,所述分级优化的高效密文模糊检索装置包括:
上传模块:用于第一总端将每个原始数据对应的密文数据、安全密文索引、第一索引标签值和标志位作为一组样本上传至数据服务器;
第一计算模块:用于第二总端根据查询关键词计算得到安全检索陷门以及语言特征码,将所述安全检索陷门与语言特征码上传至数据服务器;
选取模块:数据服务器从多组样本中选取标志位与所述语言特征码匹配的目标样本,计算每个目标样本对应的安全密文索引与所述安全检索陷门的内积运算结果,得到多个内积运算结果,将多个内积运算结果中大于阈值的内积运算结果按照从大到小的顺序进行排序,选取排序队列中前N个内积运算结果对应的N个目标样本,基于N个目标样本得到N个密文数据集合,将N个密文数据集合发送给第二总端,其中,每个密文数据集合包括其对应的目标样本对应的安全密文索引的哈希值、密文数据以及第一索引标签值,N为正整数;
解密模块:用于第二总端分别对每个密文数据集合中的密文数据解密,得到每个密文数据集合对应的解密后的数据;
第二计算模块:用于第二总端根据每个密文数据集合对应的解密后的数据、密文数据以及哈希值计算得到每个密文数据集合对应的第二索引标签值;
对比模块:用于第二总端将每个密文数据集合对应的第二索引标签值与第一索引标签值进行对比,以第二索引标签值与第一索引标签值一致的密文数据集合中的密文数据为正确检索结果。
8.如权利要求7所述的一种分级优化的高效密文模糊检索装置,其特征在于,第一计算模块,具体用于:
将查询关键词转化生成向量维度为k的指纹特征向量VW,用强伪随机置换函数对指纹特征向量VW进行处理,得到安全指纹特征向量再用安全最近邻算法对安全指纹特征向量进行处理,引入随机生成的维度为k×k的两个可逆矩阵M1与M2,将通过安全最近邻算法处理后的安全指纹特征向量/>与可逆矩阵M1、M2进行加密运算,以运算结果作为查询关键词对应的安全检索陷门;
根据查询关键词的语言类型,得到语言特征码。
9.一种分级优化的高效密文模糊检索设备,其特征在于,所述分级优化的高效密文模糊检索设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的分级优化的高效密文模糊检索程序,其中所述分级优化的高效密文模糊检索程序被所述处理器执行时,实现如权利要求1至6中任一项所述的分级优化的高效密文模糊检索方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有分级优化的高效密文模糊检索程序,其中所述分级优化的高效密文模糊检索程序被处理器执行时,实现如权利要求1至6中任一项所述的分级优化的高效密文模糊检索方法的步骤。
CN202110767156.2A 2021-07-07 2021-07-07 分级优化的高效密文模糊检索方法及相关设备 Active CN113626645B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110767156.2A CN113626645B (zh) 2021-07-07 2021-07-07 分级优化的高效密文模糊检索方法及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110767156.2A CN113626645B (zh) 2021-07-07 2021-07-07 分级优化的高效密文模糊检索方法及相关设备

Publications (2)

Publication Number Publication Date
CN113626645A CN113626645A (zh) 2021-11-09
CN113626645B true CN113626645B (zh) 2023-09-29

Family

ID=78379220

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110767156.2A Active CN113626645B (zh) 2021-07-07 2021-07-07 分级优化的高效密文模糊检索方法及相关设备

Country Status (1)

Country Link
CN (1) CN113626645B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115292737B (zh) * 2022-10-08 2022-12-09 成都泛联智存科技有限公司 一种多关键词模糊搜索加密方法、系统及电子设备
CN116127498B (zh) * 2022-11-28 2024-06-07 中国民用航空总局第二研究所 一种密文检索结果可验证的多关键字可搜索加密方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105681280A (zh) * 2015-12-29 2016-06-15 西安电子科技大学 一种云环境中基于中文的可搜索加密方法
CN108712366A (zh) * 2018-03-27 2018-10-26 西安电子科技大学 云环境中支持词形词义模糊检索的可搜索加密方法及系统
WO2020133032A1 (zh) * 2018-12-27 2020-07-02 深圳技术大学(筹) 一种可防伪造的多用户密文搜索方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108334612B (zh) * 2018-02-07 2022-03-29 华南理工大学 一种针对密文域的形近汉字全文模糊检索方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105681280A (zh) * 2015-12-29 2016-06-15 西安电子科技大学 一种云环境中基于中文的可搜索加密方法
CN108712366A (zh) * 2018-03-27 2018-10-26 西安电子科技大学 云环境中支持词形词义模糊检索的可搜索加密方法及系统
WO2020133032A1 (zh) * 2018-12-27 2020-07-02 深圳技术大学(筹) 一种可防伪造的多用户密文搜索方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种云环境中密文数据的模糊多关键词检索方案;何亨;夏薇;张继;金瑜;李鹏;计算机科学;第44卷(第5期);全文 *

Also Published As

Publication number Publication date
CN113626645A (zh) 2021-11-09

Similar Documents

Publication Publication Date Title
CN108334612B (zh) 一种针对密文域的形近汉字全文模糊检索方法
CN111199053B (zh) 用于对加密数据进行多字符通配符搜索的系统和方法
US9825757B2 (en) Encrypting and decrypting information
US8429421B2 (en) Server-side encrypted pattern matching
Andoni et al. Approximating edit distance in near-linear time
CN113626645B (zh) 分级优化的高效密文模糊检索方法及相关设备
CN108959567B (zh) 一种云环境下适用于大规模图像的安全检索方法
CN106610995B (zh) 一种创建密文索引的方法、装置及系统
KR20130062889A (ko) 데이터 압축 방법 및 시스템
CN110851481B (zh) 一种可搜索加密方法、装置、设备及可读存储介质
CN111797409B (zh) 一种大数据中文文本无载体信息隐藏方法
CN115470508B (zh) 一种版式文件矢量化加密方法
CN110543778A (zh) 一种字符数据线性随机加密和解密算法
CN109492410B (zh) 数据可搜索加密和关键词搜索方法、系统及终端、设备
CN115017107A (zh) 基于保护隐私的数据检索方法、装置、计算机设备及介质
CN110727951B (zh) 具有隐私保护的轻量级外包文件多关键词检索方法及系统
CN107220333B (zh) 一种基于Sunday算法的字符搜索方法
CN115757676A (zh) 模糊可搜索加密方法、装置及电子设备
CN116825259B (zh) 一种基于物联网的医疗数据管理方法
CN116684062B (zh) 基于代理重加密的云计算外包和数据动态分享方法及系统
CN115268799B (zh) 一种基于云服务的存储方法和装置
CN115795029A (zh) 一种基于二分聚类树的可搜索加密方法
CN115640585A (zh) 一种数据处理方法、装置及可读存储介质
CN115935299A (zh) 授权控制方法、装置、计算机设备和存储介质
CN117235803B (zh) 基于数据要素的数据安全认证方法、装置和电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant