【技术实现步骤摘要】
一种隐私保护的图相似性检索方法及系统
[0001]本专利技术涉及云计算
,特别涉及一种隐私保护的图相似性检索方法及系统。
技术介绍
[0002]图数据(Graphs)被广泛用于建模各种应用中的结构化数据,例如化学信息库、社交网络等。受云计算的各种优势所驱使,利用云计算技术存储和查询图数据库越来越流行。然而,在公有云上部署图搜索服务对信息丰富的图数据的隐私构成了严重的威胁。因此,需要在这样的云计算赋能的图搜索服务范式中引入安全性保证,保护外包的图数据库、查询请求以及查询结果。
[0003]图相似性搜索(Graph Similarity Search)是最流行的图搜索功能之一,它的目的是从一个由许多个图组成的图数据库中检索与查询图相似性在一定阈值内的所有的图,这是本专利所聚焦的图查询功能。图相似性搜索近年来受到了广泛的关注,惠及各个领域,如化学信息学、药物设计、计算机视觉、程序分析等。一个具体的应用示例是从一个由许多分子组成的分子数据集中检索与查询分子相似度在给定阈值内的分子,其中每个分子可以被建模为一个图。目前,还没有研究涉及隐私保护的图相似性搜索。
[0004]因此,现有技术还有待改进和提高。
技术实现思路
[0005]针对现有技术的上述缺陷,本专利技术提供一种隐私保护的图相似性检索方法及系统,旨在解决现有技术中没有隐私保护的图相似性检索的方案的问题。
[0006]为了解决上述技术问题,本专利技术所采用的技术方案如下:
[0007]本专利技术的第一方面,提供一种隐 ...
【技术保护点】
【技术特征摘要】
1.一种隐私保护的图相似性检索方法,其特征在于,所述方法包括:图数据库持有终端对图数据库中的各个图进行加密,得到图数据库中的各个待匹配图分别对应的两份布尔加性秘密共享份额,并分别发送至第一计算终端和第二计算终端,其中,所述待匹配图对应的布尔加性秘密共享份额中包括所述待匹配图的各个节点对应的倒排表的布尔加性秘密共享份额;查询终端对查询图进行加密,得到所述查询图对应的两份布尔加性秘密共享份额,并分别发送至所述第一计算终端和所述第二计算终端,所述查询图对应的布尔加性秘密共享份额包括所述查询图的各个节点对应的倒排表的布尔加性秘密共享份额;所述第一计算终端和所述第二计算终端基于接收到的布尔加性秘密共享份额在秘密共享域计算所述查询图分别和各个所述待匹配图之间的标签多重集的差异的算术加性秘密共享份额,并基于所述查询图分别和各个所述待匹配图之间的标签多重集的差异的算术加性秘密共享份额与预设阈值确定候选图;所述第一计算终端和所述第二计算终端在秘密共享域基于搜索树计算各个图对的映射的编辑开销,每个图对包括所述查询图和一个所述候选图,当目标图对的全映射的编辑开销小于或等于所述预设阈值时,将所述目标图对中的所述候选图作为所述查询图的一个相似图;其中,图中的节点对应的倒排表的布尔加性秘密共享份额中包括该节点的节点ID、节点标签、真实邻居节点和虚假邻居节点的节点ID、与各邻居节点的连接边的边标签的二值向量的布尔加性秘密共享份额,每个值对应的二值向量中包括该值对应的独热向量以及额外位,真实值对应的额外位为0,虚假值为0,虚假值对应的额外位为1。2.根据权利要求1所述的隐私保护的图相似性检索方法,其特征在于,所述图数据库持有终端对图数据库中的各个图进行加密,得到图数据库中的各个待匹配图分别对应的两份布尔加性秘密共享份额,包括:所述图数据库持有终端从图数据库中选择k个具有相同节点数量的所述待匹配图作为选择图,并将选中的图从所述图数据库中移除;对每个所述选择图中的节点基于节点的度进行排序;在节点排序后的所述选择图的倒排表中添加虚假邻居节点,使得每个所述选择图中位于同一排位的节点具有相同的度;对所述选择图的倒排表进行加密,得到各个所述选择图分别对应的布尔加性秘密共享份额;所述图数据库持有终端重新执行从所述图数据库中选择k个具有相同节点数量的所述待匹配图作为选择图的步骤,直至所述图数据库为空;所述查询终端对查询图进行加密,得到所述查询图对应的两份布尔加性秘密共享份额,包括:所述查询终端在所述查询图的倒排表中加入虚假邻居节点,以使得所述查询图的每个节点都具有相同的度。3.根据权利要求1所述的隐私保护的图相似性检索方法,其特征在于,所述查询图和所述待匹配图之间的标签多重集的差异的明文计算方式为:Ld(q,g
s
)=Γ(L
v
(q),L
v
(g
s
))+Γ(L
e
(q),L
e
(g
s
));
其中,Ld(q,g
s
)表示所述查询图q与所述待匹配图g
s
之间的标签多重集的差异,Γ(*,*)=max(||*||,||*||)
‑
||*∩*||,||*||表示标签多重集的基,L
v
(
·
)和L
e
(
·
)分别表示输入图
·
的节点标签多重集和边标签多重集,图的节点标签多重集中包括该图的各个节点的标签,图的边标签多重集中包括该图的各个连接边的标签;所述第一计算终端和所述第二计算终端基于接收到的布尔加性秘密共享份额在秘密共享域计算所述查询图分别和各个所述待匹配图之间的标签多重集的差异的算术加性秘密共享份额,包括:所述第一计算终端和所述第二计算终端分别采用如下步骤计算第一多重标签集和第二多重标签集的最大基的算术秘密共享份额:所述第一计算终端和所述第二计算终端将本地持有的第一多重标签集和第二多重标签集的各个额外位的布尔加性秘密共享份额转换为算术秘密共享份额;所述第一计算终端和所述第二计算终端分别在本地执行如下操作:分别将本地持有的所述第一多重标签集和所述第二多重标签集中的各个额外位的算术秘密共享份额求和,得到第一求和结果和第二求和结果;将所述第一多重标签集中的标签数量减去所述第一求和结果,得到所述第一多重标签集的基的算术秘密共享份额,将所述第二多重标签集中的标签数量减去所述第二求和结果,得到所述第二多重标签集的基的算术秘密共享份额;所述第一计算终端和所述第二计算终端基于所述第一多重标签集和所述第二多重标签集的基的算术秘密共享份额计算得到所述第一多重标签集和所述第二多重标签集的最大基的算术秘密共享份额。4.根据权利要求3所述的隐私保护的图相似性检索方法,其特征在于,所述第一计算终端和所述第二计算终端基于接收到的布尔加性秘密共享份额在秘密共享域计算所述查询图分别和各个所述待匹配图之间的标签多重集的差异的算术加性秘密共享份额,包括:所述第一计算终端和所述第二计算终端采用如下步骤计算所述第一多重标签集和所述第二多重标签集的交集的基的算术秘密共享份额:所述第一计算终端和所述第二计算终端确定目标标签对,获取所述目标标签对对应的第一判断结果的布尔加性秘密共享份额,所述目标标签对中包括第一标签和第二标签,所述第一标签为所述第一多重标签集中的一个标签,所述第二标签为所述第二多重标签集中的一个标签,当标签对中的两个标签相等时,标签对对应的所述第一判断结果为1,否则为0;所述第一计算终端和所述第二计算终端根据所述目标标签对对应的第一判断结果的布尔加性秘密共享份额,对本地持有的所述第一标签和所述第二标签的布尔加性秘密共享份额进行更新;所述第一计算终端和所述第二计算终端重新执行所述确定目标标签对的步骤,直至获取到所有标签对对应的所述第一判断结果的布尔加性秘密共享份额;所述第一计算终端和所述第二计算终端基于所有标签对对应的所述第一判断结果的布尔加性秘密共享份额获取所述第一多重标签集和所述第二多重标签集的交集的基的算术秘密共享份额。5.根据权利要求4所述的隐私保护的图相似性检索方法,其特征在于,所述第一计算终
端和所述第二计算终端获取所述目标标签对对应的第一判断结果的布尔加性秘密共享份额,包括:所述第一计算终端和所述第二计算终端在秘密共享域计算所述第一标签的所述二值向量中除额外位之外的第i位和所述第二标签的所述第二向量中除额外位之外的第i位的第一与运算结果,并在秘密共享域计算各个所述第一与运算结果的异或运...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。