CN112328733B - 基于MinHash函数的中文多关键字模糊排序可搜索加密方法 - Google Patents

基于MinHash函数的中文多关键字模糊排序可搜索加密方法 Download PDF

Info

Publication number
CN112328733B
CN112328733B CN202011174409.7A CN202011174409A CN112328733B CN 112328733 B CN112328733 B CN 112328733B CN 202011174409 A CN202011174409 A CN 202011174409A CN 112328733 B CN112328733 B CN 112328733B
Authority
CN
China
Prior art keywords
chinese
index table
vector
keyword
encrypted
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
CN202011174409.7A
Other languages
English (en)
Other versions
CN112328733A (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.)
Zhejiang Gongshang University
Original Assignee
Zhejiang Gongshang University
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 Zhejiang Gongshang University filed Critical Zhejiang Gongshang University
Priority to CN202011174409.7A priority Critical patent/CN112328733B/zh
Publication of CN112328733A publication Critical patent/CN112328733A/zh
Application granted granted Critical
Publication of CN112328733B publication Critical patent/CN112328733B/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/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computational Linguistics (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种基于MinHash函数的中文多关键字模糊排序可搜索加密方法,节省了存储空间,增强了安全性,提高了效率和准确性。本发明包括如下步骤:步骤A、系统建立与初始化;步骤B、加密阶段:建立(n+1)×(m+1)阶的反向索引表,生成n×m阶的反向索引表排序表,构造(Q+1)×(m+1)阶的模糊索引表,以及建立2×m阶的认证标签表,并将这些数据上传到云服务器;步骤C、搜索阶段:数据用户构造中文关键字的陷门,用会话密钥加密后上传云服务器,云服务器进行搜索对比后,返回搜索结果;步骤D、认证阶段:数据用户验证返回的搜索结果;步骤E、解密阶段:数据用户用主密钥解密加密文档集合,得到相关的加密文档。

Description

基于MinHash函数的中文多关键字模糊排序可搜索加密方法
技术领域
本发明涉及一种基于MinHash函数的中文多关键字模糊排序可搜索加密方法。
背景技术
随着云计算的快速发展,大量的敏感数据被存储在云中。云服务器提供高质量的数据存储服务,减少了用户端的数据存储和维护开销。为了保障数据的隐私性,常用的解决办法是对数据进行加密后上传到云服务器进行外包存储。
因此在云服务器上的加密数据的不可读性阻碍了数据的可用性,比如在加密数据上对关键字搜索,为了解决此类问题提出可搜索加密算法(SE)。在此基础上为了提高搜索的效率,由单关键字搜索改进成多关键字搜索。在实际情况下当数据用户在搜索时出现拼写错误时,基于精确关键字的可搜索方案无法返回数据用户感兴趣的搜索结果,基于此多关键字模糊可搜索加密被提出。考虑到返回的搜索结果的隐私性以及查询关键字与加密文档之间的相关性,提出多关键字模糊排序可搜索加密。这些方案的提出都是针对英文关键字的,因此中文多关键字模糊排序可搜索加密的提出解决了中文关键字可搜索加密的问题。此外,云服务器为了节省计算成本返回的搜索结果与查询关键字无关,用户需要对返回的搜索结果进行验证,可验证的中文多关键字模糊排序可搜索加密就是解决这一问题的。
与本发明相关的背景技术、背景算法包括:编辑距离用于标明两个关键字相互转化的操作数,根据操作数枚举出所有可能的模糊关键字构建模糊关键字集,基于编辑距离技术构建的模糊关键字集需要大量的存储空间。为了节省存储空间,利用通配符技术去构造模糊关键字集的方法被提出。相比于构造模糊关键字集,建立模糊索引表在效率上有很大的提高,因此,Locality-Sensitive Hashing函数、MinHash函数、Bloom filter以及自然语言处理模型都被用来处理向量生成的问题,目的就是提高模糊索引表的精确度和效率。三因素排序算法包括欧氏距离算法,关键字频率权重算法以及权重区域得分算法,欧氏距离计算两个向量之间的相识度,关键字频率权重计算关键字在文档中所占的权重,权重区域得分计算关键字在文档中的区域得分。此外,JS相似度算法计算两个集合之间的相识度。反向索引表被用来建立关键字和文档之间的相关性,在已有的方案中反向索引表通常与相关性分数结合排序文档,但是排序的文档不够准确,反向索引表与三因素算法结合使用提高了文档排序的准确性,使得返回的搜索结果更加符合数据用户的需求。因此,这些技术、算法的出现和应用,设计出安全高效的可搜索加密的方案已经成为密码学界关注的热点。
发明内容
本发明的目的在于克服现有技术中存在的上述不足,而提供一种设计合理的基于MinHash函数的中文多关键字模糊排序可搜索加密方法,节省了存储空间,增强了安全性,提高了效率和准确性。
本发明解决上述问题所采用的技术方案是:一种基于MinHash函数的中文多关键字模糊排序可搜索加密方法,其特征在于:包括如下步骤:
步骤A、系统建立与初始化,包括如下步骤:
步骤A1、数据属主从文档集合D={D1,D2,D3,…,Dn}中提取出中文关键字集合W={W1,W2,W3,…,Wm};
步骤A2、数据属主输入一个安全参数,生成主密钥、会话密钥和随机数;
步骤B、加密阶段:建立(n+1)×(m+1)阶的反向索引表,生成n×m阶的反向索引表排序表,构造(Q+1)×(m+1)阶的模糊索引表,以及建立2×m阶的认证标签表,并将这些数据上传到云服务器;
步骤C、搜索阶段:数据用户构造中文关键字的陷门,用会话密钥加密后上传云服务器,云服务器进行搜索对比后,返回搜索结果;
步骤D、认证阶段:数据用户验证返回的搜索结果;
步骤E、解密阶段:数据用户用主密钥解密加密文档集合,得到相关的加密文档。
本发明所述的反向索引表的建立步骤为:
(1)设定反向索引表第一列(i+1,1)坐标的元素为加密文档EncK(Di),1≤i≤n;
(2)设定反向索引表第一行(1,j+1)坐标的元素为加密中文关键字EncK(Wj),1≤j≤m;
(3)反向索引表中其余的(i+1,j+1)坐标的元素用相关性分数
Figure BDA0002748297650000021
填充;
(4)用随机数a乘以
Figure BDA0002748297650000022
得到掩码标识符
Figure BDA0002748297650000023
(5)生成反向索引表。
本发明所述的反向索引表排序表的生成步骤为:
(1)设定反向索引表排序表中每一列第一个元素为加密中文关键字EncK(Wi),1≤i≤m;
(2)反向索引表排序表中其余的元素为加密文档EncK(Di),1≤i≤n;
(3)每一列所有加密文档EncK(Di)按照相关性分数的大小排序;
(4)形成反向索引表排序表。
本发明所述的模糊索引表的构造步骤为:
(1)将中文关键字转化成向量S,使用LCG算法随机化向量S得到向量S′;
(2)用Q个MinHash函数对向量S′进行Q次最小哈希,形成签名向量SV;
(3)设定模糊索引表第一行(1,i)坐标的元素元素为加密中文关键字EncK(Wi),1≤i≤m;
(4)
Figure BDA0002748297650000031
Figure BDA0002748297650000032
表示的是对中文关键词wi生成的向量S进行一次最小哈希,获得一个实数R;q表示的是MinHash函数的个数,m表示的是中文关键字的个数;
(5)生成模糊索引表。
本发明所述的认证标签表的建立步骤为:
(1)设定认证标签表第一行(1,i)坐标的元素为加密中文关键字EncK(Wi),1≤i≤m;
(2)使用消息认证函数MAC对中文关键字集合W={W1,W2,W3,...,Wm}中的每一个中文关键字构造认证标签
Figure BDA0002748297650000033
设定认证标签表第二行(2,i)为依次排序的认证标签
Figure BDA0002748297650000034
(3)生成认证标签表。
本发明所述的陷门TW的构造和加密步骤为:
(1)将中文关键字转化成向量S,使用LCG算法随机化向量S成S′;
(2)用Q个MinHash函数对向量S′进行Q次最小哈希,形成签名向量T;
(3)使用ProbT算法对签名向量T随机化成向量T′;
(4)计算向量T′和向量T之间的欧氏距离d;
(5)根据向量T′、欧氏距离d、需要返回的文档总数num生成陷门TW
(6)用会话密钥Ks加密陷门TW,得到加密的陷门
Figure BDA0002748297650000041
本发明所述的搜索对比和返回搜索结果步骤为:
(1)使用会话密钥Ks解密加密的陷门
Figure BDA0002748297650000042
获得欧氏距离d、向量T′、所需文档总数num;
(2)使用Extendevector算法将随机化的签名向量T′转化成集合L;
(3)使用Extendevector算法将模糊索引表中的签名向量SVi转化成集合Li′,1≤i≤m;
(4)计算L和Li′两个集合的相似度JS(L,Li′);JS(L,Li′)≠0,两个集合相似,否则计算签名向量T′和签名向量SVi之间的欧式距离d′,1≤i≤m;
(5)判断d和d′之间的差值;差值在[-α,α]之间,则相似,否则不相似;α是一个给定的预设值;
(6)如果陷门TW中的签名向量T′和模糊索引表中的签名向量SVi相似,则在模糊索引表中找到对应的加密中文关键字EncK(Wi),根据该加密中文关键字EncK(Wi)在反向索引表中找到最相关的num个加密文档集合,以及根据加密中文关键字EncK(Wi)在认证标签表中找到认证标签
Figure BDA0002748297650000043
返回给数据用户。
本发明认证阶段的具体步骤为:
数据用户从返回加密文档集合中提取已排序好的num个加密文档Di,与反向索引表排序表中已排序好的加密文档对比得出一个新的加密中文关键字EncK(W′),在模糊索引表中找到对应的签名向量SVi;用认证标签生成函数MAC生成查询关键字的认证标签tagW,判断是否等于返回的认证标签
Figure BDA0002748297650000044
如果相等,数据用户接受返回的搜索结果,否则数据用户拒绝返回的搜索结果。
本发明与现有技术相比,具有以下优点和效果:
(1)本发明通过建立反向索引表和模糊索引表代替了构建模糊关键字集,并且是支持对搜索结果排序可认证的。基于自然语言处理模型Unigram的中文关键字向量生成算法将中文关键字转化成向量。使用三因素排序算法在关键字和文档之间建立反向索引表,根据反向索引表中计算的相关性分数生成反向索引表排序表。使用MinHash函数构建模糊关键字索引,如果输入的查询关键字和模糊索引表中的签名向量相似,输出的结果就会是用户感兴趣的文档,即使查询的中文关键字存在输入错误。此外,对返回的结果可以通过构建的认证标签表判断搜索结果是否准确。因此,本发明提出的方案是可以实现可认证的模糊中文多关键字排序可搜索加密的。
(2)更加准确的排序结果。本发明通过使用三因素排序算法在关键字和文档之间建立反向索引表,根据三因素算法计算出的相关性分数生成反向索引表排序表,这样极大的提高了排序的准确性。
(3)高效的关键字索引存储。本发明不需要提前构建一个很大的模糊关键字集,只需要将中文关键字转化成向量,然后利用MinHash函数将向量转化成签名向量,以此建立模糊索引表。每一个关键字向量是签名向量,这样极大的减少了计算和存储成本。
(4)搜索结果的可认证。本发明提前建立一个认证标签表,为每一个中文关键字生成一个认证标签,用于数据用户对搜索结果的认证,如果根据搜索结果生成的认证标签与返回的认证标签不符,则数据用户不接收返回的搜索结果,否则接收。这样避免接收无用的搜索结果而降低效率,实现了搜索结果的可认证。
(5)支持文档的动态更新。在现有的方案关键字索引加密算法中都会利用tf~idf值,这样会被文档的动态更新影响到,所以这些方案都不支持动态更新。本发明提出的方案利用关键字频率代替了tf~idf值,避免了文档更新带来的影响。所以方案是支持动态更新的。
(6)抵抗可区分攻击。本发明提出的方案在设计上是隐私保护的,因为是基于概率性陷门的,有助于抵抗可区分攻击,并且保护外包文档和搜索查询的隐私。
(7)仿真实验验证了该方案的有效性。仿真结果表明,该方案实现了基于MinHash函数的中文多关键字模糊排序可搜索加密方案,具有较高的效率和更准确的排序结果,同时支持搜索结果可认证。
具体实施方式
下面通过实施例对本发明作进一步的详细说明,以下实施例是对本发明的解释而本发明并不局限于以下实施例。
本实施例中的一种基于MinHash函数的中文多关键字模糊排序可搜索加密方法,包括如下步骤:
步骤A、系统建立与初始化:
步骤A1、数据属主从文档集合D={D1,D2,D3,…,Dn}中提取出中文关键字集合W={W1,W2,W3,…,Wm}。
步骤A2、数据属主输入一个安全参数r,生成主密钥K、会话密钥Ks和随机数a,其中会话密钥Ks为{0,1}r—>Ks。
步骤B、加密阶段:数据属主输入随机化的中文关键字向量S′以及文档集合D,建立具有n+1行和m+1列的反向索引表,生成具有n行和m列的反向索引表排序表,构造具有Q+1行和m+1列的模糊索引表,以及建立具有2行和m列的认证标签表,并将这些数据上传到云服务器。
一、反向索引表的建立步骤为:在中文关键字集合和文档集合之间建立一个反向索引表;
(1)设定反向索引表第一列中(i+1,1)坐标的元素为加密文档EncK(Di),1≤i≤n;
(2)设定反向索引表第一行中(1,j+1)坐标的元素为加密中文关键字EncK(Wi),1≤j≤m;
(3)反向索引表中其余的(i+1,j+1)坐标的元素用相关性分数
Figure BDA0002748297650000061
填充;
Figure BDA0002748297650000062
关键字频率权重,表示的是关键字wj在文档Di中的频率;Zij为权重区域得分,表示的是关键字Wi在文档Di中的权重区域得分;其
Figure BDA0002748297650000063
表示的是关键字wj与文档Di之间的相关性分数;
(4)为了提高安全性掩盖相关性分数
Figure BDA0002748297650000064
用随机数a乘以
Figure BDA0002748297650000065
得到掩码标识符
Figure BDA0002748297650000066
生成的反向索引表如下所示:
Figure BDA0002748297650000067
Figure BDA0002748297650000071
用三因素算法构建的反向索引表,文档和关键字之间的相关性计算的更加精确,相比于只用相关性分数构建反向索引表,使得排序结果更加准确。
二、反向索引表排序表的生成步骤为:
(1)设定反向索引表排序表中每一列第一个元素为加密中文关键字EncK(Wi),1≤i≤m;
(2)反向索引表排序表中其余的元素为加密文档EncK(Di),1≤i≤n;
(3)每一列所有加密文档EncK(Di)按照相关性分数的大小排序;
(4)形成反向索引表排序表:
Enc<sub>K</sub>(W<sub>1</sub>) Enc<sub>K</sub>(W<sub>2</sub>) Enc<sub>K</sub>(W<sub>3</sub>) …… Enc<sub>K</sub>(W<sub>m</sub>)
Enc<sub>K</sub>(D<sub>1</sub>) Enc<sub>K</sub>(D<sub>2</sub>) Enc<sub>K</sub>(D<sub>n</sub>) …… Enc<sub>K</sub>(D<sub>3</sub>)
Enc<sub>K</sub>(D<sub>2</sub>) Enc<sub>K</sub>(D<sub>3</sub>) Enc<sub>K</sub>(D<sub>4</sub>) …… Enc<sub>K</sub>(D<sub>2</sub>)
Enc<sub>K</sub>(D<sub>3</sub>) Enc<sub>K</sub>(D<sub>1</sub>) Enc<sub>K</sub>(D<sub>2</sub>) …… Enc<sub>K</sub>(D<sub>n</sub>)
…… …… …… …… ……
Enc<sub>K</sub>(D<sub>n</sub>) Enc<sub>K</sub>(D<sub>n</sub>) Enc<sub>K</sub>(D<sub>1</sub>) …… Enc<sub>K</sub>(D<sub>1</sub>)
三、模糊索引表的构造步骤为:
(1)用基于自然语言处理模型Unigram的中文关键字向量生成算法将中文关键字转化成向量S,使用LCG算法随机化向量S得到向量S′;
利用自然语言处理技术永字八法将中文关键字转化成笔画字符串,利用自然语言处理模型Unigram的中文关键字向量生成算法将笔画字符串转化成中文关键字向量S,使用LCG算法随机化向量S得到向量S′,这种解决办法节省了向量的存储空间,提升了转化的准确度。
(2)用Q个MinHash函数对向量S′进行Q次最小哈希,形成签名向量SV,Q∈q;
(3)设定模糊索引表第一行(1,i)坐标的元素为加密中文关键字EncK(Wi),1≤i≤m;
(4)
Figure BDA0002748297650000081
Figure BDA0002748297650000082
Figure BDA0002748297650000083
表示的是对中文关键词wi生成的向量S进行一次最小哈希,获得一个实数;q表示的是MinHash函数的个数,m表示的是中文关键字的个数。
(5)生成的模糊索引表如下所示:
Figure BDA0002748297650000084
模糊索引表是使用MinHash函数构建的,MinHash函数可以随机化中文关键字向量,并且可以压缩中文关键字向量,因此提高了加密的安全性,节省了存储空间。
四、认证标签表的建立步骤为:
(1)设定认证标签表第一行(1,i)为加密中文关键字EncK(Wi),1≤i≤m;
(2)使用消息认证函数MAC对中文关键字集合W={W1,W2,W3,...,Wm}中的每一个中文关键字构造认证标签
Figure BDA0002748297650000085
设定认证标签表第二行(2,i)为依次排序的认证标签
Figure BDA0002748297650000086
(3)生成认证标签表:
Figure BDA0002748297650000087
认证标签
Figure BDA0002748297650000088
表示的是Wm的认证标签。
搜索结果的认证采用的技术是消息认证函数MAC,目的在于保证搜索结果的准确性,消息认证函数MAC由中文关键字Wi、签名向量SVi、加密中文关键字EncK(Wi)、num个排序好的加密文档EncK(Dnum)构成,1≤i≤m。
以上所采用的技术和算法节省了存储空间,增强了安全性,提高了效率和准确性。
步骤C、搜索阶段:数据用户构造中文关键字的陷门TW,用会话密钥Ks加密后上传云服务器,云服务器进行搜索对比后,返回搜索结果。
一、陷门TW的构造和加密步骤为:输入随机化向量S′、会话密钥Ks、关键字集合W以及整数num,输出加密的陷门
Figure BDA0002748297650000091
具体步骤为:
(1)用自然语言处理技术永字八法将查询中文关键字转化成笔画字符串,然后用基于自然语言处理模型Unigram的中文关键字向量生成算法将笔画字符串转化成向量S,使用LCG算法随机化向量S成S′;
(2)用Q个MinHash函数对向量S′进行Q次最小哈希(Q∈q),形成签名向量,用T表示签名向量;
(3)增强安全性,使用ProbT算法对签名向量T随机化成向量T′;
(4)计算向量T′和向量T之间的d;
(5)根据向量T′、欧氏距离d、需要返回的文档总数num组合成陷门TW
(6)用会话密钥Ks加密陷门TW,得到加密的陷门
Figure BDA0002748297650000092
发送给云服务器。
二、云服务器搜索对比和返回搜索结果步骤为:云服务器接收数据用户的加密陷门后,解密加密的陷门,计算查询关键字的签名向量与模糊索引表中的签名向量的相似度,如果相似,找到对应的加密的中文关键字,然后根据反向索引表中的相关性分数返回最相关的num个加密文档给数据用户。具体步骤为:
(1)使用会话密钥Ks解密加密的陷门
Figure BDA0002748297650000093
获得欧氏距离d、向量T′、所需文档总数num;
(2)使用Extendevector算法将随机化的签名向量T′转化成集合L;
(3)使用Extendevector算法将模糊索引表中的签名向量SVi转化成集合Li′,1≤i≤m;
(4)计算L和Li′两个集合的相似度JS(L,Li′)。JS(L,Li′)≠0,两个集合相似,否则计算签名向量T′和签名向量SVi之间的欧式距离d′,1≤i≤m;
(5)判断d和d′之间的差值。差值在[-α,α]之间,则相似,否则不相似;
(6)如果陷门TW中的签名向量T′和模糊索引表中的签名向量SVi相似,则在模糊索引表中找到对应的加密中文关键字EncK(Wi),根据该加密中文关键字EncK(Wi)在反向索引表中找到最相关的num个加密文档集合X=EncK(Dnum)以及根据加密中文关键字EncK(Wi)在认证标签表中找到认证标签
Figure BDA0002748297650000101
返回给数据用户。
步骤D、认证阶段:数据用户验证返回的搜索结果。具体步骤为:
数据用户从返回加密文档集合X中提取已排序好的num个加密文档Di,与反向索引表排序表中已排序好的加密文档对比得出一个新的加密中文关键字EncK(W′),在模糊索引表中找到对应的签名向量SVi。用认证标签生成函数生成查询关键字的认证标签tagW=MAC(W,SVi,EncK(W′),X),判断是否等于返回的认证标签
Figure BDA0002748297650000102
如果相等,数据用户接受返回的搜索结果,否则数据用户拒绝返回的搜索结果。认证标签生成函数MAC:{0,1}r×{0,1}*→{0,1}n,具有不可逆转性和消息不可伪造性,可以抵抗特定的消息攻击。认证标签生成函数MAC由中文关键字W、签名向量SVi、EncK(W′)、加密文档集合X构成。
步骤E、解密阶段:数据用户用主密钥K解密加密文档集合X=EncK(Dnum),得到num个最相关的加密文档Di,1≤i≤n。
用到的算法:
一、关键字向量生成算法:
(1)将中文关键字用永字八法拆分开,变成笔画字符串,在用自然语言处理模型Unigram将笔画字符串拆分成单一的字符;
(2)使用128-bit长度的向量表示关键字笔画字符串。汉字笔画总共有28个,使用28-bit表示第一个字的笔画字符串;
(3)用1—28bit表示28个笔画丶1、丿1、丨1、一1、…,“1”表示的是第一个字;
(4)之后的第2个字,第3个字,第4个字的结构是和第1个字结构一样的;
(5)整个向量的最后16-bit(113—128bit)表示一个字在关键字中的位置和声调,“11”表示的是第一个字的声调是第一声,“22”表示的是第二个字的声调是第二声;
(6)如果单个字符存在于笔画字符串向量中,则将其在笔画字符串向量中的对应位置设置为1,否则对应位置设置为0。
二、LCG算法:
S={e1,e2,...,ey}表示一个有y个元素的向量,V:Sy→S′y表示的是将向量S随机排序成S’。
算法中用到的参数:
参数 m a c X
性质 模数 乘数 加数 随机数
作用 取模 移位 偏移 作为结果
算法公式:Xn+1=((aXn+c)modm)+1,n∈[1,y],表示的是每下一个随机数是当前随机数向左移动a的倍速位,加上一个c,对m取余后加1,使随机数限制在0~m内,每一个随机数的产生表示的是向量S中元素的位置,第一个Xn是随机产生一个[1,y]之间的数。
k=1、2、...、y;
Figure BDA0002748297650000111
Xn+1=((aXn+c)mod m)+1;
所以第一个元素是从y个元素中随机选择的,接下来的每一个元素都是根据算法公式从剩下的y-1个元素中选择的,直到y个元素都被选择。
三、ProbT算法:
T={t1,t2,...,ty}表表示的是一个包含y个元素的向量,假设每一个元素代表一个与关键字w相关的MinHash值。
初始化向量T′,随机排序Q:T→T′:
对于j=1,2,...,y:
令U是一个随机变量,取值范围[1,rl],
Figure BDA0002748297650000122
T′。
设定T′j=U。因此向量中没有任何元素是相等的。
四、关键字频率权重wfw,D
如果tfw,D>0,则tfw,D=1+logtfw,D;如果tfw,D=0,则wfw,D=0,在这里tfw,D表示的是关键字w在文档D中的频率。
五、权重区域得分Zij
每一个文档有三个区域,分别是标题、摘要、正文。分别设定每一个区域的权重系数为g1、g2、g3,满足条件g1>g2>g3。令V1=1表示关键字在区域i中出现过,否则Vi=0。计算关键字Wj的权重区域得分,如果关键字Wj出现在文档Di的标题和正文中,而不出现在摘要中,设定V1=1,V2=0,V3=1。因此关键字Wj在文档Di中的权重区域得分Zij=g1×V1+g2×V2+g3×V3
六、MinHash函数:
给定q个MinHash函数fq:S→R,减少向量S的存储空间,并且分配一个实数R去形成签名向量SV。Sa和Sb表示两个不同关键字的向量,MinHash函数应该满足fq(Sa)≠fq(Sb),因此MinHash函数是独立的。
七、欧式距离算法:
给定两个向量A={a1,a2,...,ai},B={b1,b2,...,bi},欧氏距离d表示的是两个向量(A,B)之间的距离。在两个i大小的向量A和B之间距离表示成:
Figure BDA0002748297650000121
八、JS相似度算法:
在两个集合X和Y之间的JS相识度计算方法:
Figure BDA0002748297650000131
当且仅当
Figure BDA0002748297650000132
时,JS(X,Y)=0。
九、Extendedvector算法:
T={t1,t2,...,tn}表示一个包含n个元素的向量。初始化一个空的集合L。算法ExtendedVector E:T→L产生方式如下:
对于j=1,2,...,n,添加tj到L中,
Figure BDA0002748297650000133
Extendedvector是将一个向量转化成一个集合的算法。
此外,需要说明的是,本说明书中所描述的具体实施例,其零、部件的形状、所取名称等可以不同,本说明书中所描述的以上内容仅仅是对本发明结构所作的举例说明。凡依据本发明专利构思所述的构造、特征及原理所做的等效变化或者简单变化,均包括于本发明专利的保护范围内。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,只要不偏离本发明的结构或者超越本权利要求书所定义的范围,均应属于本发明的保护范围。

Claims (5)

1.一种基于MinHash函数的中文多关键字模糊排序可搜索加密方法,其特征在于:包括如下步骤:
步骤A、系统建立与初始化,包括如下步骤:
步骤A1、数据属主从文档集合D={D1,D2,D3,…,Dn}中提取出中文关键字集合W={W1,W2,W3,…,Wm};
步骤A2、数据属主输入一个安全参数,生成主密钥、会话密钥和随机数;
步骤B、加密阶段:建立(n+1)×(m+1)阶的反向索引表,生成n×m阶的反向索引表排序表,构造(Q+1)×(m+1)阶的模糊索引表,以及建立2×m阶的认证标签表,并将这些数据上传到云服务器;
所述的反向索引表的建立步骤为:
(1)设定反向索引表第一列(i+1,1)坐标的元素为加密文档EncK(Di),1≤i≤n;
(2)设定反向索引表第一行(1,j+1)坐标的元素为加密中文关键字EncK(Wj),1≤j≤m;
(3)反向索引表中其余的(i+1,j+1)坐标的元素用相关性分数
Figure FDA0003734465940000011
填充,
Figure FDA0003734465940000012
为关键字频率权重,Zij为权重区域得分;
(4)用随机数a乘以
Figure FDA0003734465940000013
得到掩码标识符
Figure FDA0003734465940000014
(5)生成反向索引表;
所述的模糊索引表的构造步骤为:
(1)将中文关键字转化成向量S,使用LCG算法随机化向量S得到向量S′;
(2)用Q个MinHash函数对向量S′进行Q次最小哈希,形成签名向量SV;
(3)设定模糊索引表第一行(1,i)坐标的元素为加密中文关键字EncK(Wi),1≤i≤m;
(4)设定模糊索引表其余(i+1,j)坐标的元素
Figure FDA0003734465940000015
Figure FDA0003734465940000021
表示的是对中文关键词wi生成的向量S进行一次最小哈希,获得一个实数R;q表示的是MinHash函数的个数,m表示的是中文关键字的个数;
(5)生成模糊索引表;
所述的认证标签表的建立步骤为:
(1)设定认证标签表第一行(1,i)为加密中文关键字EncK(Wi),1≤i≤m;
(2)使用消息认证函数MAC对中文关键字集合W={W1,W2,W3,...,Wm}中的每一个中文关键字构造认证标签
Figure FDA0003734465940000022
设定认证标签表第二行(2,i)为依次排序的认证标签
Figure FDA0003734465940000023
(3)生成认证标签表;
步骤C、搜索阶段:数据用户构造中文关键字的陷门,用会话密钥加密后上传云服务器,云服务器进行搜索对比后,返回搜索结果;
步骤D、认证阶段:数据用户验证返回的搜索结果;
步骤E、解密阶段:数据用户用主密钥解密加密文档集合,得到相关的加密文档。
2.根据权利要求1所述的基于MinHash函数的中文多关键字模糊排序可搜索加密方法,其特征在于:所述的反向索引表排序表的生成步骤为:
(1)设定反向索引表排序表中每一列第一个元素为加密中文关键字EncK(Wi),1≤i≤m:
(2)反向索引表排序表中其余的元素为加密文档EncK(D1),1≤i≤n;
(3)每一列所有加密文档EncK(Di)按照相关性分数的大小排序;
(4)形成反向索引表排序表。
3.根据权利要求1所述的基于MinHash函数的中文多关键字模糊排序可搜索加密方法,其特征在于:所述的陷门TW的构造和加密步骤为:
(1)将中文关键字转化成向量S,使用LCG算法随机化向量S成S′;
(2)用Q个MinHash函数对向量S′进行Q次最小哈希,形成签名向量T;
(3)使用ProbT算法对签名向量T随机化成向量T′;
(4)计算向量T′和向量T之间的欧氏距离d;
(5)根据向量T′、欧氏距离d、需要返回的文档总数num生成陷门TW
(6)用会话密钥Ks加密陷门TW,得到加密的陷门
Figure FDA0003734465940000031
4.根据权利要求3所述的基于MinHash函数的中文多关键字模糊排序可搜索加密方法,其特征在于:所述的搜索对比和返回搜索结果步骤为:
(1)使用会话密钥Ks解密加密的陷门
Figure FDA0003734465940000032
获得欧氏距离d、向量T′、所需文档总数numm;
(2)使用Extendevector算法将随机化的签名向量T′转化成集合L;
(3)使用Extendevector算法将模糊索引表中的签名向量SVi转化成集合Li′,1≤i≤m;
(4)计算L和Li′两个集合的相似度JS(L,Li′);JS(L,Li′)≠0,两个集合相似,否则计算签名向量T′和签名向量SVi之间的欧式距离d′,1≤i≤m;
(5)判断d和d′之间的差值;差值在[-α,α]之间,则相似,否则不相似;α是一个给定的预设值;
(6)如果陷门TW中的签名向量T′和模糊索引表中的签名向量SVi相似,则在模糊索引表中找到对应的加密中文关键字EncK(Wi),根据该加密中文关键字EncK(Wi)在反向索引表中找到最相关的num个加密文档集合,以及根据加密中文关键字EncK(Wi)在认证标签表中找到认证标签
Figure FDA0003734465940000033
返回给数据用户。
5.根据权利要求1所述的基于MinHash函数的中文多关键字模糊排序可搜索加密方法,其特征在于:认证阶段的具体步骤为:
数据用户从返回加密文档集合中提取已排序好的num个加密文档Di,与反向索引表排序表中已排序好的加密文档对比得出一个新的加密中文关键字EncK(W’),在模糊索引表FI中找到对应的签名向量SVi;用认证标签生成函数MAC生成查询关键字的认证标签tagW,判断是否等于返回的认证标签
Figure FDA0003734465940000041
如果相等,数据用户接受返回的搜索结果,否则数据用户拒绝返回的搜索结果。
CN202011174409.7A 2020-10-28 2020-10-28 基于MinHash函数的中文多关键字模糊排序可搜索加密方法 Active CN112328733B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011174409.7A CN112328733B (zh) 2020-10-28 2020-10-28 基于MinHash函数的中文多关键字模糊排序可搜索加密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011174409.7A CN112328733B (zh) 2020-10-28 2020-10-28 基于MinHash函数的中文多关键字模糊排序可搜索加密方法

Publications (2)

Publication Number Publication Date
CN112328733A CN112328733A (zh) 2021-02-05
CN112328733B true CN112328733B (zh) 2022-10-04

Family

ID=74296364

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011174409.7A Active CN112328733B (zh) 2020-10-28 2020-10-28 基于MinHash函数的中文多关键字模糊排序可搜索加密方法

Country Status (1)

Country Link
CN (1) CN112328733B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115391492B (zh) * 2022-10-26 2023-01-20 长沙先领医药科技有限公司 一种可搜索加密的方法、装置、电子设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108388807A (zh) * 2018-02-28 2018-08-10 华南理工大学 一种支持偏好搜索和逻辑搜索的高效可验证的多关键字排序可搜索加密方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102938767B (zh) * 2012-11-13 2016-08-10 西安电子科技大学 基于云数据外包系统的高效可验证的模糊关键词搜索方法
CN104765848B (zh) * 2015-04-17 2017-12-01 中国人民解放军空军航空大学 混合云存储中支持结果高效排序的对称可搜索加密方法
CN105681280B (zh) * 2015-12-29 2019-02-22 西安电子科技大学 一种云环境中基于中文的可搜索加密方法
CN108062485A (zh) * 2017-12-15 2018-05-22 北京工业大学 一种面向多服务器多用户的模糊关键字搜索方法
CN110134718B (zh) * 2019-03-21 2023-07-07 西安电子科技大学 一种基于属性加密的支持多关键字的模糊搜索方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108388807A (zh) * 2018-02-28 2018-08-10 华南理工大学 一种支持偏好搜索和逻辑搜索的高效可验证的多关键字排序可搜索加密方法

Also Published As

Publication number Publication date
CN112328733A (zh) 2021-02-05

Similar Documents

Publication Publication Date Title
Fu et al. Toward efficient multi-keyword fuzzy search over encrypted outsourced data with accuracy improvement
CN107480163B (zh) 一种云环境下支持隐私保护的高效密文图像检索方法
CN106997384B (zh) 一种排序可验证的语义模糊可搜索加密方法
CN109063509A (zh) 一种基于关键词语义排序的可搜索加密方法
Chen et al. EliMFS: achieving efficient, leakage-resilient, and multi-keyword fuzzy search on encrypted cloud data
Wang et al. Privacy-preserving ranked multi-keyword fuzzy search on cloud encrypted data supporting range query
CN115314295B (zh) 一种基于区块链的可搜索加密技术方法
Al Sibahee et al. Efficient encrypted image retrieval in IoT-cloud with multi-user authentication
Guo et al. Enabling secure cross-modal retrieval over encrypted heterogeneous IoT databases with collective matrix factorization
CN109885650B (zh) 一种外包云环境隐私保护密文排序检索方法
CN109255244B (zh) 数据加密方法及其装置、数据加密检索系统
CN107273467A (zh) 一种支持可搜索加密的安全索引结构及其构造方法
Dai et al. An efficient and dynamic semantic-aware multikeyword ranked search scheme over encrypted cloud data
CN112328733B (zh) 基于MinHash函数的中文多关键字模糊排序可搜索加密方法
CN112966086A (zh) 一种基于位置敏感哈希函数的可验证模糊搜索方法
CN108549701A (zh) 云环境加密外包数据语义扩展搜索方法及系统
CN114528370B (zh) 动态多关键字模糊排序搜索方法及系统
CN109165520B (zh) 数据加密方法及其装置、数据加密检索系统
CN116821965A (zh) 一种个性化检索方法
CN116244453A (zh) 一种基于神经网络的高效加密图像检索方法
CN112328626B (zh) 面向云环境的支持模糊关键词排序的可搜索加密方法
Gao et al. Similarity-based Secure Deduplication for IIoT Cloud Management System
CN115795029A (zh) 一种基于二分聚类树的可搜索加密方法
CN115048432A (zh) 基于布隆过滤器的模糊关键词公共审计方法
CN111966778B (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