A privacy-preserving graph similarity retrieval method and system
By encrypting the graph database and query graph and calculating graph similarity in a secret sharing domain, the privacy leakage problem of graph search services on the public cloud is solved, and privacy protection of graph similarity retrieval is achieved.
Patent Information
- Application Number
- CN202211205898.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-09-30
- Publication Date
- 2025-09-09
- Estimated Expiration
- 2042-09-30
AI Technical Summary
The existing technology lacks privacy-preserving graph similarity search solutions, resulting in a high risk of graph data privacy leakage when deploying graph search services on public clouds.
Boolean additive secret sharing technology is used to encrypt the graph database and query graph. The graph similarity is calculated in the secret sharing domain through the first computing terminal and the second computing terminal. Boolean additive secret sharing shares and arithmetic additive secret sharing shares are used to ensure that the node and edge information of the query graph, the graph to be matched and the query result are not leaked during the calculation process.
It achieves privacy protection for graph similarity retrieval in a public cloud environment, ensuring that computing terminals cannot obtain sensitive information and protecting the privacy of the graph database and query graph.
Smart Images

Figure CN115905633B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of cloud computing technology, and in particular to a privacy-preserving graph similarity retrieval method and system. Background Art
[0002] Graphs are widely used to model structured data in various applications, such as chemical information libraries and social networks. Driven by the advantages of cloud computing, using cloud computing to store and query graph databases is becoming increasingly popular. However, deploying graph search services on public clouds poses a serious threat to the privacy of information-rich graph data. Therefore, it is necessary to introduce security guarantees into this cloud-enabled graph search service paradigm to protect the outsourced graph database, query requests, and query results.
[0003] Graph Similarity Search is one of the most popular graph search functions. Its purpose is to retrieve all graphs whose similarity to the query graph is within a certain threshold from a graph database composed of many graphs. This is the graph query function focused on by this patent. Graph similarity search has received widespread attention in recent years and has benefited various fields such as cheminformatics, drug design, computer vision, program analysis, etc. A specific application example is to retrieve molecules whose similarity to the query molecule is within a given threshold from a molecular dataset composed of many molecules, where each molecule can be modeled as a graph. At present, there is no research on privacy-preserving graph similarity search.
[0004] Therefore, the existing technology still needs to be improved and enhanced. Summary of the Invention
[0005] In view of the above-mentioned defects of the prior art, the present invention provides a privacy-preserving graph similarity retrieval method and system, aiming to solve the problem that there is no privacy-preserving graph similarity retrieval solution in the prior art.
[0006] In order to solve the above technical problems, the technical solutions adopted by the present invention are as follows:
[0007] A first aspect of the present invention provides a privacy-preserving graph similarity retrieval method, the method comprising:
[0008] The graph database holding terminal encrypts each graph in the graph database, obtains two Boolean additive secret sharing shares corresponding to each to-be-matched graph in the graph database, and sends them to the first computing terminal and the second computing terminal respectively, wherein the Boolean additive secret sharing shares corresponding to the to-be-matched graphs include the Boolean additive secret sharing shares of the posting lists corresponding to each node of the to-be-matched graphs;
[0009] The query terminal encrypts the query graph to obtain two Boolean additive secret sharing shares corresponding to the query graph, and sends them to the first computing terminal and the second computing terminal respectively. The Boolean additive secret sharing shares corresponding to the query graph include the Boolean additive secret sharing shares of the posting lists corresponding to each node of the query graph.
[0010] The first computing terminal and the second computing terminal calculate, in a secret sharing domain, an arithmetic additive secret sharing share of a difference in label multisets between the query graph and each of the graphs to be matched based on the received Boolean additive secret sharing share, and determine a candidate graph based on the arithmetic additive secret sharing share of a difference in label multisets between the query graph and each of the graphs to be matched and a preset threshold;
[0011] The first computing terminal and the second computing terminal calculate, in a secret sharing domain, an edit cost of mappings of respective graph pairs based on a search tree, where each graph pair includes the query graph and a candidate graph, and when the edit cost of the full mapping of the target graph pair is less than or equal to the preset threshold, use the candidate graph in the target graph pair as a similar graph to the query graph;
[0012] Among them, the Boolean additive secret sharing share of the inverted list corresponding to the node in the figure includes the node ID, node label, node IDs of real neighbor nodes and false neighbor nodes, and the Boolean additive secret sharing share of the binary vector of the edge labels of the connecting edges with each neighbor node. The binary vector corresponding to each value includes the one-hot vector corresponding to the value and an extra bit. The extra bit corresponding to the real value is 0, the false value is 0, and the extra bit corresponding to the false value is 1.
[0013] The privacy-preserving graph similarity retrieval method, wherein the graph database holding terminal encrypts each graph in the graph database to obtain two Boolean additive secret sharing shares corresponding to each to-be-matched graph in the graph database, includes:
[0014] The graph database holding terminal selects k graphs to be matched with the same number of nodes from the graph database as selected graphs, and removes the selected graphs from the graph database;
[0015] sorting the nodes in each selection graph based on the degree of the nodes;
[0016] Adding false neighbor nodes to the inverted list of the selection graph after node sorting, so that nodes in the same rank in each selection graph have the same degree;
[0017] Encrypting the inverted list of the selection graph to obtain Boolean additive secret sharing shares corresponding to each of the selection graphs;
[0018] The terminal holding the graph database re-executes the step of selecting k graphs to be matched with the same number of nodes as selected graphs from the graph database until the graph database is empty;
[0019] The query terminal encrypts the query graph to obtain two Boolean additive secret sharing shares corresponding to the query graph, including:
[0020] The query terminal adds false neighbor nodes to the inverted list of the query graph so that each node of the query graph has the same degree.
[0021] In the privacy-preserving graph similarity retrieval method, the plaintext calculation method of the difference in label multisets between the query graph and the to-be-matched graph is:
[0022] Ld(q,g s )=Γ(L v (q), L v (g s ))+Γ(L e (q), L e (g s ));
[0023] Among them, Ld(q, g s ) represents the query graph q and the to-be-matched graph g s The difference between the label multisets, Γ(*, *) = max(||*||, ||*||)-||*∩*||, ||*|| represents the basis of the label multiset, L v (·) and L e (·) denote the node label multiset and edge label multiset of the input graph ·, respectively. The node label multiset of a graph includes the labels of each node in the graph, and the edge label multiset of a graph includes the labels of each connecting edge in the graph;
[0024] The first computing terminal and the second computing terminal calculate, in a secret sharing domain, an arithmetic additive secret sharing share of differences in label multisets between the query graph and each of the to-be-matched graphs based on the received Boolean additive secret sharing share, including:
[0025] The first computing terminal and the second computing terminal respectively calculate the arithmetic secret sharing shares of the maximum basis of the first multi-label set and the second multi-label set by using the following steps:
[0026] The first computing terminal and the second computing terminal convert locally held Boolean additive secret sharing shares of respective extra bits of the first multi-tag set and the second multi-tag set into arithmetic secret sharing shares;
[0027] The first computing terminal and the second computing terminal respectively perform the following operations locally:
[0028] respectively summing up the arithmetic secret sharing shares of the extra bits in the locally held first multi-tag set and the locally held second multi-tag set to obtain a first summation result and a second summation result;
[0029] Subtracting the first summation result from the number of tags in the first multiple tag set to obtain an arithmetic secret sharing share of a basis of the first multiple tag set, and subtracting the second summation result from the number of tags in the second multiple tag set to obtain an arithmetic secret sharing share of a basis of the second multiple tag set;
[0030] The first computing terminal and the second computing terminal calculate the arithmetic secret sharing share of the maximum basis of the first multiple tag set and the second multiple tag set based on the arithmetic secret sharing share of the basis of the first multiple tag set and the second multiple tag set.
[0031] The privacy-preserving graph similarity retrieval method, wherein the first computing terminal and the second computing terminal calculate, in a secret sharing domain, based on the received Boolean additive secret sharing shares, the arithmetic additive secret sharing shares of the differences in label multisets between the query graph and each of the to-be-matched graphs, including:
[0032] The first computing terminal and the second computing terminal calculate an arithmetic secret sharing share of a basis of an intersection of the first multiple label set and the second multiple label set using the following steps:
[0033] The first computing terminal and the second computing terminal determine a target label pair, and obtain a Boolean additive secret sharing share of a first judgment result corresponding to the target label pair, where the target label pair includes a first label and a second label, the first label is a label in the first multiple label set, and the second label is a label in the second multiple label set, and when the two labels in the label pair are equal, the first judgment result corresponding to the label pair is 1, otherwise it is 0;
[0034] The first computing terminal and the second computing terminal update the locally held Boolean additive secret sharing shares of the first tag and the second tag according to the Boolean additive secret sharing share of the first judgment result corresponding to the target tag pair;
[0035] The first computing terminal and the second computing terminal re-execute the step of determining the target tag pair until the Boolean additive secret sharing shares of the first judgment results corresponding to all tag pairs are obtained;
[0036] The first computing terminal and the second computing terminal obtain an arithmetic secret sharing share of a basis of an intersection of the first multiple label set and the second multiple label set based on the Boolean additive secret sharing share of the first judgment results corresponding to all label pairs.
[0037] The privacy-preserving graph similarity retrieval method, wherein the first computing terminal and the second computing terminal obtain the Boolean additive secret sharing share of the first judgment result corresponding to the target tag pair, includes:
[0038] The first computing terminal and the second computing terminal calculate, in the secret sharing domain, a first AND operation result of the i-th bit excluding the extra bit in the binary vector of the first tag and the i-th bit excluding the extra bit in the second vector of the second tag, and calculate, in the secret sharing domain, an exclusive OR operation result of each of the first AND operation results to obtain a Boolean secret sharing share of the first judgment result;
[0039] The first computing terminal and the second computing terminal update locally held Boolean additive secret sharing shares of the first tag and the second tag according to the Boolean additive secret sharing share of the first judgment result corresponding to the target tag, including:
[0040] The first computing terminal and the second computing terminal update the locally held Boolean additive secret sharing share of the first tag to the Boolean additive secret sharing share of the AND operation result of the inverse value of the first judgment result and the binary vector of the first tag;
[0041] The first computing terminal and the second computing terminal update the locally held Boolean additive secret sharing share of the second tag to the Boolean additive secret sharing share of the AND operation result of the inverse value of the first judgment result and the binary vector of the second tag;
[0042] The first computing terminal and the second computing terminal obtain an arithmetic secret sharing share of a basis of an intersection of the first multiple label set and the second multiple label set based on the Boolean additive secret sharing share of the first judgment results corresponding to all label pairs, including:
[0043] The first computing terminal and the second computing terminal convert the Boolean additive secret sharing shares of all the first judgment results into arithmetic additive secret sharing shares, and sum the arithmetic additive secret sharing shares of all the first judgment results held locally to obtain the arithmetic additive secret sharing share of the basis of the intersection of the first label multiset and the second label multiset.
[0044] The privacy-preserving graph similarity retrieval method, wherein the first computing terminal and the second computing terminal calculate the edit cost of the mapping of each graph pair based on the search tree in the secret sharing domain, includes:
[0045] For a target mapping corresponding to the target graph, the first computing terminal and the second computing terminal calculate a lower bound of an editing cost of the target mapping in a secret sharing domain;
[0046] When the lower bound of the editing cost of the target mapping is greater than the preset threshold, the first computing terminal and the second computing terminal delete the subsequent extended mapping of the target mapping.
[0047] In the privacy-preserving graph similarity retrieval method, the plaintext calculation formula for the editing cost of a graph pair is:
[0048]
[0049] Where ec(m) represents the edit cost of mapping m, u, v is a pair of mapping nodes in m m′ represents the removal of the mapping node pair from m For the remaining set of mapping node pairs, if x = y, then d[x, y] = 0, otherwise d[x, y] = 1, l(v) represents the node label of node v, and l(vv′) represents the edge label of the edge connecting node v and node v′;
[0050] The first computing terminal and the second computing terminal calculate the editing cost of mapping of each graph pair based on the search tree in the secret sharing domain, including:
[0051] The first computing terminal and the second computing terminal perform the following operations to obtain a Boolean additive secret sharing share of an edge label connecting the first node and the second node:
[0052] The first computing terminal and the second computing terminal calculate the second AND operation results of the i-th bit except the extra bits in the binary vector of the node ID of the first node and the i-th bit except the extra bits in the binary vector of the node ID of each neighbor node of the second node in the secret sharing domain, and obtain the first XOR operation result of each second AND operation result, calculate the third AND operation result of the first XOR operation result and the binary vector of the edge label of the connecting edge of the second node and each neighbor node respectively, and perform an XOR operation on each of the third AND operation results to obtain the Boolean additive secret sharing share of the edge label of the connecting edge of the first node and the second node.
[0053] The privacy-preserving graph similarity retrieval method, wherein the first computing terminal and the second computing terminal calculate the edit cost of the mapping of each graph pair based on the search tree in the secret sharing domain, includes:
[0054] The first computing terminal and the second computing terminal perform the following operation to obtain a Boolean additive secret sharing share of a second judgment result of the first edge label and the second edge label, wherein the second judgment result is 0 when the first edge label and the second edge label are equal, and is 1 otherwise:
[0055] The first computing terminal and the second computing terminal calculate, in the secret sharing domain, a third AND operation result of the i-th bit excluding the extra bit in the binary vector of the first edge label and the i-th bit excluding the extra bit in the second vector of the second edge label, and calculate, in the secret sharing domain, an exclusive OR operation result of each of the third AND operation results to obtain a Boolean additive secret sharing share of the intermediate judgment result;
[0056] The first computing terminal and the second computing terminal calculate, in the secret sharing domain, an exclusive OR operation result of each bit except an extra bit in the binary vector of the first edge label, and negate the result to obtain a first negated result;
[0057] The first computing terminal and the second computing terminal calculate, in the secret sharing domain, an exclusive OR operation result of each bit except the extra bit in the binary vector of the second edge label, and negate the result to obtain a second negated result;
[0058] The first computing terminal and the second computing terminal calculate, in the secret sharing domain, an AND operation result of the first inverted result and the second inverted result and invert the result to obtain a third inverted result;
[0059] The first computing terminal and the second computing terminal calculate an AND operation result of the third inverted result and the intermediate judgment result in a secret sharing domain to obtain a Boolean additive secret sharing share of the first edge label and the second judgment result of the second edge label.
[0060] In the privacy-preserving graph similarity retrieval method, the plaintext calculation formula for the lower bound of the editing cost of the target mapping is:
[0061] Lm(m)=ec(m)+Ld(q| m , g c | m )+B(m);
[0062]
[0063] Where Lm(m) represents graph q and graph g cThe lower bound of the editing cost of the mapping m between ,q| m and g c | m Represent graph q and graph g respectively c The unmapped subgraph consists of the unmapped nodes that are not in the mapping m and the edges between the unmapped nodes, B(m) is the bridging lower bound, and Each represents a label multiset of the bridge on the mapping node v and u, Γ(*, *) = max(||*||, ||*||) - ||*∩*||, ||*|| represents the basis of the label multiset;
[0064] The first computing terminal and the second computing terminal perform the following operations to obtain a Boolean additive secret sharing share of a bridged label multiset on a target mapping node:
[0065] The first computing terminal and the second computing terminal obtain a Boolean additive secret sharing share of a third judgment result of whether each connection edge corresponding to the target mapping node is a bridging edge;
[0066] The first computing terminal and the second computing terminal calculate, in the secret sharing domain, an XOR operation result of an AND operation of the third judgment result corresponding to each connection edge of the target mapping node and the binary vector of the edge label of the connection edge, and an XOR operation result of an AND operation result of the negated value of the third judgment result corresponding to the target mapping node and the binary vector of the false edge, to obtain a Boolean additive secret sharing share of the label multiset of the bridge on the target mapping node;
[0067] The first computing terminal and the second computing terminal perform the following operations to obtain a Boolean additive secret sharing share of a third judgment result of whether the target connection edge corresponding to the target mapping node is a bridge edge:
[0068] The first computing terminal and the second computing terminal perform an AND operation on the i-th bit except the extra bit in the binary vector of the target neighbor node and the i-th bit of the binary vector of the node ID of each unmapped node in the secret sharing domain to obtain multiple fourth AND operation results, and perform an XOR operation on all the fourth AND operation results to obtain the Boolean additive secret sharing share of the third judgment result.
[0069] In a second aspect of the present invention, a privacy-preserving graph similarity retrieval system is provided, which includes a graph database holding terminal, a query terminal, a first computing terminal and a second computing terminal; the graph database holding terminal, the query terminal, the first computing terminal and the second computing terminal collaborate to complete any of the privacy-preserving graph similarity retrieval methods described above.
[0070] Compared with the prior art, the present invention provides a privacy-preserving graph similarity retrieval method and system. In the privacy-preserving graph similarity retrieval method, the node ID, node label, and edge label of the connecting edge in the node's inverted list are all encoded as binary vectors, and false nodes are added to the inverted list. By setting the extra bit of the real value to 0, the false value to 0, and the extra bit of the false value to 1, the impact of the false nodes added in subsequent calculations is eliminated. The inverted list is shared using additive secret sharing and sent to the first computing terminal and the second computing terminal respectively, and calculated in the secret sharing domain. During the entire process, neither the first computing terminal nor the second computing terminal can obtain information such as node IDs, node labels, and edge labels in the query graph, the graph to be matched, and the query results, thereby realizing privacy-preserving graph similarity retrieval. BRIEF DESCRIPTION OF THE DRAWINGS
[0071] Figure 1 A flowchart of an embodiment of the privacy-preserving graph similarity retrieval method provided by the present invention;
[0072] Figure 2 Schematic diagram of query graph and graph database in graph similarity retrieval;
[0073] Figure 3 A system architecture diagram of each terminal in an embodiment of the privacy-preserving graph similarity retrieval method provided by the present invention;
[0074] Figure 4 A schematic diagram of an algorithm for encrypting a graph database in an embodiment of the privacy-preserving graph similarity retrieval method provided by the present invention;
[0075] Figure 5 A schematic diagram of an algorithm for securely finding the maximum value of the basis of two label multisets in an embodiment of the privacy-preserving graph similarity retrieval method provided by the present invention;
[0076] Figure 6 A schematic diagram of an algorithm for securely calculating a basis for the intersection of two label multisets in an embodiment of the privacy-preserving graph similarity retrieval method provided by the present invention;
[0077] Figure 7 A schematic diagram of an algorithm for secure candidate graph screening in an embodiment of the privacy-preserving graph similarity retrieval method provided by the present invention;
[0078] Figure 8 A schematic diagram of a method for calculating graph edit distance based on a search tree;
[0079] Figure 9 A schematic diagram of an algorithm for secure editing overhead calculation in an embodiment of the privacy-preserving graph similarity retrieval method provided by the present invention;
[0080] Figure 10Schematic diagram of an algorithm for secure bridge lower bound calculation in an embodiment of the privacy-preserving graph similarity retrieval method provided by the present invention
[0081] Figure 11 A schematic diagram of an algorithm for secure query result generation in an embodiment of the privacy-preserving graph similarity retrieval method provided by the present invention. DETAILED DESCRIPTION
[0082] In order to make the purpose, technical solution and effect of the present invention clearer and more specific, the present invention is further described in detail below with reference to the accompanying drawings and examples. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not intended to limit the present invention.
[0083] Example 1
[0084] This embodiment provides a privacy-preserving graph similarity retrieval method, which aims to implement graph similarity retrieval in a privacy-preserving manner. The following describes the graph similarity search for a plaintext domain in a graph database:
[0085] The graph that the plaintext domain graph similarity search focuses on is formally defined as follows:
[0086] Definition 1: An undirected labeled graph g can be represented as a triple in is the set of all nodes in graph g, ε = {vu} is the set of all edges in graph g, and l(·): is a label function that maps a set of nodes and edge sets To the label set ∑. Specifically, l(v) and l(vu) represent the label of node v and the label of edge vu respectively.
[0087] It should be noted that the labels of nodes and edges can be represented by numbers. In addition, in the present invention, the number of nodes in a named graph g is the size of g, which is represented by |g|.
[0088] To quantify the similarity between two graphs, the most commonly used metric is graph edit distance (GED). Generally speaking, the GED between two graphs is the minimum number of edits required to transform one graph into the other, which can be formally defined as follows:
[0089] Definition 2: The GED between two graphs g1 and g2 is denoted as ged(g1, g2), which is the minimum editing operation required to transform g1 into g2, where an editing operation can be 1) inserting a labeled node or edge; 2) deleting a labeled node or edge; 3) changing the label of a node or edge.
[0090] The graph similarity search problem can be defined as:
[0091] Definition 3: Given a graph database With a query graph q and a similarity threshold τ, graph similarity search is performed from Retrieve the image collection Its needs are met From the graph database Retrieve all graphs whose similarity with the query graph q is within a threshold ε.
[0092] For ease of understanding, Figure 2 A graph similarity search example is shown in the following, which contains a query graph q and a graph database There are three types of nodes in , marked with labels "1", "2", and "3", and two types of edges, represented by "dashed lines" and "solid lines" respectively. Consider Figure 1 In the graphs q and g1, in order to transform graph q into graph g1, the following three editing operations need to be performed on graph q: 1) replace the label of the upper left node with "3"; 2) replace the top edge with "solid line"; 3) delete the solid line between the two bottom nodes. Therefore, ged(q, g1) = 3. Table 1 shows the relationship between the query graph q and the graph database. If the similarity threshold τ = 3, the graph similarity search will return the search results
[0093] Table 1: Figure 2 Query graph q and graph database GED between all graphs in
[0094] <![CDATA[g1]]> <![CDATA[g2]]> <![CDATA[g3]]> <![CDATA[g4]]> <![CDATA[g5]]> <![CDATA[g6]]> <![CDATA[g7]]> <![CDATA[ged(q,g i )]]> 3 1 4 4 5 1 4
[0095] The following describes some background knowledge involved in the privacy-preserving graph similarity retrieval method provided in this embodiment:
[0096] 1. Additive Secret Sharing
[0097] Additive secret sharing is a lightweight encryption technology that can support some secure computing. Given a private data Based on additive secret sharing in a two-party setting, x is divided into two secret sharing shares. and When l>1, In the domain, This form is called arithmetic sharing. When l = 1, In the domain, This form is called Boolean sharing. The two shares are held by two participants, P1 and P2, respectively. Each individual share cannot infer x, ensuring the security of subsequent calculations. and to represent arithmetic sharing and Boolean sharing respectively.
[0098] When holding the secret shared value of two private data x and y, the two participants P1 and P2 can safely perform some basic operations. This invention uses arithmetic sharing to illustrate the secure computing process. The only difference between Boolean sharing and arithmetic sharing is that the addition or subtraction of arithmetic sharing is converted into the "XOR" of Boolean sharing. ”, turning the arithmetic shared multiplication into a Boolean shared “AND
[0099] Specifically, the two secret shared values and Addition or subtraction only requires local computation on the part of the participants, i.e., <z> i = <x> i + <y> i , i∈1,2. A public value η and a secret shared value The scalar multiplication between them also only needs to be calculated locally by the participants, that is, <z> i =η× <x> i Unlike these two operations, the two secret shared values and Multiplication between requires a round of online communication. For example, if you want to calculate Where z = xy, participants P1 and P2 need to use an additional set of pre-prepared secret shared Beaver triples Where w = uv. Each participant first calculates locally <e> i = <x> i - i , <f> i = <y> i - <v> i , and then disclose their own secret sharing shares of e and f to the other party. Then, P1 and P2 respectively calculate locally <z>1=e×f+f× 1+e× <v> 1+ <w>1 and <z> 2=f× 2+e× <v> 2+ <w>2 to obtain the shared value of z. For the convenience of expression, the present invention is written as to represent this multiplication.
[0100] 2. Function Secret Sharing
[0101] Function Secret Sharing (FSS) is an extension of additive secret sharing that allows secure function computation with minimal communication overhead. Therefore, FSS offers significant performance advantages over conventional secret sharing in high-latency networks. In general, a two-party FSS-based privacy function f consists of the following two abstract algorithms:
[0102] 1.(k1, k2)←Gen(1 λ ,f): Given a security parameter λ and a function description f, output two FSS keys k1, k2, one for each computation participant.
[0103] 2.<f(x)> i ←Eval(k i , x): Given an FSS key k i And an evaluation point x, output a secret share of the evaluation result<f(x)> i .
[0104] FSS ensures that if an attacker learns only one of the two FSS keys, he cannot obtain any information about the target function and the calculated output f(x).
[0105] like Figure 3 As shown, the privacy protection subgraph matching method provided in this embodiment includes all terminals of the graph database, the query terminal and two computing terminals. The query terminal is the client, and the owner of the graph database can be an organization that has a graph database. To provide graph similarity search services to clients, graph database owners want to store their graph databases in the cloud and then provide graph similarity search services to clients, as cloud computing has many attractive advantages, such as reducing hardware and software budget expenditures, scalability, and reducing the burden of local storage management. However, deploying such graph search services on the cloud will lead to privacy leakage issues of private graph databases and query graphs. Therefore, it is necessary to embed privacy protection mechanisms in such graph search services to protect the privacy of outsourced graph databases. The client's query graph q and query results To achieve privacy protection, the participants in providing cloud computing services are two computing terminals, namely the first computing terminal and the second computing terminal. The first computing terminal and the second computing terminal can be cloud servers (denoted as CS1 and CS2, simply represented as ), and come from different trust domains, which can be provided by two competing cloud service providers in real industrial scenarios.
[0106] The privacy-preserving graph similarity retrieval method provided in this embodiment is based on a semi-honest and non-collusive adversary model, where each The protocol is followed honestly, but it may independently attempt to infer sensitive information. Furthermore, it is assumed that the graph database owner and the client are trustworthy. Based on this semi-honest and non-colluding adversary model, the privacy-preserving graph similarity retrieval method provided in this embodiment ensures that the computing terminal cannot learn the following information:
[0107] 1) Graph Database The client's query graph q and query results The labels of each node and edge in , the existence of an edge between any two nodes, and the degree of each node;
[0108] 2) Query graph q and graph database GED between each graph in;
[0109] 3) Given a graph database A graph in and a query graph v, whether there are nodes or edges with the same label between them.
[0110] The specific process of the privacy-preserving graph similarity retrieval method provided by this embodiment is described below.
[0111] In summary, the method provided in this embodiment includes the following four stages: 1) Graph database and query graph q modeling, 2) graph database and query graph q encryption, 3) secure candidate graph screening, 4) secure query result generation. In phase 1, the graph database owner models the graph database appropriately. The client models the query graph q appropriately to facilitate the subsequent secure graph similarity search service. In phase 2, the graph database owner Fully encrypt and then send the generated ciphertext to the cloud server In Phase 3, the cloud server Securely filter encrypted candidate graphs from the encrypted graph database for the encrypted query graph. In phase 4, the cloud server Securely check whether the GED between each encrypted candidate graph and the encrypted query graph is within a given threshold, thereby generating an encrypted query result graph.
[0112] like Figure 1 As shown, the method provided in this embodiment includes the steps of:
[0113] S100. The graph database holding terminal encrypts each graph in the graph database to obtain two Boolean additive secret sharing shares corresponding to each to-be-matched graph in the graph database, and sends them to the first computing terminal and the second computing terminal respectively, wherein the Boolean additive secret sharing shares corresponding to the to-be-matched graphs include the Boolean additive secret sharing shares of the posting lists corresponding to each node of the to-be-matched graphs;
[0114] S200 The query terminal encrypts the query graph to obtain two Boolean additive secret sharing shares corresponding to the query graph, and sends them to the first computing terminal and the second computing terminal respectively. The Boolean additive secret sharing shares corresponding to the query graph include the Boolean additive secret sharing shares of the posting lists corresponding to each node of the query graph.
[0115] Among them, the Boolean additive secret sharing share of the inverted list corresponding to the node in the figure includes the node ID, node label, node IDs of real neighbor nodes and false neighbor nodes, and the Boolean additive secret sharing share of the binary vector of the edge labels of the connecting edges with each neighbor node. The binary vector corresponding to each value includes the one-hot vector corresponding to the value and an extra bit. The extra bit corresponding to the real value is 0, the false value is 0, and the extra bit corresponding to the false value is 1.
[0116] First, the heterogeneous graph database Modeling the structured and unstructured information in the query graph q, given a node v i ∈g, where graph g is a graph database A graph in or query graph q, first use id i and t i Respectively represent v i The identifier (ID) and label of each node v j The labels of the edges between the nodes and its neighbor nodes are varied. Therefore, in the method provided in this embodiment, the modeling node v i Each neighbor node is a tuple (nid i,j , e i,j ), j∈[d i ]([d i ] represents the set {1,…,d i }), where nid i,j is node v i The ID of the jth neighbor node, e i,j is node v i The label of the edge between this neighbor node, d i Represents node v i The number of neighbor nodes of node v i The degree of the named node v i The set of neighbor nodes For the convenience of expression, in the following text, we use {σ i } i∈[μ] Represents the set {σ i ,…,σ μ }, and omit the subscript i∈[μ] where it does not affect the expression.
[0117] Finally, the query graph q can be modeled as Similarly, graph databases Can be modeled as in
[0118] The following describes in detail how to use the graph database And query graph q is encrypted to support subsequent secure graph similarity search services. First, we introduce how to Encryption is performed.
[0119] Given a node Encryption required i IDid i , tag t i and inverted list To achieve efficient encryption using lightweight secret sharing, one feasible approach is to simply apply the arithmetic ASS technique to each value. However, after conducting in-depth research on graph similarity search, the inventors discovered that equality testing is the most frequently used operation, and its efficiency dominates the performance of graph similarity search systems. Therefore, to achieve a secure and efficient equality test operation in the secret sharing domain, arithmetic ASS is not directly used to encrypt data.
[0120] In contrast, in the method provided in this embodiment, each value v is encoded as a one-hot vector v, where the length of v is all possible values of the attribute (such as the label of the node, the label of the edge, or the ID of the node), and except for the position corresponding to the value v, all other elements in v are 0, that is, v[v]=1. In addition, in order to facilitate subsequent design, an extra bit is added to each one-hot vector to form a binary vector. In this patent, for convenience of expression, v[X] is used to represent the extra bit of any one-hot vector v, and v[x], x∈[X-1] is used to represent the original bit of v. Afterwards, Boolean ASS is applied to each bit of the one-hot vector. It will be explained more clearly in the following introduction that such an encoding strategy will help design efficient equality test protocols in secret sharing domains, thereby facilitating secure graph similarity searches.
[0121] Based on the above design ideas, we will now explain in detail how all terminals of the graph database encrypt their graph databases. According to the above graph database modeling ideas, the graph database owner can simply encrypt each node in the graph separately. Specifically, given a node in The graph database owner first encodes each value into a one-hot vector. After encoding, the graph database owner encrypts these one-hot vectors using Boolean ASS: Each one-hot vector is written in bold.
[0122] It should be noted that the lack of protection for the length of the posting list will lead to the leakage of node degrees, which can be exploited by degree-based reasoning attacks. To solve this problem, let the graph database owner set a node in each node v j In order to distinguish true and false neighbor nodes and prevent false neighbor nodes from affecting the accuracy of subsequent calculations, the extra bits of vectors nid′ and e′ are set to 1 and the other bits are set to 0. i The true and false tuples in the inverted list of are applied with Boolean ASS. Due to the security of ASS, It seems that the encrypted fake neighbor nodes are indistinguishable from the real neighbor nodes.
[0123] However, there is a problem: how to choose the appropriate number of false neighbor nodes to achieve a theoretical balance between efficiency and privacy. Specifically, too many false neighbor nodes will increase subsequent system overhead, while too few false neighbor nodes will lead to weaker security. Therefore, a customized design is needed to provide a theoretically feasible method. Through this method, the graph database owner can set the appropriate number of false neighbor nodes to achieve a balance between efficiency and privacy. In the method provided in this embodiment, the graph database holding terminal encrypts each graph in the graph database to obtain two Boolean additive secret sharing shares corresponding to each graph to be matched in the graph database, including:
[0124] The graph database holding terminal selects k graphs to be matched with the same number of nodes from the graph database as selected graphs, and removes the selected graphs from the graph database;
[0125] sorting the nodes in each selection graph based on the degree of the nodes;
[0126] Adding false neighbor nodes to the inverted list of the selection graph after node sorting, so that nodes in the same rank in each selection graph have the same degree;
[0127] Encrypting the inverted list of the selection graph to obtain Boolean additive secret sharing shares corresponding to each of the selection graphs;
[0128] The terminal holding the graph database re-executes the step of selecting k graphs to be matched with the same number of nodes from the graph database as selected graphs until the graph database is empty.
[0129] This embodiment mainly uses the concept of "k-isomorphism". That is, all terminals in the graph database set up fake neighbor nodes with the goal of each graph in the encrypted graph database having k "symmetric" graphs. Specifically, all terminals in the graph database set up fake neighbor nodes from their graph database before encryption. Select k graphs with the same number of nodes, represented as If the graph database If there are not enough nodes to meet this requirement, fake nodes are added to some graphs to meet this requirement. The ID id' and the extra bit of the label t' of the added fake nodes are set to 1, and the other bits are set to 0 to distinguish them from real nodes. The nodes in are sorted based on their degrees, and then Add a fake neighbor node (nid′, e′) to the inverted list of Nodes in the same ranking have the same degree.
[0130] Finally, graph databases The ciphertext can be expressed as in It represents graph g s The picture after filling, is node v i The degree after filling. Figure 4 As shown, Algorithm 1 describes how the graph database owner encrypts the graph database
[0131] Now let's introduce how the query segment protects the query graph q. Specifically, the query terminal encrypts the query graph and obtains two Boolean additive secret sharing shares corresponding to the query graph, including:
[0132] The query terminal adds false neighbor nodes to the inverted list of the query graph so that each node of the query graph has the same degree.
[0133] Similar to the encrypted graph database, the query terminal first encodes each data in its query graph q as a one-hot vector. Then, the query terminal encrypts these one-hot vectors using Boolean ASS. In order to protect the degree of the nodes in the query graph q, the client fills the inverted list of each node so that each node in the query graph q has the same degree. Finally, the encrypted query graph q is represented as in represents the query graph q after filling, is node v i In the following text, for the sake of convenience, the symbol ^ will be omitted, for example In addition, for the GED threshold τ required by the query segment, it can be chosen to be encrypted using arithmetic ASS or directly sent to the computing terminal in plain text.
[0134] Please refer again Figure 1 , the method provided in this embodiment further includes the steps of:
[0135] S300. The first computing terminal and the second computing terminal calculate the arithmetic additive secret sharing shares of the differences in label multisets between the query graph and each of the graphs to be matched in the secret sharing domain based on the received Boolean additive secret sharing shares, and determine the candidate graph based on the arithmetic additive secret sharing shares of the differences in label multisets between the query graph and each of the graphs to be matched and a preset threshold.
[0136] Upon receiving the encrypted query graph Afterwards, the cloud server In an encrypted graph database A common approach to plaintext domain graph similarity search is to first filter out graphs that are definitely dissimilar to the query graph from the graph database and generate a set of candidate graphs for subsequent evaluation. This avoids the complex GED calculation between the query graph and each graph in the graph database, saving costs. Following this principle, the following introduces the cloud server How to filter safely, the candidate graph after filtering is represented as
[0137] For the selection of candidate graphs, use the query graph q and the graph database A figure in g s The difference in the label multisets between the two is used as a quantitative criterion, which can be expressed as Ld(q, g s ). If Ld(q, g s )>τ, we can immediately get g s Not a query result, otherwise g s It may be a query result, that is, a candidate graph. The difference of the plaintext label multiset Ld(q, g s ) is calculated as:
[0138] Ld(q,g s )=Γ(L v (q), L v (g s ))+Γ(L e (q), L e (g s )) (1)
[0139] Among them L v (·) and L e (·) denote the node label multiset (i.e., the set of labels of all nodes in the graph) and the edge label multiset (i.e., the set of labels of all edges in the graph) of the input graph ·. A label multiset is the set of all labels, including duplicate labels. Given two label multisets * and *, Γ(*), *, and Γ(*) are defined as:
[0140] Γ(*,*)=max(||*||,||*||)-||*∩*|| (2)
[0141] Here *∩* also represents a multiset, and ||*|| represents the cardinality of the label multiset, that is, the number of elements in the multiset *, i.e., its size.
[0142] Next, we will introduce how to calculate formula (1) securely and efficiently in the secret sharing domain. For ease of expression, we use They represent the query graph q and the database graph g respectively s The label multiset of the nodes (or edges), that is .after, and The ciphertext can be expressed as and in represents an encrypted tag, and It may contain fake labels (i.e., fake nodes and fake neighbor information added during the encryption phase). Since formula (1) is the sum of two Γ(*, *) (i.e., formula (2)), and the addition operation is natively supported in the secret sharing domain, the following focuses on how to calculate formula (2) in the secret sharing domain, i.e., given two label multisets and Cloud Server How to calculate
[0143] To calculate There are two challenges to be solved: 1) How to safely calculate That is, encrypted and 2) How to safely calculate the maximum basis of That is, encrypted First, in order to safely calculate One approach that seems to work is to simply take the set and The size of the largest one is However, due to and May contain false labels, so and The size of the multiset is not equal to and The following article will introduce a customized design to make the cloud server The influence of false labels can be safely eliminated to obtain encrypted and The real basis of Second, in order to calculate One approach is to use the existing private set intersection (PSI) technique. However, PSI is designed for ordinary sets, not multisets, which allow a set to contain multiple duplicate elements. Therefore, in this embodiment, a customized secret sharing domain intersection protocol is designed for multisets.
[0144] The first computing terminal and the second computing terminal respectively calculate the arithmetic secret sharing shares of the maximum basis of the first multi-label set and the second multi-label set by using the following steps:
[0145] The first computing terminal and the second computing terminal convert locally held Boolean additive secret sharing shares of respective extra bits of the first multi-tag set and the second multi-tag set into arithmetic secret sharing shares;
[0146] The first computing terminal and the second computing terminal respectively perform the following operations locally:
[0147] respectively summing up the arithmetic secret sharing shares of the extra bits in the locally held first multi-tag set and the locally held second multi-tag set to obtain a first summation result and a second summation result;
[0148] Subtracting the first summation result from the number of tags in the first multiple tag set to obtain an arithmetic secret sharing share of a basis of the first multiple tag set, and subtracting the second summation result from the number of tags in the second multiple tag set to obtain an arithmetic secret sharing share of a basis of the second multiple tag set;
[0149] The first computing terminal and the second computing terminal calculate the arithmetic secret sharing share of the maximum basis of the first multiple tag set and the second multiple tag set based on the arithmetic secret sharing share of the basis of the first multiple tag set and the second multiple tag set.
[0150] Given two encrypted label multisets containing fake labels and Next, we will introduce how to calculate First, we need to calculate the label multiset The encryption base of the cloud server. Compute securely The number of encrypted fake tags. Specifically, the extra bit of the fake tag is 1, while the extra bit of the real tag is 0. Therefore, let the cloud server Safely aggregate all tags The extra bit of The number of false labels encrypted in .
[0151] However, since the extra bits are encrypted using Boolean secret sharing (i.e., Therefore, the cloud server Simply aggregating them will not yield the correct result. The solution provided by this embodiment is to First, use existing technology to safely convert The extra bit in For the arithmetic ring middle That is, the Boolean secret sharing is converted into arithmetic secret sharing. After that, the cloud server Aggregate all locally Thus, the number of encrypted false labels is generated. Subtract the encrypted amount from the size of The real basis of . Through the above method, You can safely get a multiset and The encrypted basis of and
[0152] Next, we introduce the given and How to calculate safely In this embodiment, the conversion for If s1<s2, then otherwise express The bit operation "not" in the , that is, negation, can be achieved by letting One of them is achieved by flipping the secret share held. In addition, the multiplication between an arithmetic secret share number and a Boolean secret share number (e.g. ) can also be implemented using existing technologies. Therefore, the only remaining challenge is to and How to calculate safely In this embodiment, a distributed comparison function (hereinafter referred to as DCF) based on FSS is used to implement this operation. Implemented by the function secret sharing algorithm, if its input x < α, it outputs the secret shared β, otherwise it outputs the secret shared 0. However, DCF evaluation of the encrypted input value requires customized processing because the FSS-based evaluation process requires the cloud server to process the same input. To solve this problem, in this embodiment, let the cloud server Expose a noisy version of the encrypted input and customize the generation of the DCF key used to evaluate the noisy input.
[0153] Now let's introduce how to safely calculate based on DCF First, set the DCF input domain to α=0, the output domain is β=1. Then, a third party can generate such a DCF key and distribute it to Afterwards, in order to safely calculate First, the noise at last, Evaluate the DCF key it holds on the noisy input. If s1 < s2, then the evaluation will output Otherwise it will output like Figure 5 As shown, Algorithm 2 summarizes How to calculate safely according to the above ideas
[0154] The first computing terminal and the second computing terminal calculate an arithmetic secret sharing share of a basis of an intersection of the first multiple label set and the second multiple label set using the following steps:
[0155] The first computing terminal and the second computing terminal determine a target label pair, and obtain a Boolean additive secret sharing share of a first judgment result corresponding to the target label pair, where the target label pair includes a first label and a second label, the first label is a label in the first multiple label set, and the second label is a label in the second multiple label set, and when the two labels in the label pair are equal, the first judgment result corresponding to the label pair is 1, otherwise it is 0;
[0156] The first computing terminal and the second computing terminal update the locally held Boolean additive secret sharing shares of the first tag and the second tag according to the Boolean additive secret sharing share of the first judgment result corresponding to the target tag pair;
[0157] The first computing terminal and the second computing terminal re-execute the step of determining the target tag pair until the Boolean additive secret sharing shares of the first judgment results corresponding to all tag pairs are obtained;
[0158] The first computing terminal and the second computing terminal obtain an arithmetic secret sharing share of a basis of an intersection of the first multiple label set and the second multiple label set based on the Boolean additive secret sharing share of the first judgment results corresponding to all label pairs.
[0159] The first computing terminal and the second computing terminal obtain a Boolean additive secret sharing share of a first judgment result corresponding to the target tag pair, including:
[0160] The first computing terminal and the second computing terminal calculate, in the secret sharing domain, a first AND operation result of the i-th bit excluding the extra bit in the binary vector of the first tag and the i-th bit excluding the extra bit in the second vector of the second tag, and calculate, in the secret sharing domain, an exclusive OR operation result of each of the first AND operation results to obtain a Boolean secret sharing share of the first judgment result;
[0161] The first computing terminal and the second computing terminal update locally held Boolean additive secret sharing shares of the first tag and the second tag according to the Boolean additive secret sharing share of the first judgment result corresponding to the target tag, including:
[0162] The first computing terminal and the second computing terminal update the locally held Boolean additive secret sharing share of the first tag to the Boolean additive secret sharing share of the AND operation result of the inverse value of the first judgment result and the binary vector of the first tag;
[0163] The first computing terminal and the second computing terminal update the locally held Boolean additive secret sharing share of the second tag to the Boolean additive secret sharing share of the AND operation result of the inverse value of the first judgment result and the binary vector of the second tag;
[0164] The first computing terminal and the second computing terminal obtain an arithmetic secret sharing share of a basis of an intersection of the first multiple label set and the second multiple label set based on the Boolean additive secret sharing share of the first judgment results corresponding to all label pairs, including:
[0165] The first computing terminal and the second computing terminal convert the Boolean additive secret sharing shares of all the first judgment results into arithmetic additive secret sharing shares, and sum the arithmetic additive secret sharing shares of all the first judgment results held locally to obtain the arithmetic additive secret sharing share of the basis of the intersection of the first label multiset and the second label multiset.
[0166] Given two encrypted label multisets containing fake labels and In this embodiment, the calculation is based on the following findings To calculate the basis of the intersection of two label multisets, we need to perform an equality test on any pair of labels in the two multisets. If the test results are equal (such a pair of equal labels is called a matching label), we delete the pair of labels from the two multisets. Finally, we aggregate all the equality test results to get the basis of the intersection of the two label multisets. Therefore, in order to securely calculate the basis of the intersection of two multisets in the secret sharing domain, we need to consider how to make the cloud server ) safely in and How can I perform an efficient equality test on the tags in ? 2) How can I remove matching tags without knowing the result of the equality test?
[0167] First, we introduce how to use any two encrypted tags and Safely and efficiently perform equality tests on If l a =l b ,but otherwise Looking back at the previous encryption stage, the encrypted graph database The labels of each node and edge in are encoded into one-hot vectors and encrypted using Boolean ASS. Therefore, in order to calculate Let the cloud server Will and Perform bitwise "AND" operations, and then "XOR" all the results of the AND operations. In addition, in order to make the cloud server Inadvertently eliminate the impact of false labels, Ignore the extra bit of each encryption tag, i.e. l {a,b} [X]. Specifically, Perform the following calculations:
[0168]
[0169] Where μ = 1 means l a and l b is the true label and is equal. Correctness analysis: Since the one-hot vector l a and l b Each of them has only one digit which is 1, so if and only if l a and l b The position of 1 in the same, that is, l a =l b When μ is equal to 1. In addition, since only the original bit l {a,b} [x], x∈[X-1] are considered, so equality testing on two identical false labels will output 0.
[0170] Next, we will introduce how to Safely remove equal labels l a and l b , that is, their μ = 1, thus preventing these already matched tags from continuing to match other tags.
[0171] The method provided in this embodiment allows Safely and as well as Perform an "AND" operation, and then add the new as well as Set to the result of an "AND" operation. Formally, Perform the following operations:
[0172]
[0173] In this way, if l a and l b are two identical true labels, they will be Inadvertently set to an encrypted 0 vector, otherwise it will remain unchanged. In addition, since performing a secure equality test (i.e., Formula 3) on a 0 vector (i.e., a deleted tag) and any vector (i.e., any non-deleted tag) will output 0, deleting the matching tags by the method provided in this embodiment can prevent the deleted tags from continuing to match the remaining tags, thereby not reducing the accuracy of the system. Finally, Safely convert via existing technology for Finally, all local Sum up to get the encrypted label multiset and The basis of the intersection of like Figure 6 As shown, Algorithm 3 summarizes How to calculate based on the above ideas
[0174] Based on the above design, Can be safely calculated Query Graph Encrypted labeled multisets and database graphs The difference between the encrypted label multisets of . After that, can be safely compared using the DCF protocol described above To decide whether Is a candidate graph. In practical applications, it can be encapsulated Figure 5 Algorithm 2 and Figure 6 Algorithm 3 in is the function secDiff, which is used to safely calculate formula (2), that is, In addition, secLd can be used to represent the security calculation function of formula (1), namely:
[0175]
[0176] like Figure 7 As shown, Algorithm 4 gives a complete construction of secure candidate graph screening, which is a combination of the previous protocols.
[0177] After obtaining the encrypted candidate graph set after, Need to safely inspect the query graph and Each candidate graph in Whether it is within the GED threshold τ, specifically, the method provided in this embodiment further includes the steps of:
[0178] S400. The first computing terminal and the second computing terminal calculate the editing cost of the mapping of each graph pair based on the search tree in the secret sharing domain, each graph pair includes the query graph and a candidate graph, and when the editing cost of the full mapping of the target graph pair is less than or equal to the preset threshold, the candidate graph in the target graph pair is used as a similar graph of the query graph.
[0179] First, we introduce how GED is calculated in the plaintext domain, and then give the protocol for GED calculation in the ciphertext domain.
[0180] GED calculation of plaintext domain: given a query graph q and a candidate graph g c , first add some blank nodes to it so that q and g c There are the same number of nodes. Then, in order to calculate q and g c GED between, first define a search tree: that is, the node {v i } and Figure g c The node {u j Any mapping of Figure 8 Shows that when q and g c The search tree has only 4 nodes. If the size of the map |m|=|q|=|g c |, then the mapping m is called a full mapping, otherwise it is called a partial mapping. The nodes in the mapping m are called mapping nodes, for example Figure 3 The nodes v1, v2, u1, u2 in , and the remaining nodes are called unmapped nodes. The unmapped nodes and the edges between the unmapped nodes constitute the unmapped subgraph, denoted as q| m and g c | m ,For example Figure 8 v3-v4 in . The edge connecting the mapped subgraph and the unmapped subgraph is called a bridge, for example Figure 8 The edge between v1 and v3.
[0181] The search tree-based GED computation is a process of searching for a full map m with minimum edit cost, where the edit cost is defined as follows:
[0182]
[0183] Where u, v are a pair of mapping nodes in m m′ represents the removal of the mapping from m The remaining set of mappings. If x=y, then d[x, y]=0, otherwise d[x, y]=1. In addition, in order to avoid redundant calculation of mappings with shared prefixes, the search tree can be pruned based on the lower bound of the edit cost of the partial mapping m (denoted as Lm(m)). That is, instead of directly calculating the edit cost of the full mapping, the search tree is dynamically constructed based on the lower bound of the edit cost of the partial mapping until a full mapping is found whose edit cost ec(m)≤τ. Specifically, if Lm(m)>τ, the subtree of the subsequent extended mapping of m will be deleted. For example: if Figure 8 Partial mapping in The lower bound of the editing cost is Lm(m)>τ, then Figure 8 The edit cost of the mapping corresponding to the subtree under the partial mapping m1 will be greater than τ, so it will be deleted to avoid unnecessary calculations. That is, the first computing terminal and the second computing terminal calculate the edit cost of the mapping of each graph pair based on the search tree in the secret sharing domain, including:
[0184] For a target mapping corresponding to the target graph, the first computing terminal and the second computing terminal calculate a lower bound of an editing cost of the target mapping in a secret sharing domain;
[0185] When the lower bound of the editing cost of the target mapping is greater than the preset threshold, the first computing terminal and the second computing terminal delete the subsequent extended mapping of the target mapping.
[0186] The lower bound Lm(m) of the editing cost of a partial mapping m is calculated as:
[0187] Lm(m)=ec(m)+Ld(q| m , g c | m )+B(m) (5)
[0188] where ec(m) and Ld(q| m , g c | m ) can be calculated using formula (4) and formula (1) respectively, and B(m) is the bridging lower limit:
[0189]
[0190] in and Each of the labeled multisets represents a bridge on the mapped nodes v and u (because bridges are also edges, they also have labels). If m is a full mapping, then Lm(m) = ec(m), because the full mapping m includes all graph nodes, and there are no unmapped nodes or bridges between mapped nodes and unmapped nodes.
[0191] Given a query graph and a candidate graph First, we fill in fake nodes so that the number of nodes in the two nodes is equal. The extra bits of the fake node's ID id' and label t' are set to 1, and the other bits are set to 0 to distinguish them from real nodes. Then, the challenge of implementing GED calculation based on search tree in the ciphertext domain is to give a mapping m, how to make To safely calculate Equation (5), it is important to note that all mappings {m} are public information, since they are q and g c All possible mappings of nodes in. Since Ld(q| m , g c | m ) is q| m and g c | m The difference in the label multiset of is (i.e., formula (1)), so it can be calculated using the technique introduced in the previous article, i.e. Next, we will describe how to securely calculate the encrypted edit cost. and the encrypted bridge floor
[0192] Secure edit cost calculation: Since the calculation of edit cost (i.e., formula (4)) is a recursive process, the customized operations required are d[l(v), l(u)] and Next, we will introduce How to query the graph and candidate graphs Complete these two operations above.
[0193] Note that d[l(v), l(u)] checks whether the two mapping nodes The labels are equal, where v∈q, u∈g c Therefore, we can Execute the secure equality test protocol mentioned above to check whether the two tags are equal. Specifically, given two encrypted tags and where t v = l(v) and t u =l(u), Will and Perform bitwise "AND" operations, then "XOR" all the results of the AND operations, and finally flip the results of the XOR operations. Specifically, Perform the following calculations:
[0194]
[0195] Where δ=1 means l(v)≠l(u), then an edit operation is required. The correctness analysis is as follows: If at t v and t u There is only one position equal to 1, and if and only if the positions of 1 in the two vectors are the same, It is established, that is, at this time t v =t u In addition, the NOT operation So that δ=d[l(v), l(u)], that is, if l(v)=l(u), then δ=0, otherwise δ=1.
[0196] The second operation It is more challenging to implement in the ciphertext domain. The main challenge is An equality test needs to be performed on the labels of the edges between any two pairs of mapped nodes, i.e., edge label l(vv′)∈q and edge label l(uu′)∈g c , where the mapping relationship is and However, in order to protect the privacy of the graph, this embodiment provides that the edge labels between any two nodes in the graph and the existence of the edges need to be encrypted.
[0197] To address this challenge, the method provided in this embodiment firstly allows Securely obtain the encrypted labels of edges vv′ and uu′, and then perform equality tests on the obtained encrypted edges.
[0198] The first computing terminal and the second computing terminal calculate the editing cost of mapping of each graph pair based on the search tree in the secret sharing domain, including:
[0199] The first computing terminal and the second computing terminal perform the following operations to obtain a Boolean additive secret sharing share of an edge label connecting the first node and the second node:
[0200] The first computing terminal and the second computing terminal calculate the second AND operation results of the i-th bit except the extra bits in the binary vector of the node ID of the first node and the i-th bit except the extra bits in the binary vector of the node ID of each neighbor node of the second node in the secret sharing domain, and obtain the first XOR operation result of each second AND operation result, calculate the third AND operation result of the first XOR operation result and the binary vector of the edge label of the connecting edge of the second node and each neighbor node respectively, and perform an XOR operation on each of the third AND operation results to obtain the Boolean additive secret sharing share of the edge label of the connecting edge of the first node and the second node.
[0201] Specifically, given two encrypted nodes: First let V n of With v m Each neighbor node in Perform an "AND" operation, then "XOR" the results of each "AND" operation, and then compare the results of the "XOR" operation with Corresponding Perform "AND" operation, and finally "XOR" the results of each "AND" operation to get edge v m -v n The encrypted label of Right now Perform the following calculations:
[0202]
[0203] If the node v m , v n If there is no edge between
[0204] exist The encrypted labels of edges vv′ and uu′ are obtained securely through the above method (expressed as and ) After that, let's introduce how to make exist and The first computing terminal and the second computing terminal perform the following operations to obtain a Boolean additive secret sharing share of a second judgment result of the first edge tag and the second edge tag, wherein the second judgment result is 0 when the first edge tag and the second edge tag are equal, and 1 otherwise:
[0205] The first computing terminal and the second computing terminal calculate, in the secret sharing domain, a third AND operation result of the i-th bit excluding the extra bit in the binary vector of the first edge label and the i-th bit excluding the extra bit in the second vector of the second edge label, and calculate, in the secret sharing domain, an exclusive OR operation result of each of the third AND operation results to obtain a Boolean additive secret sharing share of the intermediate judgment result;
[0206] The first computing terminal and the second computing terminal calculate, in the secret sharing domain, an exclusive OR operation result of each bit except an extra bit in the binary vector of the first edge label, and negate the result to obtain a first negated result;
[0207] The first computing terminal and the second computing terminal calculate, in the secret sharing domain, an exclusive OR operation result of each bit except the extra bit in the binary vector of the second edge label, and negate the result to obtain a second negated result;
[0208] The first computing terminal and the second computing terminal calculate, in the secret sharing domain, an AND operation result of the first inverted result and the second inverted result and invert the result to obtain a third inverted result;
[0209] The first computing terminal and the second computing terminal calculate an AND operation result of the third inverted result and the intermediate judgment result in a secret sharing domain to obtain a Boolean additive secret sharing share of the first edge label and the second judgment result of the second edge label.
[0210] Specifically, similar to the previous example, Perform the following calculations:
[0211]
[0212] Where η = 0 means that the edges vv′ and uu′ are both real and equal, while η = 1 means that these edges are not real or are not equal. That is, η = d[l(vv′), l(uu′)], where l(vv′) = e v-v′ and l(uu′)=e u-u′ However, there is one case that needs special handling: if e v-v′ =0 and e u-u′ = 0, that is, both edges vv′ and uu′ are false, then η should be equal to 0 instead of 1, because two false edges mean that there is no edge between these nodes, so no editing operation is required. To solve this problem, let Additionally perform the following operations:
[0213]
[0214]
[0215] Where θ=1 means e v-v′ =0 and e u-u′ = 0, i.e. both edges vv′ and uu′ are false, thus resetting η to 0. Conversely, if θ = 0, then η remains unchanged.
[0216] at last, Safely convert the value calculated by formula (7) and calculated by formula (10) For the arithmetic domain and Aggregate them to get the encrypted edit cost like Figure 9 As shown, Algorithm 5 describes the calculation process of the above secure editing overhead, and the algorithm is named secEc.
[0217] Next, we introduce a given mapping m. How to securely compute a cryptographic bridge lower bound (The plaintext calculation method is formula (6)). Given a pair of encrypted mapping nodes in m To calculate The first step is to let Securely obtain and That is, the encrypted label multiset of the bridge on node v and the encrypted label multiset of the bridge on node u. The first computing terminal and the second computing terminal perform the following operations to obtain the Boolean additive secret sharing share of the label multiset of the bridge on the target mapping node:
[0218] The first computing terminal and the second computing terminal obtain a Boolean additive secret sharing share of a third judgment result of whether each connection edge corresponding to the target mapping node is a bridging edge;
[0219] The first computing terminal and the second computing terminal calculate, in the secret sharing domain, an XOR operation result of an AND operation of the third judgment result corresponding to each connection edge of the target mapping node and the binary vector of the edge label of the connection edge, and an XOR operation result of an AND operation result of the negated value of the third judgment result corresponding to the target mapping node and the binary vector of the false edge, to obtain a Boolean additive secret sharing share of the label multiset of the bridge on the target mapping node;
[0220] The first computing terminal and the second computing terminal perform the following operations to obtain a Boolean additive secret sharing share of a third judgment result of whether the target connection edge corresponding to the target mapping node is a bridge edge:
[0221] The first computing terminal and the second computing terminal perform an AND operation on the i-th bit except the extra bit in the binary vector of the target neighbor node and the i-th bit of the binary vector of the node ID of each unmapped node in the secret sharing domain to obtain multiple fourth AND operation results, and perform an XOR operation on all the fourth AND operation results to obtain the Boolean additive secret sharing share of the third judgment result.
[0222] First let Inadvertently setting edges that are not bridges to false edges. Specifically, given a node or An edge in the encrypted posting list First, With the encrypted ID of each unmapped node (denoted as where H is the number of unmapped nodes) and then XOR the results of all AND operations. Formally, Perform the following operations:
[0223]
[0224] If ρ=1, it means that the edge (nid i,j , e i,j ) is a bridging edge. Then, if Inadvertently set is a false edge e′, and if Keep Unchanged. Specifically, Perform the following operations:
[0225]
[0226] Securely obtain the encrypted bridge label multiset and after, It can be safely calculated using the algorithm introduced above Right now like Figure 10 As shown, the above process is summarized in Algorithm 6, and the algorithm is named secBm.
[0227] Through the above modules, it is possible to securely select the candidate graphs from the encrypted set Safely query the graph Generate encrypted query results. The calculation process is summarized as follows Figure 11 As shown in Algorithm 7. It should be noted that, given each encrypted candidate graph The GED calculation based on the search tree is to find a full mapping with an edit cost ec(m) ≤ τ, rather than calculating the exact GED. Therefore, in Algorithm 7, when a full mapping with an edit cost ec(m) ≤ τ is found, it means that the candidate graph is a result graph. The calculation of the candidate graph is completed and the candidate graph is added to the query result set.
[0228] In summary, this embodiment provides a privacy-preserving graph similarity retrieval method and proposes a secure and efficient graph database encryption protocol. The protocol uses lightweight cryptographic technology to encrypt the graph database, which can provide strong privacy protection for the graph database. In this method, the first privacy-preserving graph similarity search protocol for graph databases in a cloud environment is designed. The protocol allows the cloud server to effectively perform graph similarity search on the encrypted graph database and output correct search results without obtaining various privacy information about the graph database and the query graph. The method also designs a privacy-preserving graph similarity search candidate graph screening protocol, which allows the cloud server to securely evaluate the lower bound of the editing cost between the encrypted query graph and any encrypted graph in the database, thereby screening the graphs in the encrypted graph database without accurately calculating the editing cost. The method also designs a privacy-preserving graph editing cost calculation protocol, which allows the cloud server to securely calculate the editing cost between two encrypted graphs, thereby securely evaluating their similarity to complete the graph similarity search.
[0229] It should be understood that, although the steps in the flowcharts provided in the accompanying drawings of the present invention are shown in sequence as indicated by the arrows, these steps are not necessarily performed in the order indicated by the arrows. Unless otherwise specified herein, there is no strict order restriction on the execution of these steps, and these steps may be performed in other orders. Moreover, at least a portion of the steps in the flowcharts may include multiple sub-steps or multiple stages, and these sub-steps or stages are not necessarily performed at the same time, but may be performed at different times. The execution order of these sub-steps or stages is not necessarily sequential, but may be performed in rotation or alternation with other steps or at least a portion of sub-steps or stages of other steps.
[0230] Those skilled in the art will understand that all or part of the processes in the above-mentioned embodiment methods can be implemented by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, storage, database or other media used in the embodiments provided by the present invention may include non-volatile and / or volatile memory. Non-volatile memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM) or flash memory. Volatile memory may include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in many forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), Synchronous Link DRAM (SLDRAM), Rambus direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), etc.
[0231] Example 2
[0232] Based on the above embodiments, the present invention also provides a privacy-preserving graph similarity retrieval system, which includes a graph database holding terminal, a query terminal, a first computing terminal, and a second computing terminal; the graph database holding terminal, the query terminal, the first computing terminal, and the second computing terminal collaborate to complete the privacy-preserving graph similarity retrieval method described in Example 1.
[0233] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the various embodiments of the present invention.< / w> < / v> < / z> < / w> < / v> < / z> < / v> < / y> < / f> < / x> < / e> < / x> < / z> < / y> < / x> < / z>
Claims
1. A privacy-preserving graph similarity retrieval method, characterized by: The method comprises: The graph database holding terminal encrypts each graph in the graph database, obtains two Boolean additive secret sharing shares corresponding to each to-be-matched graph in the graph database, and sends them to the first computing terminal and the second computing terminal respectively, wherein the Boolean additive secret sharing shares corresponding to the to-be-matched graphs include the Boolean additive secret sharing shares of the posting lists corresponding to each node of the to-be-matched graphs; The query terminal encrypts the query graph to obtain two Boolean additive secret sharing shares corresponding to the query graph, and sends them to the first computing terminal and the second computing terminal respectively. The Boolean additive secret sharing shares corresponding to the query graph include the Boolean additive secret sharing shares of the posting lists corresponding to each node of the query graph. The first computing terminal and the second computing terminal calculate, in a secret sharing domain, an arithmetic additive secret sharing share of a difference in label multisets between the query graph and each of the graphs to be matched based on the received Boolean additive secret sharing share, and determine a candidate graph based on the arithmetic additive secret sharing share of a difference in label multisets between the query graph and each of the graphs to be matched and a preset threshold; The first computing terminal and the second computing terminal calculate, in a secret sharing domain, an edit cost of mappings of respective graph pairs based on a search tree, where each graph pair includes the query graph and a candidate graph, and when the edit cost of the full mapping of the target graph pair is less than or equal to the preset threshold, use the candidate graph in the target graph pair as a similar graph to the query graph; Among them, the Boolean additive secret sharing share of the inverted list corresponding to the node in the figure includes the node ID, node label, node IDs of real neighbor nodes and false neighbor nodes, and the Boolean additive secret sharing share of the binary vector of the edge labels of the connecting edges with each neighbor node. The binary vector corresponding to each value includes the one-hot vector corresponding to the value and an extra bit. The extra bit corresponding to the real value is 0, the false value is 0, and the extra bit corresponding to the false value is 1.
2. The privacy-preserving graph similarity retrieval method according to claim 1, characterized in that: The graph database holding terminal encrypts each graph in the graph database to obtain two Boolean additive secret sharing shares corresponding to each to-be-matched graph in the graph database, including: The graph database holding terminal selects k graphs to be matched with the same number of nodes from the graph database as selected graphs, and removes the selected graphs from the graph database; sorting the nodes in each selection graph based on the degree of the nodes; Adding false neighbor nodes to the inverted list of the selection graph after node sorting, so that nodes in the same rank in each selection graph have the same degree; Encrypting the inverted list of the selection graph to obtain Boolean additive secret sharing shares corresponding to each of the selection graphs; The terminal holding the graph database re-executes the step of selecting k graphs to be matched with the same number of nodes as selected graphs from the graph database until the graph database is empty; The query terminal encrypts the query graph to obtain two Boolean additive secret sharing shares corresponding to the query graph, including: The query terminal adds false neighbor nodes to the inverted list of the query graph so that each node of the query graph has the same degree.
3. The privacy-preserving graph similarity retrieval method according to claim 1, characterized in that: The plaintext calculation method for the difference in label multisets between the query graph and the graph to be matched is: Ld(q,g s )=Γ(L v (q),L v (g s ))+Γ(L e (q),L e (g s )); Among them, Ld(q,g s ) represents the query graph q and the to-be-matched graph g s The difference between the label multisets, Γ(*,*)=max(||*||,||*||)-||*∩*||, ||*|| represents the basis of the label multiset, L v (·) and L e (·) denote the node label multiset and edge label multiset of the input graph ·, respectively. The node label multiset of a graph includes the labels of each node in the graph, and the edge label multiset of a graph includes the labels of each connecting edge in the graph; The first computing terminal and the second computing terminal calculate, in a secret sharing domain, an arithmetic additive secret sharing share of differences in label multisets between the query graph and each of the to-be-matched graphs based on the received Boolean additive secret sharing share, including: The first computing terminal and the second computing terminal respectively calculate the arithmetic secret sharing shares of the maximum basis of the first multi-label set and the second multi-label set by using the following steps: The first computing terminal and the second computing terminal convert locally held Boolean additive secret sharing shares of respective extra bits of the first multi-tag set and the second multi-tag set into arithmetic secret sharing shares; The first computing terminal and the second computing terminal respectively perform the following operations locally: respectively summing up the arithmetic secret sharing shares of the extra bits in the locally held first multi-tag set and the locally held second multi-tag set to obtain a first summation result and a second summation result; Subtracting the first summation result from the number of tags in the first multiple tag set to obtain an arithmetic secret sharing share of a basis of the first multiple tag set, and subtracting the second summation result from the number of tags in the second multiple tag set to obtain an arithmetic secret sharing share of a basis of the second multiple tag set; The first computing terminal and the second computing terminal calculate the arithmetic secret sharing share of the maximum basis of the first multiple tag set and the second multiple tag set based on the arithmetic secret sharing share of the basis of the first multiple tag set and the second multiple tag set.
4. The privacy-preserving graph similarity retrieval method according to claim 3, characterized in that: The first computing terminal and the second computing terminal calculate, in a secret sharing domain, an arithmetic additive secret sharing share of differences in label multisets between the query graph and each of the to-be-matched graphs based on the received Boolean additive secret sharing share, including: The first computing terminal and the second computing terminal calculate an arithmetic secret sharing share of a basis of an intersection of the first multiple label set and the second multiple label set using the following steps: The first computing terminal and the second computing terminal determine a target label pair, and obtain a Boolean additive secret sharing share of a first judgment result corresponding to the target label pair, where the target label pair includes a first label and a second label, the first label is a label in the first multiple label set, and the second label is a label in the second multiple label set, and when the two labels in the label pair are equal, the first judgment result corresponding to the label pair is 1, otherwise it is 0; The first computing terminal and the second computing terminal update the locally held Boolean additive secret sharing shares of the first tag and the second tag according to the Boolean additive secret sharing share of the first judgment result corresponding to the target tag pair; The first computing terminal and the second computing terminal re-execute the step of determining the target tag pair until the Boolean additive secret sharing shares of the first judgment results corresponding to all tag pairs are obtained; The first computing terminal and the second computing terminal obtain an arithmetic secret sharing share of a basis of an intersection of the first multiple label set and the second multiple label set based on the Boolean additive secret sharing share of the first judgment results corresponding to all label pairs.
5. The privacy-preserving graph similarity retrieval method according to claim 4, characterized in that: The first computing terminal and the second computing terminal obtain a Boolean additive secret sharing share of a first judgment result corresponding to the target tag pair, including: The first computing terminal and the second computing terminal calculate, in the secret sharing domain, a first AND operation result of the i-th bit excluding the extra bit in the binary vector of the first tag and the i-th bit excluding the extra bit in the binary vector of the second tag, and calculate, in the secret sharing domain, an exclusive OR operation result of each of the first AND operation results to obtain a Boolean secret sharing share of the first judgment result; The first computing terminal and the second computing terminal update locally held Boolean additive secret sharing shares of the first tag and the second tag according to the Boolean additive secret sharing share of the first judgment result corresponding to the target tag, including: The first computing terminal and the second computing terminal update the locally held Boolean additive secret sharing share of the first tag to the Boolean additive secret sharing share of the AND operation result of the inverse value of the first judgment result and the binary vector of the first tag; The first computing terminal and the second computing terminal update the locally held Boolean additive secret sharing share of the second tag to the Boolean additive secret sharing share of the AND operation result of the inverse value of the first judgment result and the binary vector of the second tag; The first computing terminal and the second computing terminal obtain an arithmetic secret sharing share of a basis of an intersection of the first multiple label set and the second multiple label set based on the Boolean additive secret sharing share of the first judgment results corresponding to all label pairs, including: The first computing terminal and the second computing terminal convert the Boolean additive secret sharing shares of all the first judgment results into arithmetic additive secret sharing shares, and sum the arithmetic additive secret sharing shares of all the first judgment results held locally to obtain the arithmetic additive secret sharing share of the basis of the intersection of the first label multiset and the second label multiset.
6. The privacy-preserving graph similarity retrieval method according to claim 1, characterized in that: The first computing terminal and the second computing terminal calculate the editing cost of mapping of each graph pair based on the search tree in the secret sharing domain, including: For a target mapping corresponding to the target graph, the first computing terminal and the second computing terminal calculate a lower bound of an editing cost of the target mapping in a secret sharing domain; When the lower bound of the editing cost of the target mapping is greater than the preset threshold, the first computing terminal and the second computing terminal delete the subsequent extended mapping of the target mapping.
7. The privacy-preserving graph similarity retrieval method according to claim 6, characterized in that: The plaintext formula for calculating the editing overhead of a graph pair is: Where ec(m) represents the edit cost of mapping m, u,v is a pair of mapping nodes in m m′ represents the removal of the mapping node pair from m The remaining set of mapping node pairs, u′, v′ is a pair of mapping nodes in m′ If x = y, then d[x, y] = 0, otherwise d[x, y] = 1, l(v) represents the node label of node v, l(u) represents the node label of node u, l(vv′) represents the edge label of the edge connecting node v and node v′, and l(uu′) represents the edge label of the edge connecting node u and node u′; The first computing terminal and the second computing terminal calculate the editing cost of mapping of each graph pair based on the search tree in the secret sharing domain, including: The first computing terminal and the second computing terminal perform the following operations to obtain a Boolean additive secret sharing share of an edge label connecting the first node and the second node: The first computing terminal and the second computing terminal calculate the second AND operation results of the i-th bit except the extra bits in the binary vector of the node ID of the first node and the i-th bit except the extra bits in the binary vector of the node ID of each neighbor node of the second node in the secret sharing domain, and obtain the first XOR operation result of each second AND operation result, calculate the third AND operation result of the first XOR operation result and the binary vector of the edge label of the connecting edge of the second node and each neighbor node respectively, and perform an XOR operation on each of the third AND operation results to obtain the Boolean additive secret sharing share of the edge label of the connecting edge of the first node and the second node.
8. The privacy-preserving graph similarity retrieval method according to claim 7, characterized in that: The first computing terminal and the second computing terminal calculate the editing cost of mapping of each graph pair based on the search tree in the secret sharing domain, including: The first computing terminal and the second computing terminal perform the following operation to obtain a Boolean additive secret sharing share of a second judgment result of the first edge label and the second edge label, wherein the second judgment result is 0 when the first edge label and the second edge label are equal, and is 1 otherwise: The first computing terminal and the second computing terminal calculate, in the secret sharing domain, a third AND operation result of the i-th bit excluding the extra bit in the binary vector of the first edge label and the i-th bit excluding the extra bit in the binary vector of the second edge label, and calculate, in the secret sharing domain, an exclusive OR operation result of each of the third AND operation results to obtain a Boolean additive secret sharing share of the intermediate judgment result; The first computing terminal and the second computing terminal calculate, in the secret sharing domain, an exclusive OR operation result of each bit except an extra bit in the binary vector of the first edge label, and negate the result to obtain a first negated result; The first computing terminal and the second computing terminal calculate, in the secret sharing domain, an exclusive OR operation result of each bit except the extra bit in the binary vector of the second edge label, and negate the result to obtain a second negated result; The first computing terminal and the second computing terminal calculate, in the secret sharing domain, an AND operation result of the first inverted result and the second inverted result and invert the result to obtain a third inverted result; The first computing terminal and the second computing terminal calculate an AND operation result of the third inverted result and the intermediate judgment result in a secret sharing domain to obtain a Boolean additive secret sharing share of the first edge label and the second judgment result of the second edge label.
9. The privacy-preserving graph similarity retrieval method according to claim 7, characterized in that: The plaintext formula for calculating the lower bound of the edit cost of the target mapping is: Lm(m)=ec(m)+Ld(q| m ,g c | m )+B(m); Where Lm(m) represents graph q and graph g c The lower bound of the editing cost of the mapping m between ,q| m and g c | m Represent graph q and graph g respectively c The unmapped subgraph consists of the unmapped nodes that are not in the mapping m and the edges between the unmapped nodes. B(m) is the bridging lower bound. and Each represents a label multiset of the bridge on the mapping node v and u, Γ(*,*)=max(||*||,||*||)-||*∩*||, ||*|| represents the basis of the label multiset; The first computing terminal and the second computing terminal perform the following operations to obtain a Boolean additive secret sharing share of a bridged label multiset on a target mapping node: The first computing terminal and the second computing terminal obtain a Boolean additive secret sharing share of a third judgment result of whether each connection edge corresponding to the target mapping node is a bridging edge; The first computing terminal and the second computing terminal calculate, in the secret sharing domain, an XOR operation result of an AND operation of the third judgment result corresponding to each connection edge of the target mapping node and the binary vector of the edge label of the connection edge, and an XOR operation result of an AND operation result of the negated value of the third judgment result corresponding to the target mapping node and the binary vector of the false edge, to obtain a Boolean additive secret sharing share of the label multiset of the bridge on the target mapping node; The first computing terminal and the second computing terminal perform the following operations to obtain a Boolean additive secret sharing share of a third judgment result of whether the target connection edge corresponding to the target mapping node is a bridge edge: The first computing terminal and the second computing terminal perform an AND operation on the i-th bit except the extra bit in the binary vector of the target neighbor node and the i-th bit of the binary vector of the node ID of each unmapped node in the secret sharing domain to obtain multiple fourth AND operation results, and perform an XOR operation on all the fourth AND operation results to obtain the Boolean additive secret sharing share of the third judgment result.
10. A privacy-preserving graph similarity retrieval system, characterized by: The system includes a graph database holding terminal, a query terminal, a first computing terminal, and a second computing terminal; the graph database holding terminal, the query terminal, the first computing terminal, and the second computing terminal collaborate to complete the privacy-preserving graph similarity retrieval method as described in any one of claims 1 to 9.
Citation Information
Patent Citations
Privacy protection subgraph matching method and system
CN114969406A
Systems and methods for privacy-assured similarity joins over encrypted datasets
US20180157703A1