Processing math: 12%
  • 中国精品科技期刊
  • CCF推荐A类中文期刊
  • 计算领域高质量科技期刊T1类
高级检索

一种基于SRE的对称可搜索加密方案

黄一才, 郁滨, 李森森

黄一才, 郁滨, 李森森. 一种基于SRE的对称可搜索加密方案[J]. 计算机研究与发展, 2023, 60(12): 2725-2736. DOI: 10.7544/issn1000-1239.202220267
引用本文: 黄一才, 郁滨, 李森森. 一种基于SRE的对称可搜索加密方案[J]. 计算机研究与发展, 2023, 60(12): 2725-2736. DOI: 10.7544/issn1000-1239.202220267
Huang Yicai, Yu Bin, Li Sensen. A Searchable Symmetric Encryption Scheme Based on SRE[J]. Journal of Computer Research and Development, 2023, 60(12): 2725-2736. DOI: 10.7544/issn1000-1239.202220267
Citation: Huang Yicai, Yu Bin, Li Sensen. A Searchable Symmetric Encryption Scheme Based on SRE[J]. Journal of Computer Research and Development, 2023, 60(12): 2725-2736. DOI: 10.7544/issn1000-1239.202220267
黄一才, 郁滨, 李森森. 一种基于SRE的对称可搜索加密方案[J]. 计算机研究与发展, 2023, 60(12): 2725-2736. CSTR: 32373.14.issn1000-1239.202220267
引用本文: 黄一才, 郁滨, 李森森. 一种基于SRE的对称可搜索加密方案[J]. 计算机研究与发展, 2023, 60(12): 2725-2736. CSTR: 32373.14.issn1000-1239.202220267
Huang Yicai, Yu Bin, Li Sensen. A Searchable Symmetric Encryption Scheme Based on SRE[J]. Journal of Computer Research and Development, 2023, 60(12): 2725-2736. CSTR: 32373.14.issn1000-1239.202220267
Citation: Huang Yicai, Yu Bin, Li Sensen. A Searchable Symmetric Encryption Scheme Based on SRE[J]. Journal of Computer Research and Development, 2023, 60(12): 2725-2736. CSTR: 32373.14.issn1000-1239.202220267

一种基于SRE的对称可搜索加密方案

基金项目: 国家自然科学基金项目(61772547)
详细信息
    作者简介:

    黄一才: 1985年生. 博士研究生. 主要研究方向为物联网、安全云存储系统、可搜索加密

    郁滨: 1964年生. 博士,教授,博士生导师. 主要研究方向为算法设计与分析、视觉密码、网络安全

    李森森: 1993年生. 博士研究生. 主要研究方向为网络安全、无线通信技术

    通讯作者:

    李森森(lss589@163.com

  • 中图分类号: TP391

A Searchable Symmetric Encryption Scheme Based on SRE

Funds: This work was supported by the National Natural Science Foundation of China (61772547).
More Information
    Author Bio:

    Huang Yicai: born in 1985. PhD candidate. His main research interests include IoT, secure cloud storage system, and searchable encryption

    Yu Bin: born in 1964. PhD, professor, PhD supervisor. His main research interests include the design and analysis of algorithms, visual cryptography, and network security

    Li Sensen: born in 1993. PhD candidate. His main research interests include network security and wireless communication technology

  • 摘要:

    具有前向隐私和后向隐私的动态对称可搜索加密(dynamic searchable symmetric encryption, DSSE)方案能够支持动态添加和删除密文索引且具有较高的搜索效率,一直是近年来研究的热点. 针对Aura方案中存在密文存储开销大和误删除的问题,给出了对称可撤消加密(symmetric revokable encryption,SRE)原语更严格的正确性定义,从理论上分析了误删除发生的条件,通过设计穿刺密钥位置选择算法,避免了哈希碰撞导致的节点位置重用. 在此基础上,构造了基于SRE对称可搜索加密方案. 方案利用多点可穿刺伪随机函数实现一次穿刺所有未使用节点,既有效降低了搜索时服务器的计算开销,又可避免提前暴露未使用密钥,提高方案的安全性. 最后,从搜索效率、存储开销、通信开销和安全性等方面对方案进行了分析. 理论分析和实验结果表明,所提方案不仅能够减小服务器密文存储时的空间开销,避免误删除索引,而且在大规模节点下具有更高的搜索效率.

    Abstract:

    DSSE (dynamic searchable symmetric encryption), which has forward/backward privacy and high search efficiency, supports addition and deletion of encrypted index. Relevant research has been a hot spot and many new schemes have been constructed in recent years, such as Aura. Aiming at the problems of high ciphertext storage overhead and mistaken deletion in Aura scheme, a more strict correctness definition of SRE (symmetric revokable encryption) primitive is given, and the condition of mistaken deletion is analyzed theoretically. In addition, an insertion position selection algorithm is designed to avoid node reuse due to Hash collision. On this basis, a searchable symmetric encryption scheme based on SRE is constructed by adding a deletion list and using a t-puncturable pseudorandom function. Puncturing all unused nodes at one time, the scheme not only effectively reduces the computing overhead on the cloud server during search phase, but also avoids revealing unused keys and gains better security. Finally, the scheme is analyzed in terms of search efficiency, storage overhead, communication overhead and security. Theoretical analysis and experimental results show that the scheme can effectively reduce the space overhead of ciphertext storage on the server, avoid the mistaken deletion, and improve the search efficiency on large-scale nodes.

  • 社团结构是复杂网络的一个重要特征,即同一个社区内节点之间连接紧密而不同社区间节点之间连接稀疏[1]. 例如,社交网络的社区代表具有相似特征的人群,蛋白质交互网络中社区代表具有相似功能的生物组织模块,万维网中不同的社区代表不同功能的网页. 社区发现是复杂网络分析挖掘中的重要任务之一,对于网络拓扑结构分析、功能分析和行为预测具有重要意义,已在社会学、生物信息学、交通系统等领域得到了广泛应用[2-4]. 例如,在社交网络中,社区发现有助于分析个体的行为模式、信息的传播方式和网络的变化趋势[5];在生物网络中,社区发现有助于分析属于共同功能模块的蛋白质之间的相互作用[6];在交通网络中,社区发现可以通过将城市道路网络划分为多个支线网络来实现对城市交通网络的区域控制,从而缓解城市交通拥堵问题[7].

    针对不同的应用领域,研究者近年来已经开展了广泛研究,并提出了系列社区发现算法,主要包括:基于划分的方法[8]、基于模块度的方法[9-10]、基于谱的方法[11]、基于动力学的方法[12]、基于标签传播的方法[13]等. 已有算法大多适用于单层网络,然而现实世界中由多种类型节点及其连边关系组成的多层网络存在更为普遍[14]. 例如,社交网络中的个体之间可能存在不同类型的社交关系,如好友、关注、评论、转发等;在生物网络中,对于某些生物体来说,完整的蛋白质与蛋白质相互作用涉及数千种蛋白质分子之间多种不同的相互作用模式;在航空运输系统中,通过直飞航班对机场之间的连接建模,不同的商业航空公司可以被视为机场之间的不同连接模式. 与单层网络相比,多层网络结构具有更加丰富的拓扑信息,有助于更为准确地探测网络中蕴含的社区结构. 但是不同网络层蕴含的社区结构之间既存在一定的相关性又存在异质性,为社区发现任务带来了新的挑战.

    近年来,一些学者针对多层网络的社区发现问题已经开展了有益探索,提出了相应的算法[15-16]. 其中,基于聚合的方法由于实现简单、具有良好的可扩展性等优点,得到了广泛关注. 第1类基于聚合的方法为网络聚合,直接将多层网络合并为单层网络,然后利用传统社区发现算法实现社区划分. 该类方法虽然降低了社区发现后续研究的难度,但是在聚合过程中丢失了不同层网络结构的独特性,造成社区结果的不准确. 第2类方法为基于集成学习的方法,首先在每层网络上分别利用传统社区发现算法进行社区划分,然后基于集成学习机制将每层的社区划分融合得到最终的社区结构. 这类方法在不同网络层得到基社区划分后,往往各层社区划分分别进行融合或者不同层的社区划分进行统一融合,忽视了不同层社区之间的异质性;另一方面在融合过程中忽略了不同的基社区结构和社区划分之间的重要性,难以获得准确的社区结构[17].

    针对上述问题,本文提出了一种基于2阶段集成的多层网络社区发现算法,旨在有效融合不同网络层获得的基社区划分之间的信息,提高社区发现结果的准确性和可解释性. 在第1阶段,分别以各层网络生成的基社区划分为主,并结合其他各层网络得到的基社区划分中最优的社区划分结构信息进行局部集成;在第2阶段,首先对得到的局部社区划分及各个社区结构的重要性度量,然后进行全局加权集成得到最终的社区划分结果.

    基于扩展的方法主要指将单层网络的社区发现方法直接扩展到多层网络,通常通过优化社区质量评估函数来实现. 基于模块度函数优化是探测社区结构的经典方法,其核心思想是通过最大化模块度来获得社区划分结果. 例如,Mucha等人[18]将模块度扩展到了多层网络,开发了一种多层网络社区质量函数的广义框架用于检测多层网络的社区结构. 该算法就是通过优化多层模块度扩展了传统的Louvain算法,从而得到一个多层模块度高的社区划分. Ma等人[19]提出了一种用于多层网络社区检测的定量函数——多层模块化密度,解决了模块度的分辨率限制问题,为社区发现算法的设计提供了理论基础,并提出了一种半监督联合非负矩阵分解的多层网络社区发现算法S2-jNMF. 该算法用贪婪搜索方法提取多层网络所有层中连接良好的子图作为先验信息,然后将与多层网络相关的矩阵和先验信息联合分解为一个基矩阵和一个多系数矩阵用于社区发现. LART[20]是一种基于局部自适应随机游走的多层网络社区发现算法,它首先对每一层网络运行不同的随机游走;然后利用每层转移概率获得节点之间的不同度量;最后,采用层次聚类方法生成社区划分,最终在多层模块度的最优值对应的水平上得到社区划分结果. Laishram等人[21]提出了一种新颖的基于采样的多层网络社区发现算法,使用来自探索成本低的层的信息来帮助探索成本高的层的信息. 尽管该类方法通过对单层网络社区发现方法进行直接扩展可以对多层网络进行有效社区发现,但是存在着需要设置的参数较多、时间复杂度较高、易受噪声影响等缺点.

    为了降低社区检测的难度,基于多层网络的聚合结构进行社区发现的相关研究具有实现简单、可扩展性强的特点. 这些研究主要包括基于网络聚合和基于集成学习2类思路.

    基于网络聚合的方法是将一个多层网络压缩成单个网络,然后采用单层网络的社区发现算法对其进行社区检测. 最简单的策略就是对邻接矩阵进行加权,其中2个节点之间的权值为它们在多层网络中相连的层数. Berlingerio等人[22]对简单的加权策略进行了修改并提出了基于共同邻居数的邻接矩阵的加权策略,这种策略不再考虑2个节点之间的直接联系,而是关注它们的邻居,共同邻居数越多则越可能在同一个社区. Zhu等人[23]进一步考虑了每层网络的重要性,将单层网络之间的相关性与单层网络的重要性密切联系起来,若某一单层网络与其他的单层网络之间的相关性更大,则表明其重要性更强. 同时判断2个节点之间是否存在路径来衡量节点相似度,然后利用单层网络重要性和节点相似度构造统一矩阵,最后再用单层网络社区发现算法得到最终的社区划分结果. 基于网络聚合方法在聚合过程中丢失了不同层网络结构的独特性,造成社区结果的不准确.

    基于集成学习的方法首先利用传统算法对多层网络的各个层进行社区发现,然后基于集成学习机制将各层得到的社区划分结果进行融合得到最终的社区划分[17]. Tang等人[24]提出了主模块化最大化方法,首先通过模块化最大化从多层网络的每个层中提取结构特征,然后对这些特征进行跨层次分析,采用PCA技术找到低维嵌入,使从所有层中提取的特征彼此高度相关,最后通过k-means聚类算法找到社区划分. Berlingerio等人[25]提出了一种基于频繁模式挖掘的多层网络的社区发现算法,能够从单层社区成员中提取频繁的封闭项集来提取多层社区. 首先用单层社区发现算法获得每层网络上的社区,然后用频繁封闭项集算法将至少在最少数量的层上属于同一社区的节点分配到同一社区. Tagarelli等人[17]提出了一种新的基于模块化优化的集成的多层社区发现算法,此方法在寻找共识社区结构时,不仅捕获了节点的原型社区成员,而且能够保存多层网络的拓扑信息,在获得共识解的过程中将多层网络的拓扑上界和拓扑下界作为搜索空间,共识函数也是通过基于模块化优化的方法,同时考虑了社区内和社区间的连通性. 这类方法在得到不同层的社区划分后,往往各层社区划分分别进行融合或者不同层的社区划分进行统一融合. 由于每一层网络中节点之间的交互方式以及社区结构的不同,进行简单集成容易忽视不同层社区之间的异质性;而且在融合过程中忽略了不同的基社区结构和社区划分之间的重要性,难以获得准确的社区结果.

    本节首先对基于集成学习的多层网络社区发现问题进行了描述,接着对本文提出的基于2阶段集成的多层网络社区发现算法进行了介绍.

    一个多层网络可以定义为

    GL=(G,A), (1)

    其中G={Gα|α{1,2,,L}}表示L层网络构成的集合, Gα=(Vα,Eα)为多层网络中的第α层,VαV={v1,v2,,vN}Vα表示第α层的节点集,V为多层网络的所有节点的集合,EαVα×Vα表示第α层内节点之间连接的边集;A表示任意2个不同层的节点之间的连接,可以表示为

    A={EαβVα×Vβ|α,β{1,2,,L},αβ}, (2)

    Eα中的元素表示层内顶点间连接,Eαβ表示层间顶点间的连接. 本文主要讨论的对象为所有层共享相同节点集的多层网络,即在给定的多层网络GL=(G,A)中,对于每一层Gα=(Vα,Eα)G都有Vα=V(V={v1,v2,,vN}), 但是每一层内的边集不同,即Gα=(V,Eα). 另外,对于层间连接

    A={EαβVα×Vβ|α,β{1,2,,L},αβ,Vα=Vβ}, (3)

    即所有层的节点是对齐的. 如图1为一个多层网络示意图,由3层网络组成,每层均包括6个节点,每层内的连边表示节点间的一种关系,层间的虚线表示不同层的节点是对齐的.

    图  1  多层网络示例
    Figure  1.  An example of multi-layer network

    给定一个L层的多层网络GL=(G,A),针对每层网络Gα=(V,Eα)分别多次利用传统单层网络社区发现算法得到该层的社区结构为Bα={B1α,B2α,,BMαα},其中BMαα表示第α层网络共生成Mα个基社区划分,则多层网络GL的基社区结构表示为B={B1,,Bα,,BL},多层网络总的社区结构划分方案个数为M=Lα=1Mα. 基于集成的社区发现算法的目的是基于各层网络产生的基社区结构B={B1,,Bα,,BL},通过集成函数获得给定多层网络GL=(G,A)的最终社区划分结果C={C1,C2,,Ck},且ki=1Ci=V,CiCj=,其中k表示最终社区个数.

    本文算法的主要步骤如图2所示,主要包括基社区划分生成、局部集成、全局加权集成3个步骤. 具体地:1)基社区划分生成是指在多层网络的每一层分别多次利用相同的传统单层网络社区发现算法产生一组基社区划分;2)分别基于单层网络生成的基社区划分和其他各层网络得到的基社区划分中最优的社区划分信息对各层进行局部集成得到局部社区划分结果;3)分别对局部集成得到的社区划分及各个社区的重要性进行度量并进行全局加权集成得到最终社区结果.

    图  2  本文算法流程示意图
    Figure  2.  Illustration of our proposed algorithm process

    该步骤的目的是为不同层的网络分别生成多组准确性高、差异性强的基社区划分. 给定一个L层的多层网络GL=(G,A),在每层网络Gα=(V,Eα)分别多次利用传统单层网络社区发现算法获得该层的社区划分Bα={B1α,B2α,,BMαα},其中BMαα表示第α层网络共生成Mα个基社区划分. 为了生成准确性高、多样性强的基社区划分,本文采用经典的LM算法[10]对每层网络分别进行社区发现.

    由于不同层产生的基社区划分之间既存在异质性,又存在一定的相关性. 因此,在局部社区划分集成阶段各层结合其他各层的最优社区结构信息进行集成. 本文中将各个层中最优的社区划分结果加入其他层,以此达到提升局部模型性能的目的. 模块度是社区划分质量优劣的评价指标[26]. 模块度反映了网络社区结构内部连接的强弱,指的是社区内的边占所有边的比例减去在同样的社区结构下随机放置社区内部的边占所有边的比例的期望值,定义为

    Q=12mi,j(Aijkikj2m)δ(i,j), (4)

    其中m表示网络的总边数,{{\boldsymbol{A}}}表示网络的邻接矩阵,{k_i}{k_j}分别代表节点{v_i}{v_j}的度,当节点{v_i}{v_j}属于同一个社区时,\delta (i,j) = 1,否则,\delta (i,j) = 0. 模块度越高,则社区划分质量越高. 针对第 \alpha 层网络获得的基社区划分{B_\alpha } = \{ B_\alpha ^1,B_\alpha ^2,…,B_\alpha ^{{M_\alpha }}\},可以通过计算各个划分下的模块度指标来选出第 \alpha 层中最优的基社区划分. 因此,在进行局部集成时,每一层的基社区划分由该层产生的{M_\alpha }个基社区和其他L - 1层分别选出的最优社区划分组成. 基于基社区划分信息,从局部角度每层分别构造节点之间的共协矩阵{\boldsymbol{A}}_{\alpha }(1\le \alpha \le L),记为

    {A_\alpha }(i,j) = \frac{{{n_{ij}}}}{{{M_\alpha } + L - 1}} , (5)

    其中{n_{ij}}表示在第 \alpha 层中节点{v_i}{v_j}在参与集成的基社区划分中被分配到同一个社区的数量,{M_\alpha } + L - 1是参与集成的社区划分的数量. 基于共协矩阵,利用层次聚类即可得到每层的局部社区划分结果 {P}_{\alpha }(1\le \alpha \le L) ,则多层网络 {\mathcal{G}_L} 的局部社区划分结果记为\mathcal{E} = \{ {P_1},{P_2},…,{P_L}\}.

    在集成过程中,不同社区划分以及社区的优劣均会对最终社区的检测产生不同的影响. 本节通过社区划分和社区质量进行评价来对集成过程进行加权. 局部社区划分结果E中,每层网络的{P_\alpha }的优劣通过该划分方案运用到其他层网络上的模块度来衡量,定义为

    Q({P_\alpha },{G_\beta }) = \frac{1}{{2{m_\beta }}}\displaystyle\sum\limits_{i,j} {\left( {{A^\beta }_{ij} - \frac{{k_i^\beta k_j^\beta }}{{2{m_\beta }}}} \right)} {\delta _\alpha }(i,j) , (6)

    其中{m_\beta }表示第\beta 层网络的总边数,{{{\boldsymbol{A}}}^\beta }表示第\beta 层网络的邻接矩阵,k_i^\beta k_j^\beta 分别代表节点{v_i}{v_j}在第\beta 层网络中的度,当节点{v_i}{v_j}{P_\alpha }属于同一个社区时,{\delta _\alpha }(i,j) = 1,否则,{\delta _\alpha }(i,j) = 0. 如果 Q({P_\alpha },{G_\beta }) 越高,则表示相对于第\beta {P_\alpha }的质量越优. 因此,在全局集成中第\alpha 层获得的{P_\alpha }的权重定义为

    W({P_\alpha }) = \frac{1}{{L - 1}}{{\displaystyle\sum\limits_{\beta = 1,\alpha \ne \beta }^L {Q({P_\alpha },{G_\beta })} }} . (7)

    然后,对\mathcal{E} = \{ {P_1},{P_2},…,{P_L}\}中各层 {P}_{\alpha }(1\le \alpha \le L) 的权重进行归一化,则有

    \overline W ({P_\alpha }) = \frac{{W({P_\alpha })}}{{\displaystyle\sum\limits_{\gamma = 1}^L {W({P_\gamma })} }} . (8)

    信息熵是信息论中用于度量系统不确定性的一种重要度量方法. 如果一个社区结构相对其他划分越稳定,则表明该社区的不确定性越小、可靠性越强,该社区在集成过程中的权重越大.

    局部社区划分结果\mathcal{E} = \{ {P_1},{P_2},…,{P_L}\} 中第\alpha 层的社区划分记为{P_\alpha } = \{ C_1^\alpha ,C_2^\alpha ,…,C_{{n^\alpha }}^\alpha \} ,其中C_i^\alpha 表示{P_\alpha }中的第 i 个社区,{n^\alpha }表示{P_\alpha }中社区的数量. 因此,\mathcal{E}中所有社区可以表示为

    \mathcal{C} = \{ {C_1},{C_2},…,{C_{{n_\mathcal{C}}}}\} , (9)

    其中{C_i}表示第 i 个社区, {n_\mathcal{C}} 表示\mathcal{E}中所有社区的总个数.

    给定一个社区{C_i} \in \mathcal{C}和网络层{G_\alpha }{P_\alpha } \in \mathcal{E},如果社区{C_i}不属于{P_\alpha },那么{C_i}中的节点可能属于{P_\alpha }中的多个社区,{C_i}相对于{P_\alpha }的不确定性可以通过考虑{C_i}中的对象在{P_\alpha }中各个社区中的分布来进行计算. 那么,社区{C_i}关于第\alpha 层网络{G_\alpha }{P_\alpha }的不确定性可表示为

    {H^\alpha }({C_i}) = - \sum\limits_{j = 1}^{{n^\alpha }} {p({C_i},C_j^\alpha )} { {\rm{lb}} }\;p({C_i},C_j^\alpha ) , (10)

    其中

    p({C_i},C_j^\alpha ) = \frac{{\left| {{C_i} \cap C_j^\alpha } \right|}}{{\left| {{C_i}} \right|}} , (11)

    其中{n^\alpha }表示社区划分{P_\alpha }中的社区数量,C_j^\alpha 表示{P_\alpha }中的第j个社区,\left| {{C_i} \cap C_j^\alpha } \right|表示2个社区中共有节点的个数,\left| {{C_i}} \right|表示{C_i}中节点的个数. p({C_i},C_j^\alpha ) \in \left[ {0,1} \right] ,所以 {H^\alpha }({C_i}) \in \left[ {0, + \infty } \right) .

    因此,{C_i}关于多层网络 {\mathcal{G}_L} 的局部社区划分\mathcal{E}的不确定性可以通过{C_i}关于\mathcal{E}中每层网络的社区划分结构的不确定性的和来表示,即

    {H^\mathcal{E}}({C_i}) = \sum\limits_{\alpha = 1}^L {{H^\alpha }({C_i})} . (12)

    基于信息熵来衡量每个社区关于局部社区划分\mathcal{E}的不确定性,那么进一步可通过归一化来衡量E中每个社区的权重,即

    W({C_i}) = \frac{{{{{\rm{e}}} ^{ - {H^\mathcal{E}}({C_i})}}}}{{\displaystyle\sum\limits_{j = 1}^{{n_\mathcal{C}}} {{{{\rm{e}}} ^{ - {H^\mathcal{E}}({C_j})}}} }} . (13)

    由于 {H^\mathcal{E}}({C_i}) \in \left[ {0, + \infty } \right) ,所以W({C_i}) \in \left[ {0,1} \right],即一个社区的不确定越小,则该社区的可靠性就越高,在集成过程中的权重越大.

    基于式(8)(13)给出的社区划分以及社区的权重,从全局角度构造节点之间的加权共协矩阵,表示为

    {{\boldsymbol{D}}} = {({\tilde a_{ij}})_{N \times N}} , (14)

    其中

    {\tilde a_{ij}} = \frac{1}{L} \times \sum\limits_{\alpha = 1}^L {\overline W({P_\alpha })} \times w_i^\alpha \times \delta _{ij}^\alpha , (15)
    w_i^\alpha = W(Cl{s^\alpha }({v_i})) , (16)
    \delta _{ij}^\alpha = \left\{ {\begin{array}{*{20}{l}} {1,{\text{ if }}Cl{s^\alpha }({v_i}) = Cl{s^\alpha }({v_j}),} \\ {0,{\text{ 其他}},} \end{array}} \right. (17)

    其中Cl{s^\alpha }({v_i})表示节点{v_i}{P_\alpha }中所属社区的标签.

    基于加权共协矩阵,通过层次聚类获得多层网络 {\mathcal{G}_L} 的最终社区划分结果{C^*} = \{ {C_1},{C_2},…,{C_k}\}.

    基于以上对各阶段集成过程的描述,本文提出的基于2阶段集成的多层网络社区发现算法描述如算法1.

    算法1. 基于2阶段集成的多层网络社区发现算法.

    输入:多层网络 {\mathcal{G}_L} = (G,\mathcal{A}) ,社区划分个数 k ,各层网络社区基划分次数 M

    输出:多层网络 {\mathcal{G}_L} 的最终社区划分结果{C^*} = \{{C_1},{C_2},…,{C_k}\}.

    ① 在每层网络上利用传统的LM社区发现算法 获得基社区划分结果,记为B = \{ {B_1}, {B_2},…,{B_L}\}

    ② for {B_\alpha } \in B

    ③ B_\alpha ^b{B_\alpha };/*根据式(4)计算得到各层最好的社 区划分*/

    ④ \{ {B_1},…,{B_{\alpha - 1}},{B_{\alpha + 1}},…,{B_L}\}B_\alpha ^b; /*将B_\alpha ^b添加到 B中除{B_\alpha }外的其他集合中*/

    ⑤ end for

    ⑥ for {G_\alpha } \in G

    ⑦ {{\boldsymbol{A}}_\alpha }{B_\alpha }; /*根据式(5)计算共协矩阵*/

    ⑧ {P_\alpha }{{\boldsymbol{A}}_\alpha };/*利用层次聚类获得局部社区划分*/

    ⑨ end for

    ⑩ for {P_\alpha } \in \mathcal{E}

    ⑪ W({P_\alpha }){P_\alpha };/*根据式(7)计算局部社区划分 的权重*/

    ⑫ end for

    \overline W({P_\alpha })W({P_\alpha });/*根据式(8)对权重进行归一化 */

    ⑭ for {C_i} \in \mathcal{E}

    ⑮  {H^\mathcal{E}}({C_i}) {C_i};/*根据式(12)计算社区不确定性*/

    ⑯ end for

    W({C_i}) {H^\mathcal{E}}({C_i}) ;/*根据式(13)计算各个社区权 重*/

    ⑱ 根据式(14)构造加权共协矩阵,并利用层次 聚类得到最终社区结构{C^*} = \{ {C_1},{C_2},…,{C_k}\}.

    本文提出的基于2阶段集成的多层网络社区发现算法主要包括3个步骤:1)基社区划分生成;2)局部集成;3)全局加权集成.

    在步骤1中采用LM算法[10],假设一个单层网络的边的数量为e,则其时间复杂度为O(e),所以步骤1的时间复杂度为O(LMe). 步骤2中主要包括构造共协矩阵,因为{B_\alpha }中的社区划分数量为{M_\alpha } + L - 1,因此其时间复杂度为O(({M_\alpha } + L - 1){N^2});此外,利用层次聚类算法获得局部社区划分结果的时间复杂度为O({N^2}),所以步骤2的时间复杂度为O(L({M_\alpha } + L - 1){N^2} + L{N^2}). 步骤3通过信息熵来计算各个社区的稳定性,假设步骤2得到的总社区数量为 {n_\mathcal{C}} ,则计算社区不稳定性的时间复杂度为O({n_\mathcal{C}}),基于共协矩阵利用层次聚类计算最终社区划分结果的时间复杂度为O({N^2}),所以步骤3的时间复杂度为O({n_\mathcal{C}}{\text{ + }}{N^2}). 因此,算法的总时间复杂度为O(LMe + L({M_\alpha } + L - 1){N^2} + L{N^2} + {n_\mathcal{C}} + {N^2}). 由于LM{n_\mathcal{C}}均小于节点个数N,所以算法的总时间复杂度为O({N^2}).

    为了验证本文算法的有效性,与已有的多层网络社区发现算法在人工合成多层网络和12个真实多层网络数据集上进行了实验比较分析.

    为了生成人工合成多层网络数据,本文采用了Bazzi等人[27]提出的算法. 算法参数设置为:网络的层数 L = 3,5,7,每层网络的规模N = 1000或 N = 5000,社区个数分别为10和50,其中每个节点都出现在每一层中,即在这些网络中分别总共有3000,5000,7000,15000,25000,35000个节点,节点的度设置为其算法默认值,即最小度为3,最大度为150. 混合参数\mu \in [0,1]\mu 的值越接近1,生成网络的随机性越强. 参数 \tilde p \in [0,1] 表示层间相关系数,当 \tilde p = 0 时,表示产生的多层网络各层之间社区划分是相互独立;当 \tilde p = 1 时,所产生的多层网络各层之间的社区划分是相同的. 由于本文算法为通过集成策略产生统一的社区划分,因此选择参数 \tilde p = 1 .

    实验中采用的真实多层网络数据集的基本情况如表1所示. 所有真实网络数据的社区划分未知.

    表  1  真实多层网络
    Table  1.  Real Multilayer Networks
    数据集层数顶点数边数
    AUCS561620
    EUAir374503588
    Pierreauger165147153
    CKM32461551
    Kapferer4391018
    Gallus6313388
    Herpes44216259
    Hiv1510051355
    Plasmodium310232521
    Xenpous5461620
    Bos4321325
    Candida7367397
    下载: 导出CSV 
    | 显示表格

    AUCS数据集描述某大学研究部门的61名员工节点(包括教授、博士后、博士生和行政人员)之间的Facebook关系、午餐关系、合作关系、休闲关系和工作关系[28]. EUAir数据集是欧洲航空交通网络,每层网络对应在欧洲运营的不同航空公司[29]. Pierreauger数据集表示天文台科学家之间的协作关系,每一层代表一种协作任务[30]. CKM数据集由美国4个城镇的246名医生组成,主要讨论网络关系对医生用药决策的影响,包括通常找谁获取用药建议、经常与谁讨论和与谁关系最好3层网络[30]. Kapferer网络中节点为裁缝店的工人,关系为他们之间的工作和友谊互动[31].

    另外,在包含相互作用数据集的生物通用存储库中选取了Gallus[32],Herpes4[33], Hiv1[33], Plasmodium[32], Xenopus[33], Bos[32],Candida[32]共7个多层网络数据集. 这些网络代表蛋白质之间的相互作用,不同的层对应于不同性质的相互作用,即直接作用、物理关联、共定位、关联、抑制、增强和合成遗传相互作用. 每种生物体所对应的层数为3~7不等.

    当数据集的真实社区结果未知时,采用Mucha等人[18]提出的多层网络模块度{Q_{\text{M}}}来评价多层网络的社区质量,定义为

    {Q_{\text{M}}} = \frac{1}{{2\mu }}\sum\limits_{i,j,\alpha, \beta } {\left\{ {\left( {{A_{ij\alpha }} - \gamma \frac{{{k_{i\alpha }}{k_{j\alpha }}}}{{2{m_\alpha }}}} \right){\delta _{\alpha \beta }} + {\delta _{ij}}{C_{j\alpha \beta }}} \right\}} \delta \left( {{g_{i\alpha }},{g_{j\beta }}} \right) , (18)

    其中\mu 表示多层网络中的连接的数量,分辨率\gamma 以控制每层网络的社区规模和数量. {A_{ij\alpha }}表示网络第\alpha 层的邻接矩阵节点{v_i}和节点{v_j}之间的连接关系,{\delta _{\alpha \beta }}在第\alpha 层和第\beta 层为同一层时为1,否则为0; {\delta _{ij}} 在节点{v_i}和节点{v_j}为同层节点时为1,否则为0. {C_{j\alpha \beta }}表示\alpha 层和\beta 层之间与节点{v_j}的层间连边数,{k_{i\alpha }} = \displaystyle\sum\limits_{i,j} {{A_{ij\alpha }}}表示节点{v_i}\alpha 层上的度,{m_\alpha } = \displaystyle\sum\limits_i {{k_{i\alpha }}}表示\alpha 层的总边数. 如果节点{v_i}和节点{v_j}的社区分布相同,则\delta ({g_{i\alpha }},{g_{j\beta }}) = 1,否则为0.

    对于有真实社区划分的数据集,利用标准化互信息(NMI[34]来评价社区划分结果的质量,NMI定义为

    NMI(X,Y) = \frac{{ - 2\displaystyle\sum\limits_{i = 1}^{{c_X}} {\displaystyle\sum\limits_{j = 1}^{{c_Y}} {{N_{ij}}{{\rm{lb}}}\frac{{{N_{ij}}\tilde N}}{{{N_i}{N_j}}}} } }}{{\displaystyle\sum\limits_{i = 1}^{{c_X}} {{N_i}{{\rm{lb}}}\frac{{{N_i}}}{N} + \displaystyle\sum\limits_{j = 1}^{{c_Y}} {{N_j}{{\rm{lb}}}\frac{{{N_j}}}{N}} } }} , (19)

    其中XY分别表示数据集的真实社区划分结果和算法得到的社区划分结果,{c_X}{c_Y}分别表示XY中的社区数量, \tilde{\boldsymbol{N}} 是一个混淆矩阵,其元素{N_{ij}}表示在X的社区iY的社区j中共同出现的节点数量,{N_i}表示\tilde{\boldsymbol{N}}的第i行的元素的和,{N_j}表示\tilde{\boldsymbol{N}}的第j列的元素的和, N 表示节点数量. NMI(X,Y) 的范围为[0,1],如果XY完全相同,则 NMI(X,Y) =1;如果XY完全不同,则 NMI(X,Y) = 0 .

    本文算法与已有多层网络社区发现基线方法进行了比较,代表性方法包括PMM[24],SCML[35],PM[36],CoReg[37],AWP[38],EVM[39].

    根据已有文献实验分析中的建议,对基线方法的参数进行了设置. 其中,本文方法与基线方法PMM,SCML,PM,CoReg,AWP共同的参数为社区个数k,为了比较的公平性,对于社区已知的人造网络个数k均设置为真实的社区个数,对于社区未知的真实网络将社区个数k设置为k \in [2,{\sqrt {N}} ],其中 N 表示节点个数,各个算法分别在不同的k值下运行,并从结果中选取最优值进行比较. PMM算法中结构特征的数量可以是1~( N - 2) N 为节点总数)之间的任意数字,根据建议,对于人工多层网络和真实多层网络均设置了2个值,人工多层网络比较低的常数为50,真实多层网络比较低的常数为10,用PMMl来表示;另一个是根据节点总数来设定的值,2类数据集上都设置为N /2,用PMMh来表示,k-means算法执行的次数设置为10. SCML算法中正则化参数\lambda = 0.5;PM算法中参数p = - 10;CoReg算法正则化参数\lambda = 0.01;EVM算法正则化参数\gamma = 0.5. 本文算法中各层网络生成的基社区划分个数M = 10.

    在不同的参数下生成了60个不同的人工合成网络,针对各个网络,对比算法均在不同参数设置下运行10次,然后取结果的平均值进行比较. 各个算法在不同人工网络的NMI值随网络参数 \mu 的变化如图3所示. 随着 \mu 的逐渐增大,不同算法的性能均出现了下降趋势. 这是因为随着 \mu 的增大网络的随机性变强,网络蕴含的社区结构复杂导致社区发现算法识别正确社区的难度加大. 当多层网络的节点数量 N= 1000时,PMMh产生了较差的结果,且在所有网络中,PMMl和PMMh产生的结果有着较大的差异,说明不同的结构特征数量对PMM产生了较大的影响,而其取值为1~( N -2 ) ,特别对于规模较大的网络,选取合适的结构特征数量并不容易. 其他算法的结果都随着 \mu 的变化出现了较大的波动,从图3可以看出本文算法在大部分情况下优于其他算法. 当多层网络的节点数量N= 5000时,基本上所有算法的结果随着 \mu 的增大而减小. 例如,PM算法的结果在L= 3,5,7的情况下分别在 \mu = 0.4,0.5,0.6的时候明显下降,PMM算法对于不同的提取的结构特征数量值,结果产生了较大的差异;AWP算法的结果在3种不同层数的网络中 \mu <0.7时均表现较好,但在 \mu = 0.7出现了明显下降; SCML算法表现较好,这是因为SCML算法通过将包含在单个图层中的信息转换为Grassmann流形上的子空间并利用Grassmann流形上的距离分析找到一个具有代表性的子空间,最后在这个代表子空间上进行聚类. 但是,SCML的聚类结果容易受到与代表性子空间距离更近的单个图层子空间上聚类结果的影响,当所有单个图层都包含丰富的信息时,SCML将产生更好的结果,若与代表性子空间距离更近的单个图层上的聚类质量较差时也会导致SCML产生较差的结果. 下面我们选取L= 3, N= 5000, \mu = 0.5和L= 3, N= 1000, \mu = 0.6这2种不同情况的人工网络来说明SCML算法为何在N= 5000时取得较好的结果. 如表2所示,在L= 3, N= 5000, \mu = 0.5上代表性子空间与第2层的子空间距离最近,且从表2中SCML算法在单层网络上得到的结果和NMI值,可以看出各层网络均包含较为丰富的信息,所以SCML得到了更好的结果. 如表3所示,在L= 3, N= 1000, \mu = 0.6上代表性子空间与第2层的子空间距离最近,与表2不同的是该网络的第2层得到了低质量的聚类结果,SCML产生了较差的结果. 说明当多层网络的各层网络中都包含较为丰富的信息时,SCML产生更好的结果,而当各层网络中存在信息较少且该层网络的子空间与SCML计算所得的代表性子空间距离即使较近时,SCML也会忽略信息较多的层,从而导致最终产生较差的结果. 基于以上2个人工网络对本文提出的方法进行分析,在L = 3, N = 5000, \mu = 0.5上,本文算法的NMI分别为0.8021,0.8131,0.802 3. 可以看出,该网络中各层都包含了较为丰富的信息,通过式(14)进行全局加权集成后,得到的NMI = 0.8501;在L = 3, N = 1000, \mu = 0.6上,本文算法的NMI分别为0.5440,0.2247,0.024 7. 可以看出该网络中各层之间的差异性较大.

    图  3  不同算法在合成网络上的NMI比较结果
    Figure  3.  Comparison results of NMI on synthetic networks
    表  2  SCML在L=3, N =5000, μ=0.5网络上的结果分析
    Table  2.  Result Analysis of SCML on Network with L=3, N=5000, μ=0.5
    网络代表性子空间与各层子空间的距离NMI
    {G_1}0.43160.6944
    {G_2}0.40720.7033
    {G_3}4.28990.6947
    {\mathcal{G}_3} 0.9760
    下载: 导出CSV 
    | 显示表格
    表  3  SCML在L=3, N=1000, μ=0.6网络上的结果分析
    Table  3.  Result Analysis of SCML on Network with L=3, N=1000, μ=0.6
    网络代表性子空间与各层子空间的距离NMI
    {G_1}2.46020.4528
    {G_2}2.09460.192
    {G_3}2.55520.0192
    {\mathcal{G}_3} 0.2996
    下载: 导出CSV 
    | 显示表格

    通过式(14)进行全局加权集成后,得到的最终结果的NMI=0.548 9. 通过对比表2表3与本文算法得到的NMI值可以看出L=3,N=5000, \mu =0.5中各层网络包含信息较为平均,而L=3,N=1000, \mu =0.6中各层网络包含信息的差异较大,所以当N=5000时,由于单层网络之间差异较小,且随着 \mu 的增大,各层网络社区结构难以识别,导致各层网络上得到的基社区划分较差,从而导致经过集成产生的社区质量也较低;当 \mu < 0.7 时,本文算法在3种不同层数的网络上的实验结果变化较小,说明本文算法的鲁棒性较强. CoReg和EVM同样在N=5000,即单层网络差异较小的人工网络上表现出了良好的性能,而在单层网络差异较大的人工网络上表现较差.

    不同算法在真实网络的实验结果如表4所示,其中每个算法在不同参数设置下均运行10次,从不同社区个数得到的结果中选取最优模块度值进行比较. 对不同算法在每个数据集上社区发现结果的最优结果和次优结果进行加粗标注. 从表4可以看出,本文算法在除AUCS之外的11个数据集上都取得了最优结果或次优的结果,其中在EUAir ,Gallus,Herpes4,Hiv1,Plasmodium,Xenopus,Bos共7个数据集上本文算法的结果明显优于次优的结果. 总之,本文算法在真实数据集上表现出了较为良好的性能.

    表  4  真实网络实验结果的QM比较
    Table  4.  Comparison of Experimental Results on Real Networks in Terms of QM
    数据集PMMhPMMlSCMLPMCoRegAWPEVM本文算法
    AUCS0.26680.29220.31930.31030.31740.30950.30790.3143
    EUAir0.12140.12720.17760.24030.16810.22090.16460.2439
    Pierreauger0.08970.12200.12240.12570.13140.10560.11830.1278
    CKM0.29640.35080.41910.32740.32690.28090.33160.4067
    Kapferer0.20130.22120.21460.24170.21960.20080.18170.2236
    Gallus0.11170.15800.17720.24880.30260.23790.24880.3059
    Herpes40.12540.21570.09380.22360.33930.25220.11710.3572
    Hiv10.08130.21740.22950.25100.21700.17150.16230.2825
    Plasmodium0.07030.14840.24880.24950.22930.16630.11020.2516
    Xenopus0.16420.21790.21120.25590.28520.28740.25440.3136
    Bos0.12830.19790.14780.24930.35960.32240.33620.4173
    Candida0.01930.11300.18670.26430.34840.27580.21110.3135
    注:加粗数字表示最优和次优结果.
    下载: 导出CSV 
    | 显示表格

    为了验证本文算法的有效性受基社区划分数M变化的影响,对采用\mu = 0.3 时不同规模的6个人工多层网络和部分层数较少的真实多层网络进行了鲁棒性测试. 其中,M \in \{ 10,20,30,40,50\} ,对于不同的M值,取本文算法在每个网络上执行10次的结果的平均值进行比较,实验结果如图4图5所示.

    图  4  本文算法的NMI随基社区划分数M的变化
    Figure  4.  NMI of the proposed algorithm changes with varying ensemble number M
    图  5  本文算法的QM随基社区划分数M的变化
    Figure  5.  {Q_{\text{M}}} of the proposed algorithm changes with varying ensemble number M

    在人工多层网络数据集中,采用NMI指标对社区划分结果进行评价,统计在不同MNMI的变化情况. 由图4可知,当L=7,N=1000,\mu = 0.3 时本文算法的NMI值出现了最大的波动(0.013),其次当L=7,N=5000,\mu = 0.3NMI值为0.01,在其他人工网络数据集上NMI值的波动范围均在0.01以内. 在真实多层网络数据集中,通过多层模块度指标QM对各个结果的变化范围进行分析. 在Plas数据集上,本文算法的结果在不同的M值下QM值的波动为0.015,在CKM和Candida数据上的QM值的波动范围均为0.011,而在其他数据集上不同的M值下QM值变化范围均小于0.01. 结果表明,本文算法的性能受基各层社区划分个数M的影响较小,具有良好的鲁棒性.

    近年来,有效融合多层网络信息并对其进行社区发现成为了一个重要的研究内容. 为此,本文提出了一种基于2阶段集成的多层网络社区发现算法. 首先,第1阶段在各层进行局部集成时结合了其他层的最优社区划分信息,有效利用了不同网络层社区结构的相关性;其次,第2阶段中基于其他网络层的社区结构信息对各层融合得到的社区划分及社区结构的重要性进行评价加权,再进行全局加权集成,综合考虑了各层局部社区划分结果对集成的影响;最后,通过在人工生成多层网络和真实多层网络上进行实验分析,对本文算法的有效性和鲁棒性进行了验证. 然而,本文提出的算法面临时间复杂度较高的问题,在未来的工作中将考虑如何提高算法的计算效率来应对大规模多层网络社区发现面临的挑战.

    作者贡献声明:赵兴旺提出论文算法思想、设计实验方案并修订论文;张珧溥完成实验并撰写论文;梁吉业提出算法的指导意见和审核论文.

  • 图  1   动态对称可搜索加密应用场景

    Figure  1.   Application scenario of dynamic searchable symmetric encryption

    图  2   插入位置选择算法设计思想

    Figure  2.   Design idea of insertion position selection algorithm

    图  3   节点利用率曲线

    Figure  3.   The curve of node utilization rate

    图  4   实际搜索时间对比(N = 100 000)

    Figure  4.   The comparison of actual search time(N = 100 000)

    图  5   本文方案通信开销(n = 32, b = 60 000)

    Figure  5.   Communication overhead of our scheme(n = 32, b = 60 000)

    图  6   删除索引后搜索结果(b = 60 000, N = 30 000)

    Figure  6.   Search results after index deletion(b = 60 000, N = 30 000)

    图  7   删除索引后方案通信开销对比(b = 60 000, N =30 000)

    Figure  7.   Scheme communication overhead comparison after index deletion(b = 60 000, N = 30 000)

    表  1   符号定义

    Table  1   Symbol Definition

    符号含义符号含义
    EDB密文数据库 {d}_{\mathrm{m}\mathrm{a}\mathrm{x}} 最大搜索深度
    {w}_{i} 文档包括关键词 MSK\left[{w}_{i}\right] 文档 {w}_{i} 当前主密钥
    \mathrm{\lambda } 安全参数 C\left[{w}_{i}\right] 存储 {w}_{i} 查询次数
    b 节点规模,即关键词
    允许插入文档数
    \boldsymbol{A}\left[{w}_{i}\right]已使用节点列表
    N 插入文档索引数\boldsymbol{D}\left[{w}_{i}\right]删除节点列表
    n 信息指纹宽度 {K}_{\mathrm{s}} 索引加密安全参数
    nw 插入关键词个数 {K}_{\mathrm{t}} 标签生成安全参数
    h 哈希函数 {K}_{\mathrm{a}\mathrm{d}\mathrm{d}} 数据加密密钥
    下载: 导出CSV

    表  2   方案对比

    Table  2   Scheme Comparison

    方案特点搜索效率存储扩展通信开销误删除
    Janus[12]非对称不扩展较高不会
    Janus++[20]SPE较高不扩展较高可忽略
    Aura[22]SRE扩展相对较低不可忽略
    本文方案SRE不扩展相对较低不会
    下载: 导出CSV

    表  3   测试软/硬环境配置

    Table  3   Environment Configuration of Software/ Hardware for Testing

    环境配置项配置参数
    硬件处理器Intel® CoreTM i7-8550U
    CPU @ 1.80 GHz 1.99 GHz
    内存8 GB
    软件系统Windows 11 家庭中文版
    wsl(Ubuntu 20.04)
    编程语言C++
    开发环境VSCode 1.64.0
    下载: 导出CSV

    表  4   方案实际存储开销

    Table  4   Actual Storage Overhead of Schemes

    方案节点规模参数设置存储开销
    客户端开销/
    (B·节点−1
    服务器开
    销/MB
    Aura[22]2000003个哈希
    函数
    19.6
    50000019.6
    80000019.6
    本文方案800000 n=32
    {d}_{\mathrm{m}\mathrm{a}\mathrm{x}}=100
    1011.3
    注: n 为指纹宽度, {d}_{\mathrm{m}\mathrm{a}\mathrm{x}} 为搜索深度,关键词个数 nw=20 ,索引数 N= 100000 .
    下载: 导出CSV
  • [1]

    Song Xiaodong, Wagner D, Perrig A. Practical techniques for searches on encrypted data[C] // Proc of the 21st IEEE Symp on Security and Privacy. Piscataway, NJ: IEEE, 2000: 44−55

    [2]

    Goh E J. Secure indexes [EB/OL]. Cryptography Archive. 2003[2021-03-01]. http://eprint.iacr.org/2003/216

    [3]

    Naveed M, Prabhakaran M, Gunter C A. Dynamic searchable encryption via blind storage[C] // Proc of the 35th IEEE Symp on Security and Privacy. Piscataway, NJ: IEEE, 2014: 639−654

    [4]

    Curtmola, R, Garay J, Kamara S, et al. Searchable symmetric encryption: Improved definitions and efficient constructions. [J] Journal of Computer Security, 2011, 19(5): 895−934

    [5]

    Hahn F, Kerschbaum F. Searchable encryption with secure and efficient updates[C] // Proc of the ACM Conf on Computer and Communications Security. New York: ACM, 2014: 310−320

    [6]

    Ghareh C J, Papadopoulos D, Papamanthou C, et al. New constructions for forward and backward private symmetric searchable encryption[C] // Proc of the 2018 ACM SIGSAC Conf on Computer and Communications Security(CCS’18). New York: ACM, 2018: 1038−1055

    [7]

    Naveed M. The fallacy of composition of oblivious RAM and searchable encryption[EB/OL]. 2015[2021-06-20]. https://eprint.iacr.org/2015/668

    [8]

    Kamara S, Papamanthou C. Parallel and dynamic searchable symmetric encryption[G] // LNCS 7859: Proc of the 17th Financial Cryptography and Data Security. Berlin: Springer, 2013: 258–274

    [9]

    Song Xiangfu, Dong Changyu, Yuan Dandan, et al. Forward private searchable symmetric encryption with optimized I/O efficiency[J]. IEEE Transactions on Dependable and Secure Computing, 2020, 17(5): 912−927 doi: 10.1109/TDSC.2018.2822294

    [10]

    Bossuat A, Bost R, Fouque P A, et al. SSE and SSD: Page-efficient searchable symmetric encryption[EB/OL]. 2021[2021-10-21].https://eprint.iacr.org/2021/716

    [11]

    He Kun, Chen Jing, Zhou Qinxi, et al. Secure dynamic searchable symmetric encryption with constant client storage cost[J]. IEEE Transactions Information Forensics and Security, 2021, 16: 1538−1549 doi: 10.1109/TIFS.2020.3033412

    [12]

    Bost R, Minaud B, Ohrimenko O. Forward and backward private searchable encryption from constrained cryptographic primitives[C] //Proc of ACM SIGSAC Conf on Computer and Communications Security. New York: ACM, 2017: 1465−1482

    [13]

    Bost R. ∑oφoς: Forward secure searchable encryption[C] // Proc of ACM SIGSAC Conf on Computer and Communications Security. New York: ACM, 2016: 1143−1154

    [14]

    Etemad M, Küp ü A, Papamanthou C, et al. Efficient dynamic searchable encryption with forward privacy[J]. Proceedings on Privacy Enhancing Technologies, 2018(1): 5−20

    [15]

    Wang Qiao, Guo Yu, Huang Hejiao, et al. Multi-user forward secure dynamic searchable symmetric encryption[G] // LNCS 11058: Proc of Symp on NSS 2018. Berlin: Springer, 2018: 125−140

    [16]

    Li Jin, Huang Yanyu, Wei Yu, et al. Searchable symmetric encryption with forward search privacy[J]. IEEE Transactions on Dependable and Secure Computing, 2021, 18(1): 460−474 doi: 10.1109/TDSC.2019.2894411

    [17]

    Huang Ke, Dong Xiaolei, Cao Zhenfu, et al. Dynamic searchable symmetric encryption schemes with forward and backward security[C/OL] // Proc of IOP Conf Series: Materials Science and Engineering. 2020[2023-01-16].https://iopscience.iop.org/article/10.1088/1757−899X/715/1/012062

    [18]

    Zuo Cong, Sun Shifeng, Liu J K, et al. Forward and backward private DSSE for range queries[J]. IEEE Transactions on Dependable and Secure Computing, 2022, 19(1): 328−338 doi: 10.1109/TDSC.2020.2994377

    [19]

    Amjad G, Kamara S, Moataz T. Forward and backward private searchable encryption with SGX[C] // Proc of ACM Conf on EuroSec’19. New York: ACM, 2019: 1143−1154

    [20]

    Sun Shifeng, Yuan Xingliang, Joseph K L, et al. Practical backward-secure searchable encryption from symmetric puncturable encryption[C] //Proc of the 2018 ACM SIGSAC Conf on Computer and Communications Security(CCS’18). New York: ACM, 2018: 763−780

    [21]

    Hohenberger S, Koppula V, Waters B. Adaptively secure puncturable pseudorandom functions in the standard model[G] // LNCS 9452: Proc of Advances in Cryptology (ASIACRYPT 2015). Berlin: Springer, 2015: 79–102

    [22]

    Sun Shifeng, Steinfeld R, Lai Shangqi, et al. Practical non-interactive searchable encryption with forward and backward privacy[C/OL] // Proc of Symp on Network and Distributed Systems Security (NDSS). 2021[2022-01-23].https://dx. doi.org/10.14722/ndss.2021.24162

    [23]

    Ray I G, Rahulamathavan Y, Rajarajan M. A new lightweight symmetric searchable encryption scheme for string identification[J]. IEEE Transactions on Cloud Computing, 2020, 8(3): 672−684

    [24]

    Zhang Yupeng, Jonathan K, Charalampos P. All your queries are belong to us: The power of file-injection attacks on searchable encryption[C] // Proc of Symp on USENIX Security. Berkeley, CA: USENIX Association. 2016: 707–720

    [25] 王贇玲,陈晓峰. 对称可搜索加密技术研究进展[J]. 电子与信息学报,2020,42(10):2374−2385 doi: 10.11999/JEIT190890

    Wang Yunling, Chen Xiaofeng. Research on searchable symmetric encryption[J]. Journal of Electronics & Information Technology, 2020, 42(10): 2374−2385 (in Chinese) doi: 10.11999/JEIT190890

  • 期刊类型引用(1)

    1. 赵兴旺,张超,梁吉业. 融入模体信息的多层网络社区发现算法. 南京大学学报(自然科学). 2024(06): 954-969 . 百度学术

    其他类型引用(3)

图(7)  /  表(4)
计量
  • 文章访问数:  207
  • HTML全文浏览量:  78
  • PDF下载量:  102
  • 被引次数: 4
出版历程
  • 收稿日期:  2022-03-30
  • 修回日期:  2023-02-23
  • 网络出版日期:  2023-09-19
  • 刊出日期:  2023-11-30

目录

/

返回文章
返回