CN112446041A - 一种基于安全索引的可验证多关键词密文查询方法及系统 - Google Patents

一种基于安全索引的可验证多关键词密文查询方法及系统 Download PDF

Info

Publication number
CN112446041A
CN112446041A CN202011376509.8A CN202011376509A CN112446041A CN 112446041 A CN112446041 A CN 112446041A CN 202011376509 A CN202011376509 A CN 202011376509A CN 112446041 A CN112446041 A CN 112446041A
Authority
CN
China
Prior art keywords
query
vector
node
executing
vectors
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.)
Pending
Application number
CN202011376509.8A
Other languages
English (en)
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.)
Xidian University
Original Assignee
Xidian 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 Xidian University filed Critical Xidian University
Priority to CN202011376509.8A priority Critical patent/CN112446041A/zh
Publication of CN112446041A publication Critical patent/CN112446041A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

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

Abstract

一种基于安全索引的可验证多关键词密文查询方法及系统,查询方法包括以下步骤:数据拥有者为电子文档集构建一棵索引树;利用可搜索密钥对索引树进行加密,利用默克哈希认证方法对加密的索引树进行认证;数据拥有者和查询用户在不泄露可搜索密钥的情况下合作生成查询请求的陷门;对加密及认证后的索引树进行查询,将查询结果和辅助验证信息返回给查询用户;验证查询结果正确性。本发明同时提供了一种实现上述方法的系统。本发明在不泄露可搜索密钥的情况下实现了多关键词排序查询,利用默克哈希认证方法对索引树进行认证,实现了查询结果正确性的公共验证,有利于减轻查询用户的计算和存储负担。

Description

一种基于安全索引的可验证多关键词密文查询方法及系统
技术领域
本发明属于信息安全领域,具体涉及一种基于安全索引的可验证多关键词密文查询方法及系统,能够用于在云存储背景下多个查询用户对云服务器接收的数据密文进行基于语义的多关键词排序查询以及查询结果的正确性验证。
背景技术
随着云存储技术的发展,越来越多的用户将繁重的数据存储和管理工作外包至“诚实但好奇”的云服务器。为了保证用户数据在存储和检索过程中不被泄露,一般情况下用户需要在外包数据前对数据进行加密,然而传统的加密技术隐藏了明文的所有特征,致使基于明文的传统搜索机制无法实现密文搜索。可搜索加密技术的提出解决了数据机密性和可检索性之间的矛盾。根据使用的密码体制不同,现有的可搜索加密技术可分为:对称可搜索加密和非对称可搜索加密。但是这些技术在电子文档检索应用中存在相应的问题。
吉林省外国企业服务有限公司在其申请的专利文献“一种面向云计算的多关键字可排序密文检索方法”(专利申请号201711247475.0,公开号CN105871543A)中公开了一种基于改进的k近邻查询算法的多关键词排序密文检索方法。该方法中数据拥有者首先为每组逆关键词集文档向量集构建相应的B+索引树,并利用基于改进的k近邻查询算法进行加密;然后查询用户利用同样的密钥加密查询向量,得到查询陷门;最后云服务器计算每个文档和查询陷门的相关度得分,返回相关度得分最高的前k个文档。该方法存在的不足之处是:被授权的查询用户拥有完整的密钥,如果泄露给未授权的用户,会威胁外包数据的隐私安全。
西安电子科技大学在其申请的专利文献“多数据拥有者背景下基于属性的多关键字密文检索方法”(专利申请号201610188151.3,公开号CN105871543A)中公开了一种基于双线性对实现多关键词密文检索方法。该方法中数据拥有者首先结合可搜索加密技术与基于密文属性的加密策略,为外包密文建立关键字集索引;然后查询用户根据查询关键字集、私钥以及属性集生成陷门;最后云服务器对陷门和索引进行匹配,并返回满足匹配条件的文档密文集。数据用户利用陷门实现对密文的多关键字查询,该方法存在的不足之处是:基于非对称可搜索加密实现多关键词检索,计算开销大,查询效率低。
南京邮电大学在其申请的专利文献“一种面向云计算的可验证单关键词Top-k检索方法”(专利申请号201710225029.3,公开号CN107194282A)中公开了一种验证单关键词查询结果正确性的方法。该方法中数据拥有者首先采用Hash消息认证编码机制,为所有文档与关键词的相关度得分的偏序关系构造验证码信息;然后检索时云服务器返回与查询关键词最相关的k个文档以及相应的验证码信息;最后查询用户根据获得的检索结果重构验证码。该方法存在的不足之处是:只支持单关键词搜索,查询结果中包含许多查询用户不感兴趣的文档,浪费了带宽和计算资源;只有拥有密钥的查询用户才能验证查询结果的正确性,增加了查询用户的计算负担。
发明内容
本发明的目的在于针对上述现有技术中多关键词密文检索过程可搜索密钥可能泄露、查询效率不高以及查询结果正确性验证操作只能由拥有密钥的查询用户执行的问题,提供一种基于安全索引的可验证多关键词密文查询方法及系统,基于对称可搜索加密在不泄露可搜索密钥的情况下实现基于语义的多关键词排序查询和查询结果的正确性验证。
为了实现上述目的,本发明有如下的技术方案:
一种基于安全索引的可验证多关键词密文查询方法,包括以下步骤:
-数据拥有者为电子文档集构建一棵索引树;
-利用可搜索密钥对索引树进行加密,利用默克哈希认证方法对加密的索引树进行认证;
-数据拥有者和查询用户在不泄露可搜索密钥的情况下合作生成查询请求的陷门;
-对加密及认证后的索引树进行查询,将查询结果和相应辅助验证信息返回给查询用户;
-验证查询结果正确性。
索引树构建具体包括以下步骤:
(1a)利用tf-idf和向量空间模型,从外包电子文档集中提取关键词组成字典,为每个电子文档生成一个n维的随机向量,将字典中第ι个关键词在每个电子文档中的tf-idf值赋给相应随机向量中的第ι个元素,得到每个电子文档的初始数据向量,其中,ι=1,2,…,N,N表示字典的大小,N=n;
(1b)将所有初始数据向量作为叶子节点,构建一棵平衡二叉树,作为索引树,选取每一个非叶子节点的所有孩子节点中的初始数据向量每一维的最大值,构成一个新的初始数据向量,存储到相应的非叶子节点中。
利用可搜索密钥对索引树进行加密具体包括以下步骤:
-设置可搜索密钥和文档加密密钥:
(2a)随机生成两个n+1维的实数向量r=(r1,…,rn+1)和s=(s1,…,sn+1)、一个n维的比特向量b=(b1,…,bn)、两个2n+2阶的可逆矩阵
Figure BDA0002808330900000031
组成可搜索密钥;
(2b)将对称加密算法的对称密钥作为文档加密密钥;所述对称加密算法是指:高级加密算法、数据加密标准算法和国际数据加密算法中的任意一个算法;
-对索引树进行加密:
(3a)将索引树中存储的每个初始数据向量pi=(pi,1,…,pi,n)扩展为一个2n+2维的目标数据向量
Figure BDA0002808330900000032
其中,i=1,2,…,2m+1,m表示外包电子文档集中文档的总数;
(3b)利用数据向量分裂方法,将每个目标数据向量分裂成两个随机向量,作为相应节点的两个子向量;
(3c)对可搜索密钥中两个可逆矩阵
Figure BDA0002808330900000041
进行求逆操作,将索引树中每个节点的两个子向量分别与求逆后的两个可逆矩阵相乘,得到相应节点的两个加密子向量;
(3d)利用文档加密密钥对每个外包电子文档加密,将密文存储到相应的叶子节点中。
步骤(3b)中所述数据向量分裂方法的步骤如下:
3b1,生成维数均与目标数据向量维数相同的两个随机向量,将目标数据向量中的第2n+1、2n+2个元素值赋给两个随机向量中的第2n+1、2n+2个元素;
3b2,从比特向量b=(b1,…,bn)中选取一个任意未选过的第ι个元素值,其中,ι的取值范围为{1,2,…,n};
3b3,判断所选的元素值是否为0,若是,则执行第3b4步,否则,执行第3b5步;
3b4,将目标数据向量中的第2ι-1个元素值赋给第一个随机向量和第二个随机向量中的第2ι-1个元素;
3b5,在实数域上随机选取一个实数,赋给第一个随机向量中的第2ι-1个元素,用目标数据向量中的第2ι-1个元素值减去该随机数,将差值赋给第二个随机向量中的第2ι-1个元素;
3b6,在实数域上随机选取一个实数,赋给第一个随机向量中的第2ι个元素,用目标数据向量中的第2ι个元素值减去该随机数,将差值赋给第二个随机向量中的第2ι个元素。
对加密的索引树进行认证,具体包括以下步骤:
(4a)利用默克哈希认证方法,计算索引树中每个节点的摘要,存储在相应的节点中;
(4b)利用数字签名算法,计算索引树根节点中摘要的签名,公开所得的根签名;所述数字签名算法是指:RSA算法、DSA算法、ECDSA算法中的任意一个算法。
步骤(4a)中所述默克哈希认证方法的步骤如下:
4a1,选取索引树中的任意一个未被处理的节点;
4a2,判断所选节点是否为叶子节点,若是,则执行第4a3步,否则,执行第4a4步;
4a3,将所选节点的两个加密子向量分别作为两个字符串,用连接运算符连接所选节点中的密文和这两个字符串,利用安全散列函数,将由连接符连接所得的字符串映射成一个长度固定的随机字符串,作为所选节点的摘要;所述安全散列函数是指:SHA-224、SHA-256,SHA-512中的任意一个算法;
4a4,将所选节点的两个加密子向量分别作为两个字符串,用连接符连接这两个字符串以及所选节点的所有孩子节点中的摘要,利用安全散列函数,将由连接符连接所得的字符串映射成一个长度固定的随机字符串,作为所选节点的摘要;所述安全散列函数是指:SHA-224、SHA-256,SHA-512中的任意一个算法。
生成查询请求的陷门具体包括以下步骤:
(5a)利用查询请求向量化方法,将查询请求W′={w1,w2,…,wz}转化为一个n维的初始查询向量,其中,wτ表示第τ个查询关键词,τ=1,2,…,z,z表示查询关键词的数量;
查询请求向量化方法的步骤如下:
5a1,生成一个n维的随机向量;
5a2,从查询请求W′={w1,w2,…,wz}中选取一个任意未选过的查询关键词;
5a3,判断所选的查询关键词是否在字典中,若是,执行第5a4步,否则,执行第5a5步;
5a4,将常数1赋给随机向量中与所选查询关键词对应的元素;
5a5,将常数0赋给随机向量中与所选查询关键词对应的元素;
(5b)查询用户随机选取一个n维的实数向量作为混淆向量,将初始查询向量与混淆向量相加,得到安全查询向量,发送给数据拥有者;
(5c)数据拥有者利用查询向量分裂方法,将安全查询向量分裂成两个随机向量,作为安全查询向量的两个子向量;
查询向量分裂方法的步骤如下:
5c1,生成维数均与安全查询向量维数相同的两个随机向量;
5c2,从比特向量b=(b1,…,bn)中选取一个任意未选过的元素值;
5c3,判断所选的元素值是否为0,若是,执行第5c4步,否则,执行第5c5步;
5c4,在实数域上随机选取一个实数,赋给第一个随机向量对应位置上的元素,用安全查询向量中与所选元素对应的元素值减去该随机数,将差值赋给第二个随机向量中与所选元素对应的元素;
5c5,将安全查询向量中与所选元素对应的元素值赋给第一个随机向量和第二个随机向量中与所选元素对应的元素;
(5d)数据拥有者利用陷门辅助信息生成公式,为安全查询向量的两个子向量生成两个2n+2维的辅助向量
Figure BDA0002808330900000061
和两个(2n+2)×n维的辅助矩阵
Figure BDA0002808330900000062
得到陷门生成辅助信息集
Figure BDA0002808330900000063
发送给查询用户;
所述陷门辅助信息生成公式如下:
Figure BDA0002808330900000064
Figure BDA0002808330900000065
Figure BDA0002808330900000066
其中,
Figure BDA0002808330900000067
分别表示两个辅助向量
Figure BDA0002808330900000068
中的第i个元素,
Figure BDA0002808330900000069
分别表示两个辅助矩阵
Figure BDA00028083309000000610
中第i行、第j列的元素,i=1,2,…,2n+2,j=1,2,…,n,β表示在实数域上随机选取的正实数,ε1212表示在实数域上随机选取的四个实数,
Figure BDA00028083309000000611
分别表示两个可逆矩阵
Figure BDA00028083309000000612
中第i行、第j列的元素,
Figure BDA00028083309000000613
分别表示安全查询向量的两个子向量中第j个元素,∑表示求和操作;
(5e)查询用户对陷门生成辅助信息集中的第一辅助矩阵
Figure BDA00028083309000000614
和第二辅助矩阵
Figure BDA00028083309000000615
进行转置操作,分别计算混淆向量和转置后的第一辅助矩阵、第二辅助矩阵的乘积,将两个乘积结果分别与陷门生成辅助信息集中的第一辅助向量
Figure BDA00028083309000000616
第二辅助向量
Figure BDA00028083309000000617
相加,组成查询请求的陷门;
(5f)查询用户向云服务器提交查询请求的陷门。
对加密及认证后的索引树进行查询,具体包括以下步骤:
(6a)将索引树的根节点作为当前检索访问节点,利用深度优先搜索方法,选出k个密文,作为查询结果,其中,k表示所需查询结果的数量,且5≤k≤50;
所述深度优先搜索方法的步骤如下:
6a1,设置一个空列表,作为查询结果列表;
6a2,判断当前检索访问节点是否为非叶子节点,若是,则执行第6a3步,否则,执行第6a6步;
6a3,判断查询结果列表中的元组数量是否等于所需查询结果的数量,若是,则执行第6a4步,否则,执行第6a5步;
6a4,选取查询结果列表中最小的得分,判断当前检索访问节点的得分是否大于最小得分,若是,则执行第6a5步,否则,执行第6a10步;
6a5,将当前检索访问节点的每个孩子节点中的两个加密子向量,分别与查询请求的陷门中的两个向量相乘,两次乘积结果相加后得到相应孩子节点的得分,将得分最大的孩子节点作为新的检索访问节点,执行第6a2步;
6a6,判断查询结果列表中的元组数量是否等于所需查询结果的数量,若是,则执行第6a7步,否则,执行第6a9步;
6a7,选取查询结果列表中最小的得分,判断当前检索访问的节点的得分是否大于最小得分,若是,则执行第6a8步,否则,执行第6a10步;
6a8,删除最小得分对应的元组,将当前检索访问节点中的密文和对应的得分作为元组,存储到查询结果列表中,执行第6a10步;
6a9,将当前检索访问节点中的两个加密子向量分别与查询请求的陷门中的两个向量相乘,两次乘积结果相加后得到当前检索访问节点的得分,将当前检索访问节点中的密文和对应的得分作为元组存储到查询结果列表中,执行第6a10步;
6a10,返回上一个检索访问节点,判断当前检索访问节点是否有未被访问的孩子节点,若是,则执行第6a11步,否则,执行第6a12步;
6a11,将当前检索访问节点中未被访问的孩子节点作为新的检索访问节点,执行第6a2步;
6a12,判断当前检索访问节点是否为根节点,若是,则执行第6a13步,否则,执行第6a10步;
6a13,结束检索;
(6b)选取查询结果所在的k个叶子节点到根节点路径上每个节点中的两个加密子向量以及相应兄弟节点中的摘要,作为辅助验证信息返回给查询用户。
验证查询结果正确性具体包括以下步骤:
(7a)利用查询结果和辅助验证信息重新计算根节点的摘要;
(7b)利用数字签名的公钥对公开的根签名进行解密,得到真正的根摘要;
(7c)比较新生成的根节点的摘要与真正的根摘要,若相同,则执行步骤(7d),否则执行步骤(7e);
(7d)利用文档加密密钥解密查询结果;
(7e)丢弃收到的查询结果。
本发明还提出一种基于安全索引的可验证多关键词密文查询系统,包括:
索引树构建模块,用于为电子文档集构建一棵索引树;
索引树加密模块,用于利用可搜索密钥对索引树进行加密;
索引树认证模块,用于利用默克哈希认证方法对加密的索引树进行认证;
陷门生成模块,用于在不泄露可搜索密钥的情况下生成查询请求的陷门;
查询模块,用于对加密及认证后的索引树进行查询,获取查询结果和相应辅助验证信息;
查询结果验证模块,用于验证查询结果正确性。
相较于现有技术,本发明至少具有以下有益效果:由于本发明通过数据拥有者和查询用户一轮通信的方式生成了查询请求的陷门,克服了现有的基于对称可搜索加密的技术中被授权的查询用户知晓完整的可搜索密钥,可能将密钥泄露给未授权的查询用户,以及现有的基于非对称可搜索加密的技术中计算开销大的问题,使得本发明基于对称可搜索加密在不泄露可搜索密钥的情况下实现了多关键词排序查询。此外,由于本发明利用默克哈希认证方法对索引树进行认证,利用返回的辅助验证信息验证查询结果的正确性,克服了现有技术中“诚实但好奇的”云服务器可能返回错误的查询结果、查询结果正确性验证操作只能由拥有密钥的查询用户执行的问题,使得本发明实现了查询结果正确性的公共验证,保证了查询结果没有被篡改或伪造,而且有利于减轻查询用户的计算和存储负担。
附图说明
图1本发明基于安全索引的可验证多关键词密文查询方法流程图;
图2加密且认证后的索引树的一个示例图。
具体实施方式
下面结合附图及实施例对本发明做进一步的详细说明。
参见图1,本发明基于安全索引的可验证多关键词密文查询方法,包括以下步骤:
步骤1,构建索引树。
利用tf-idf和向量空间模型,从外包电子文档集
Figure BDA0002808330900000091
中提取关键词组成字典,为每个电子文档生成一个n维的随机向量,将字典中第ι个关键词在每个电子文档中的tf-idf值赋给相应随机向量中的第ι个元素,得到每个电子文档的初始数据向量,其中,m表示外包电子文档集中文档的总数,ι=1,2,…,N,N表示字典的大小,N=n;
将所有初始数据向量作为叶子节点,构建一棵平衡二叉树,作为索引树,选取每一个非叶子节点的所有孩子节点中的初始数据向量每一维的最大值,构成一个新的初始数据向量,存储到相应的非叶子节点中。
本发明的实施例中,非叶子节点的左、右孩子节点中的初始数据向量分别为p1=(p1,1,…p1,ι,…,p1,n),p2=(p2,1,…,p2,ι,…,p2,n),则新构成的初始数据向量为pmax=(max(p1,1,p2,1),…,max(p1,i,p2,i),…,max(p1,n,p2,n)),其中,p1,ι,表示左孩子的初始数据向量p1中的第ι个元素,p2,ι表示右孩子的初始数据向量p2中的第ι个元素,ι=1,2…,n,max(·)表示取最大值操作。
步骤2,设置可搜索密钥和文档加密密钥。
随机生成两个n+1维的实数向量r=(r1,…,rn+1)和s=(s1,…,sn+1)、一个n维的比特向量b=(b1,…,bn)、两个2n+2阶的可逆矩阵
Figure BDA0002808330900000101
组成可搜索密钥
Figure BDA0002808330900000102
将对称加密算法的对称密钥作为文档加密密钥;对称加密算法是指:高级加密算法、数据加密标准算法和国际数据加密算法中的任意一个算法。
步骤3,对索引树进行加密。
将索引树的每个节点中的初始数据向量pi=(pi,1,…,pi,n)扩展为一个2n+2维的目标数据向量
Figure BDA0002808330900000103
其中,i=1,2,…,2m-1,m表示外包电子文档集中文档的总数。
利用数据向量分裂方法,将每个目标数据向量
Figure BDA0002808330900000104
分裂成两个随机向量
Figure BDA0002808330900000105
将两个随机向量作为相应节点的两个子向量。
数据向量分裂方法的步骤如下:
第1步,生成维数均与目标数据向量维数相同的两个随机向量,将目标数据向量中的第2n+1、2n+2个元素值赋给两个随机向量中的第2n+1、2n+2个元素;
第2步,从可搜索密钥中的比特向量中选取一个任意未选过的第ι个元素值,其中,ι的取值范围为{1,2,…,n};
第3步,判断所选的元素值是否为0,若是,则执行第4步,否则,执行第5步;
第4步,将目标数据向量中的第2ι-1个元素值赋给第一个随机向量和第二个随机向量中的第2ι-1个元素;
第5步,随机选取一个实数,赋给第一个随机向量中的第2ι-1个元素,用目标数据向量中的第2ι-1个元素值减去该随机数,将差值赋给第二个随机向量中的第2ι-1个元素;
第6步,随机选取一个实数,赋给第一个随机向量中的第2ι个元素,用目标数据向量中的第2ι个元素值减去该随机数,将差值赋给第二个随机向量中的第2ι个元素。
本发明的实施例中,第i个节点中的两个随机向量
Figure BDA0002808330900000111
中的每一个元素由目标数据向量
Figure BDA0002808330900000112
中的相应元素按照下式所得:
Figure BDA0002808330900000113
其中,
Figure BDA0002808330900000114
分别表示第一个随机向量
Figure BDA0002808330900000115
中的第2ι-1,2ι个元素,
Figure BDA0002808330900000116
分别表示第二个随机向量
Figure BDA0002808330900000117
中的第2ι-1,2ι个元素,i=1,2,…,2m-1,ι=1,2,…,n。
对可搜索密钥中两个可逆矩阵
Figure BDA0002808330900000118
进行求逆操作,将索引树中每个节点的两个子向量分别与求逆后的两个可逆矩阵相乘,得到相应节点的两个加密子向量
Figure BDA0002808330900000119
其中,(·)-1表示求逆操作。
利用文档加密密钥对每个外包电子文档加密,将密文存储到相应的叶子节点中。
步骤4,对索引树进行认证。
利用默克哈希认证方法,计算索引树中每个节点的摘要,存储在相应的节点中。
默克哈希认证方法的步骤如下:
第1步,选取索引树中的任意一个未被处理的节点;
第2步,判断所选节点是否为叶子节点,若是,则执行第3步,否则,执行第4步;
第3步,将所选节点的两个加密子向量分别作为两个字符串,用连接运算符连接所选节点中的密文和这两个字符串,利用安全散列函数,将由连接符连接所得的字符串映射成一个长度固定的随机字符串,作为所选节点的摘要;所述安全散列函数是指:SHA-224、SHA-256,SHA-512中的任意一个算法;
第4步,将所选节点的两个加密子向量分别作为两个字符串,用连接符连接这两个字符串以及所选节点的所有孩子节点中的摘要,利用安全散列函数,将由连接符连接所得的字符串映射成一个长度固定的随机字符串,作为所选节点的摘要;所述安全散列函数是指:SHA-224、SHA-256,SHA-512中的任意一个算法。
利用数字签名算法,计算索引树根节点中摘要的签名Sig,公开所得的根签名Sig;所述数字签名算法是指:RSA算法、DSA算法、ECDSA算法中的任意一个算法。
步骤5,生成查询请求的陷门。
利用查询请求向量化方法,将查询请求W′={w1,w2,…,wz}转化为一个n维的初始查询向量,其中,wτ表示第τ个查询关键词,τ=1,2,…,z,z表示查询关键词的数量。
查询请求向量化方法的步骤如下:
第1步,生成一个n维的随机向量;
第2步,从查询请求W′={w1,w2,…,wz}中选取一个任意未选过查询关键词;
第3步,判断所选的查询关键词是否在字典中,若是,则执行第4步,否则,执行第5步;
第4步,将常数1赋给随机向量中与所选查询关键词对应的元素;
第5步,将常数0赋给随机向量中与所选查询关键词对应的元素。
查询用户随机选取一个n维的实数向量作为混淆向量t=(t1,…,tn),将初始查询向量与混淆向量相加,得到安全查询向量
Figure BDA0002808330900000131
发送给数据拥有者;
数据拥有者利用查询向量分裂方法,将安全查询向量
Figure BDA0002808330900000132
分裂成两个随机向量
Figure BDA0002808330900000133
作为安全查询向量的两个子向量。
查询向量分裂方法的步骤如下:
第1步,生成维数均与安全查询向量维数相同的两个随机向量;
第2步,从比特向量b=(b1,…,bn)中选取一个任意未选过的元素值;
第3步,判断所选的元素值是否为0,若是,则执行第4步,否则,执行第5步;
第4步,在实数域上随机选取一个实数,赋给第一个随机向量对应位置上的元素,用安全查询向量中与所选元素对应的元素值减去该随机数,将差值赋给第二个随机向量中与所选元素对应的元素;
第5步,将安全查询向量中与所选元素对应的元素值赋给第一个随机向量和第二个随机向量中与所选元素对应的元素。
本发明的实施例中,安全查询向量中的两个随机向量
Figure BDA0002808330900000134
中的每个元素由安全查询向量
Figure BDA0002808330900000135
中相应元素按下式所得:
Figure BDA0002808330900000136
其中,
Figure BDA0002808330900000137
表示第一随机向量
Figure BDA0002808330900000138
中的第ι个元素,
Figure BDA0002808330900000139
表示第二随机向量
Figure BDA00028083309000001310
中的第ι个元素,ι=1,2,…,n。
利用陷门辅助信息生成公式,数据拥有者为安全查询向量的两个子向量生成两个2n+2维的辅助向量
Figure BDA00028083309000001311
和两个(2n+2)×n维的辅助矩阵
Figure BDA0002808330900000141
得到陷门生成辅助信息集
Figure BDA0002808330900000142
发送给查询用户。
陷门辅助信息生成公式如下:
Figure BDA0002808330900000143
Figure BDA0002808330900000144
Figure BDA0002808330900000145
其中,
Figure BDA0002808330900000146
分别表示两个辅助向量
Figure BDA0002808330900000147
中的第i个元素,
Figure BDA0002808330900000148
分别表示两个辅助矩阵
Figure BDA0002808330900000149
中第i行、第j列的元素,i=1,2,…,2n+2,j=1,2,…,n,β表示在实数域上随机选取的正实数,ε1212表示在实数域上随机选取的四个实数,
Figure BDA00028083309000001410
分别表示两个可逆矩阵
Figure BDA00028083309000001411
中第i行、第j列的元素,
Figure BDA00028083309000001412
分别表示安全查询向量的两个子向量中第j个元素,∑表示求和操作。
查询用户对陷门生成辅助信息集中的第一辅助矩阵
Figure BDA00028083309000001413
和第二辅助矩阵
Figure BDA00028083309000001414
进行转置操作,分别计算混淆向量和转置后的第一辅助矩阵、第二辅助矩阵的乘积,将两个乘积结果分别与陷门生成辅助信息集中的第一辅助向量
Figure BDA00028083309000001415
第二辅助向量
Figure BDA00028083309000001416
相加,组成查询请求的陷门
Figure BDA00028083309000001417
其中,T表示转置操作。
步骤6,查询密文。
将索引树的根节点作为当前检索访问节点,利用深度优先搜索方法,选出k个密文,作为查询结果,其中,k表示返回的查询结果的数量,且5≤k≤50。
深度优先搜索方法的步骤如下:
第1步,设置一个空列表,作为查询结果列表;
第2步,判断当前检索访问节点是否为非叶子节点,若是,则执行第3步,否则,执行第6步;
第3步,判断查询结果列表中的元组数量是否等于所需返回的查询结果的数量,若是,则执行第4步,否则,执行第5步;
第4步,选取查询结果列表中最小的得分,判断当前检索访问节点的得分是否大于最小得分,若是,则执行第5步,否则,执行第10步;
第5步,将当前检索访问节点的每个孩子节点中的两个加密子向量分别与查询请求的陷门中的两个向量相乘,两次乘积结果相加后得到相应孩子节点的得分,将得分最大的孩子节点作为新的检索访问节点,执行第2步;
第6步,判断查询结果列表中的元组数量是否等于所需返回的查询结果的数量,若是,则执行第7步,否则,执行第9步;
第7步,选取查询结果列表中最小的得分,判断当前检索访问的节点的得分是否大于最小得分,若是,则执行第8步,否则,执行第10步;
第8步,删除最小得分对应的元组,将当前检索访问节点中的密文和对应的得分作为元组存储到查询结果列表中,执行第10步;
第9步,将当前检索访问节点中的两个加密子向量分别与查询请求的陷门中的两个向量相乘,两次乘积结果相加后得到当前检索访问节点的得分,将当前检索访问节点中的密文和对应的得分作为元组存储到查询结果列表中,执行第10步;
第10步,返回上一个检索访问节点,判断当前检索访问节点是否有未被访问的孩子节点,若是,则执行第11步,否则,执行第12步;
第11步,将当前检索访问节点中未被访问的孩子节点作为新的检索访问节点,执行第2步;
第12步,判断当前检索访问节点是否为根节点,若是,则执行第13步,否则,执行第10步;
第13步,结束查询。
选取查询结果所在的k个叶子节点到根节点路径上每个节点中的两个加密子向量以及相应兄弟节点中的摘要,作为辅助验证信息返回给查询用户。
本发明的实施例中,设由5个外包电子文档{f1,…,f5}构建的索引树如图2所示,其中加阴影的两个圆圈表示top-2查询结果所在的节点,ci表示电子文档fi的密文,i=1,2,3,4,5,dj表示第j个节点的摘要,j=1,2,…,9,则top-2查询结果为R={c1,c3},辅助验证信息为
Figure BDA0002808330900000161
步骤7,验证查询结果的正确性。
利用查询结果和辅助验证信息重新计算根节点的摘要。
本发明的实施例中,根据对图2索引树检索返回的查询结果R={c1,c3}和辅助验证信息
Figure BDA0002808330900000162
验证者(如查询用户)利用下式重新计算根节点的摘要d′9
Figure BDA0002808330900000163
Figure BDA0002808330900000164
Figure BDA0002808330900000165
Figure BDA0002808330900000166
Figure BDA0002808330900000167
其中,||表示连接符,H(·)表示安全散列函数。
利用数字签名的公钥对公开的根签名进行解密,得到真正的根摘要。
比较新生成的根节点的摘要与真正的根摘要,若相同,则利用文档加密密钥解密查询结果,否则,丢弃收到的查询结果。
本发明通过数据拥有者和查询用户一轮通信的方式生成查询请求的陷门,在不泄露可搜索密钥的情况下实现了多关键词排序查询。本发明利用默克哈希认证方法对索引树进行认证,实现了查询结果正确性的公共验证,有利于减轻查询用户的计算和存储负担。
以上所述的仅仅是本发明的较佳实施例,并不用以对本发明的技术方案进行任何限制,本领域技术人员应当理解的是,在不脱离本发明精神和原则的前提下,该技术方案还可以进行若干简单的修改和替换,这些修改和替换也均会落入权利要求书涵盖的保护范围之内。

Claims (10)

1.一种基于安全索引的可验证多关键词密文查询方法,其特征在于,包括以下步骤:
-数据拥有者为电子文档集构建一棵索引树;
-利用可搜索密钥对索引树进行加密,利用默克哈希认证方法对加密的索引树进行认证;
-数据拥有者和查询用户在不泄露可搜索密钥的情况下合作生成查询请求的陷门;
-对加密及认证后的索引树进行查询,将查询结果和辅助验证信息返回给查询用户;
-验证查询结果正确性。
2.根据权利要求1所述基于安全索引的可验证多关键词密文查询方法,其特征在于:
索引树构建具体包括以下步骤:
(1a)利用tf-idf和向量空间模型,从外包电子文档集中提取关键词组成字典,为每个电子文档生成一个n维的随机向量,将字典中第ι个关键词在每个电子文档中的tf-idf值赋给相应随机向量中的第ι个元素,得到每个电子文档的初始数据向量,其中,ι=1,2,…,N,N表示字典的大小,N=n;
(1b)将所有初始数据向量作为叶子节点,构建一棵平衡二叉树,作为索引树,选取每一个非叶子节点的所有孩子节点中的初始数据向量每一维的最大值,构成一个新的初始数据向量,存储到相应的非叶子节点中。
3.根据权利要求1所述基于安全索引的可验证多关键词密文查询方法,其特征在于:
利用可搜索密钥对索引树进行加密,具体包括以下步骤:
-设置可搜索密钥和文档加密密钥:
(2a)随机生成两个n+1维的实数向量r=(r1,…,rn+1)和s=(s1,…,sn+1)、一个n维的比特向量b=(b1,…,bn)、两个2n+2阶的可逆矩阵
Figure FDA0002808330890000011
组成可搜索密钥;
(2b)将对称加密算法的对称密钥作为文档加密密钥;所述对称加密算法是指:高级加密算法、数据加密标准算法和国际数据加密算法中的任意一个算法;
-对索引树进行加密:
(3a)将索引树中存储的每个初始数据向量pi=(pi,1,…,pi,n)扩展为一个2n+2维的目标数据向量
Figure FDA0002808330890000021
其中,i=1,2,…,2m+1,m表示外包电子文档集中文档的总数;
(3b)利用数据向量分裂方法,将每个目标数据向量分裂成两个随机向量,作为相应节点的两个子向量;
(3c)对可搜索密钥中两个可逆矩阵
Figure FDA0002808330890000022
进行求逆操作,将索引树中每个节点的两个子向量分别与求逆后的两个可逆矩阵相乘,得到相应节点的两个加密子向量;
(3d)利用文档加密密钥对每个外包电子文档加密,将密文存储到相应的叶子节点中。
4.根据权利要求3所述基于安全索引的可验证多关键词密文查询方法,其特征在于:
步骤(3b)中所述数据向量分裂方法的步骤如下:
3b1,生成维数均与目标数据向量维数相同的两个随机向量,将目标数据向量中的第2n+1、2n+2个元素值赋给两个随机向量中的第2n+1、2n+2个元素;
3b2,从比特向量b=(b1,…,bn)中选取一个任意未选过的第ι个元素值,其中,ι的取值范围为{1,2,…,n};
3b3,判断所选的元素值是否为0,若是,则执行第3b4步,否则,执行第3b5步;
3b4,将目标数据向量中的第2ι-1个元素值赋给第一个随机向量和第二个随机向量中的第2ι-1个元素;
3b5,在实数域上随机选取一个实数,赋给第一个随机向量中的第2ι-1个元素,用目标数据向量中的第2ι-1个元素值减去该随机数,将差值赋给第二个随机向量中的第2ι-1个元素;
3b6,在实数域上随机选取一个实数,赋给第一个随机向量中的第2ι个元素,用目标数据向量中的第2ι个元素值减去该随机数,将差值赋给第二个随机向量中的第2ι个元素。
5.根据权利要求1所述基于安全索引的可验证多关键词密文查询方法,其特征在于:
对加密的索引树进行认证,具体包括以下步骤:
(4a)利用默克哈希认证方法,计算索引树中每个节点的摘要,存储在相应的节点中;
(4b)利用数字签名算法,计算索引树根节点中摘要的签名,公开所得的根签名;所述数字签名算法是指:RSA算法、DSA算法、ECDSA算法中的任意一个算法。
6.根据权利要求5所述基于安全索引的可验证多关键词密文查询方法,其特征在于:
步骤(4a)中所述默克哈希认证方法的步骤如下:
4a1,选取索引树中的任意一个未被处理的节点;
4a2,判断所选节点是否为叶子节点,若是,则执行第4a3步,否则,执行第4a4步;
4a3,将所选节点的两个加密子向量分别作为两个字符串,用连接运算符连接所选节点中的密文和这两个字符串,利用安全散列函数将由连接符连接所得的字符串映射成一个长度固定的随机字符串,作为所选节点的摘要;所述安全散列函数是指:SHA-224、SHA-256,SHA-512中的任意一个算法;
4a4,将所选节点的两个加密子向量分别作为两个字符串,用连接符连接这两个字符串以及所选节点的所有孩子节点中的摘要,利用安全散列函数将由连接符连接所得的字符串映射成一个长度固定的随机字符串,作为所选节点的摘要;所述安全散列函数是指:SHA-224、SHA-256,SHA-512中的任意一个算法。
7.根据权利要求1所述基于安全索引的可验证多关键词密文查询方法,其特征在于:
生成查询请求的陷门具体包括以下步骤:
(5a)利用查询请求向量化方法,将查询请求W′={w1,w2,…,wz}转化为一个n维的初始查询向量,其中,wτ表示第τ个查询关键词,τ=1,2,…,z,z表示查询关键词的数量;
查询请求向量化方法的步骤如下:
5a1,生成一个n维的随机向量;
5a2,从查询请求W′={w1,w2,…,wz}中选取一个任意未选过的查询关键词;
5a3,判断所选的查询关键词是否在字典中,若是,执行第5a4步,否则,执行第5a5步;
5a4,将常数1赋给随机向量中与所选查询关键词对应的元素;
5a5,将常数0赋给随机向量中与所选查询关键词对应的元素;
(5b)查询用户随机选取一个n维的实数向量作为混淆向量,将初始查询向量与混淆向量相加,得到安全查询向量,发送给数据拥有者;
(5c)数据拥有者利用查询向量分裂方法,将安全查询向量分裂成两个随机向量,作为安全查询向量的两个子向量;
查询向量分裂方法的步骤如下:
5c1,生成维数均与安全查询向量维数相同的两个随机向量;
5c2,从比特向量b=(b1,…,bn)中选取一个任意未选过的元素值;
5c3,判断所选的元素值是否为0,若是,执行第5c4步,否则,执行第5c5步;
5c4,在实数域上随机选取一个实数,赋给第一个随机向量对应位置上的元素,用安全查询向量中与所选元素对应的元素值减去该随机数,将差值赋给第二个随机向量中与所选元素对应的元素;
5c5,将安全查询向量中与所选元素对应的元素值赋给第一个随机向量和第二个随机向量中与所选元素对应的元素;
(5d)数据拥有者利用陷门辅助信息生成公式,为安全查询向量的两个子向量生成两个2n+2维的辅助向量
Figure FDA0002808330890000041
和两个(2n+2)×n维的辅助矩阵
Figure FDA0002808330890000042
得到陷门生成辅助信息集
Figure FDA0002808330890000043
发送给查询用户;
所述陷门辅助信息生成公式如下:
Figure FDA0002808330890000051
Figure FDA0002808330890000052
Figure FDA0002808330890000053
其中,
Figure FDA0002808330890000054
分别表示两个辅助向量
Figure FDA0002808330890000055
中的第i个元素,
Figure FDA0002808330890000056
分别表示两个辅助矩阵
Figure FDA0002808330890000057
中第i行、第j列的元素,i=1,2,…,2n+2,j=1,2,…,n,β表示在实数域上随机选取的正实数,ε1212表示在实数域上随机选取的四个实数,
Figure FDA0002808330890000058
分别表示两个可逆矩阵
Figure FDA0002808330890000059
中第i行、第j列的元素,
Figure FDA00028083308900000510
分别表示安全查询向量的两个子向量中第j个元素,∑表示求和操作;
(5e)查询用户对陷门生成辅助信息集中的第一辅助矩阵
Figure FDA00028083308900000511
和第二辅助矩阵
Figure FDA00028083308900000512
进行转置操作,分别计算混淆向量和转置后的第一辅助矩阵、第二辅助矩阵的乘积,将两个乘积结果分别与陷门生成辅助信息集中的第一辅助向量
Figure FDA00028083308900000513
第二辅助向量
Figure FDA00028083308900000514
相加,组成查询请求的陷门;
(5f)查询用户向云服务器提交查询请求的陷门。
8.根据权利要求1所述基于安全索引的可验证多关键词密文查询方法,其特征在于:
对加密及认证后的索引树进行查询具体包括以下步骤:
(6a)将索引树的根节点作为当前检索访问节点,利用深度优先搜索方法,选出k个密文,作为查询结果,其中,k表示所需查询结果的数量,且5≤k≤50;
所述深度优先搜索方法的步骤如下:
6a1,设置一个空列表,作为查询结果列表;
6a2,判断当前检索访问节点是否为非叶子节点,若是,则执行第6a3步,否则,执行第6a6步;
6a3,判断查询结果列表中的元组数量是否等于所需查询结果的数量,若是,则执行第6a4步,否则,执行第6a5步;
6a4,选取查询结果列表中最小的得分,判断当前检索访问节点的得分是否大于最小得分,若是,则执行第6a5步,否则,执行第6a10步;
6a5,将当前检索访问节点的每个孩子节点中的两个加密子向量,分别与查询请求的陷门中的两个向量相乘,两个乘积结果相加后得到相应孩子节点的得分,将得分最大的孩子节点作为新的检索访问节点,执行第6a2步;
6a6,判断查询结果列表中的元组数量是否等于所需查询结果的数量,若是,则执行第6a7步,否则,执行第6a9步;
6a7,选取查询结果列表中最小的得分,判断当前检索访问节点的得分是否大于最小得分,若是,则执行第6a8步,否则,执行第6a10步;
6a8,删除最小得分对应的元组,将当前检索访问节点中的密文和对应的得分作为元组,存储到查询结果列表中,执行第6a10步;
6a9,将当前检索访问节点中的两个加密子向量分别与查询请求的陷门中的两个向量相乘,两次乘积结果相加后得到当前检索访问节点的得分,将当前检索访问节点中的密文和对应的得分作为元组存储到查询结果列表中,执行第6a10步;
6a10,返回上一个检索访问节点,判断当前检索访问节点是否有未被访问的孩子节点,若是,则执行第6a11步,否则,执行第6a12步;
6a11,将当前检索访问节点中未被访问的孩子节点作为新的检索访问节点,执行第6a2步;
6a12,判断当前检索访问节点是否为根节点,若是,则执行第6a13步,否则,执行第6a10步;
6a13,结束检索;
(6b)选取查询结果所在的k个叶子节点到根节点路径上每个节点中的两个加密子向量以及相应兄弟节点中的摘要,作为辅助验证信息返回给查询用户。
9.根据权利要求1所述基于安全索引的可验证多关键词密文查询方法,其特征在于:
验证查询结果正确性具体包括以下步骤:
(7a)利用查询结果和辅助验证信息重新计算根节点的摘要;
(7b)利用数字签名的公钥对公开的根签名进行解密,得到真正的根摘要;
(7c)比较新生成的根节点的摘要与真正的根摘要,若相同,则执行步骤(7d),否则执行步骤(7e);
(7d)利用文档加密密钥解密查询结果;
(7e)丢弃收到的查询结果。
10.一种基于安全索引的可验证多关键词密文查询系统,其特征在于,包括:
索引树构建模块,用于为电子文档集构建一棵索引树;
索引树加密模块,用于利用可搜索密钥对索引树进行加密;
索引树认证模块,用于利用默克哈希认证方法对加密的索引树进行认证;
陷门生成模块,用于在不泄露可搜索密钥的情况下生成查询请求的陷门;
查询模块,用于对加密及认证后的索引树进行查询,获取查询结果和相应辅助验证信息;
查询结果验证模块,用于验证查询结果正确性。
CN202011376509.8A 2020-11-30 2020-11-30 一种基于安全索引的可验证多关键词密文查询方法及系统 Pending CN112446041A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011376509.8A CN112446041A (zh) 2020-11-30 2020-11-30 一种基于安全索引的可验证多关键词密文查询方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011376509.8A CN112446041A (zh) 2020-11-30 2020-11-30 一种基于安全索引的可验证多关键词密文查询方法及系统

Publications (1)

Publication Number Publication Date
CN112446041A true CN112446041A (zh) 2021-03-05

Family

ID=74738885

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011376509.8A Pending CN112446041A (zh) 2020-11-30 2020-11-30 一种基于安全索引的可验证多关键词密文查询方法及系统

Country Status (1)

Country Link
CN (1) CN112446041A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112966086A (zh) * 2021-03-12 2021-06-15 湖南大学 一种基于位置敏感哈希函数的可验证模糊搜索方法
CN113420175A (zh) * 2021-06-15 2021-09-21 西安电子科技大学 一种可验证细粒度加密图像检索方法及系统
CN115860932A (zh) * 2022-11-14 2023-03-28 临沂大学 一种跨分片交易方法、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106815350A (zh) * 2017-01-19 2017-06-09 安徽大学 一种云环境中动态的密文多关键词模糊搜索方法
CN109885640A (zh) * 2019-01-08 2019-06-14 南京邮电大学 一种基于α叉索引树的多关键词密文排序检索方法
CN110908959A (zh) * 2019-10-30 2020-03-24 西安电子科技大学 一种支持多关键字和结果排序的动态可搜索加密方法
CN111614470A (zh) * 2020-05-27 2020-09-01 贵州大学 基于改进Merkle-Tree认证方法的可验证多关键字搜索方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106815350A (zh) * 2017-01-19 2017-06-09 安徽大学 一种云环境中动态的密文多关键词模糊搜索方法
CN109885640A (zh) * 2019-01-08 2019-06-14 南京邮电大学 一种基于α叉索引树的多关键词密文排序检索方法
CN110908959A (zh) * 2019-10-30 2020-03-24 西安电子科技大学 一种支持多关键字和结果排序的动态可搜索加密方法
CN111614470A (zh) * 2020-05-27 2020-09-01 贵州大学 基于改进Merkle-Tree认证方法的可验证多关键字搜索方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
QIUYUN TONG 等: "VPSL: Verifiable Privacy-Preserving Data Search for Cloud-Assisted Internet of Things", 《IEEE TRANSACTIONS ON CLOUD COMPUTING》 *
严小龙等: "支持动态更新的多关键词密文排序检索", 《计算机工程与设计》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112966086A (zh) * 2021-03-12 2021-06-15 湖南大学 一种基于位置敏感哈希函数的可验证模糊搜索方法
CN113420175A (zh) * 2021-06-15 2021-09-21 西安电子科技大学 一种可验证细粒度加密图像检索方法及系统
CN113420175B (zh) * 2021-06-15 2022-12-09 西安电子科技大学 一种可验证细粒度加密图像检索方法及系统
CN115860932A (zh) * 2022-11-14 2023-03-28 临沂大学 一种跨分片交易方法、设备及介质

Similar Documents

Publication Publication Date Title
CN106803784B (zh) 安全多媒体云存储中基于格的多用户模糊可搜索加密方法
CN109450935B (zh) 云存储中可验证的语义安全的多关键词搜索方法
CN107256248B (zh) 云存储安全中基于通配符的可搜索加密方法
WO2022099495A1 (zh) 云计算环境中的密文搜索方法及系统、设备
CN112446041A (zh) 一种基于安全索引的可验证多关键词密文查询方法及系统
CN112989375B (zh) 一种分级优化加密无损隐私保护方法
CN112332979B (zh) 云计算环境中的密文搜索方法及系统、设备
CN110222081B (zh) 多用户环境下基于细粒度排序的数据密文查询方法
CN111930881B (zh) 基于国密算法的连接关键词认证可搜索加密方法
CN106934301B (zh) 一种支持密文数据操作的关系型数据库安全外包数据处理方法
CN115314295B (zh) 一种基于区块链的可搜索加密技术方法
Kissel et al. Verifiable phrase search over encrypted data secure against a semi-honest-but-curious adversary
CN111177787B (zh) 多数据拥有者环境中基于属性的连接关键字搜索方法
CN112560075B (zh) 一种基于椭圆曲线的轻量级可搜索加密方法及装置
CN116684062B (zh) 基于代理重加密的云计算外包和数据动态分享方法及系统
Zhou et al. Evss: An efficient verifiable search scheme over encrypted cloud data
CN110222012B (zh) 单一用户环境下基于细粒度排序的数据密文查询方法
KR100951034B1 (ko) 암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문생성 방법과, 그에 따른 공개키 기반의 데이터 검색 방법
CN113158245A (zh) 一种文档搜索的方法、系统、设备及可读存储介质
Das et al. Algorithm for multi keyword search over encrypted data in cloud environment
CN112836005B (zh) 一种基于pca的密文排序搜索方法及系统
CN116127498B (zh) 一种密文检索结果可验证的多关键字可搜索加密方法
CN113420175B (zh) 一种可验证细粒度加密图像检索方法及系统
Ma et al. PPGJ: A privacy‐preserving general join for outsourced encrypted database
CN117375801B (zh) 基于sm9的指定服务器可搜索加密方法

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