Next Article in Journal
Early Postoperative Gait Analysis in Elderly Patients Following Hip Fracture Surgery
Next Article in Special Issue
Novel 3D UAV Path Planning for IoT Services Based on Interactive Cylindrical Vector Teaching–Learning Optimization Algorithm
Previous Article in Journal
A Perspective Distortion Correction Method for Planar Imaging Based on Homography Mapping
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Privacy-Preserving Multi-User Graph Intersection Scheme for Wireless Communications in Cloud-Assisted Internet of Things

School of Computer Science and Engineering, South China University of Technology, Guangzhou 510006, China
Sensors 2025, 25(6), 1892; https://doi.org/10.3390/s25061892
Submission received: 1 March 2025 / Revised: 15 March 2025 / Accepted: 17 March 2025 / Published: 18 March 2025

Abstract

:
Cloud-assisted Internet of Things (IoT) has become the core infrastructure of smart society since it solves the computational power, storage, and collaboration bottlenecks of traditional IoT through resource decoupling and capability complementarity. The development of a graph database and cloud-assisted IoT promotes the research of privacy preserving graph computation. We propose a secure graph intersection scheme that supports multi-user intersection queries in cloud-assisted IoT in this article. The existing work on graph encryption for intersection queries is designed for a single user, which will bring high computational and communication costs for data owners, or cause the risk of secret key leaking if directly applied to multi-user scenarios. To solve these problems, we employ the proxy re-encryption (PRE) that transforms the encrypted graph data with a re-encryption key to enable the graph intersection results to be decrypted by an authorized IoT user using their own private key, while data owners only encrypt their graph data on IoT devices once. In our scheme, different IoT users can query for the intersection of graphs flexibly, while data owners do not need to perform encryption operations every time an IoT user makes a query. Theoretical analysis and simulation results demonstrate that the graph intersection scheme in this paper is secure and practical.

1. Introduction

Internet of Things (IoT) has promoted the integration of the physical and digital worlds, greatly facilitating our life. However, the exponential growth of IoT devices brings great challenge for localized data processing, which promotes the emergence of cloud-assisted IoT. Cloud-assisted IoT can manage decentralized IoT devices through the cloud platform, providing computational and storage services for resource-limited IoT devices.
Graphs can describe not only diverse types of data but also connections among them. They have significant application value and are applied widely in a range of IoT scenarios such as smart home, smart logistics, smart wearables and so on. Since a large amount of graph data are produced or stored on IoT devices, graph computation tasks such as subgraph matching, shortest path computation, and graph intersection have become important in IoT applications.
The accelerating growth of cloud-assisted IoT promotes data owners with IoT devices to outsource the storage and computational task to the cloud server. However, it causes privacy leakage risk: the original graph data of IoT devices usually contain sensitive information (such as social relationships and medical data), so directly uploading them to the cloud may cause the data to be stolen or misused. To solve this problem, privacy-preserving graph computation in cloud-assisted IoT was born. As one of the most important technologies, graph encryption makes use of cryptography methods to protect the data and relationships of graphs. Much research has been conducted for graph encryption that supports various kinds of graph operations, including shortest distance computation [1,2,3,4,5,6], minimum community search [7], subgraph counting [8], subgraph matching [9,10,11,12,13,14], and so on.
Graph intersection is an operation that searches for common sub structures among graphs of different IoT devices through comparing their vertices and edges. It plays an important role in social network mutual friend recommendation, collaborative data analysis across institutions, etc. Unfortunately, little research aims at the privacy-preserving graph intersection [15,16,17], for which the scheme in [16] computes the graph intersection of two parties, the scheme in [17] enables multiple parties to collaboratively calculate the graph intersection directly among the participants, and the scheme in [15] proposes an outsourced graph intersection scheme of multiple data owners for a single user. Other relevant works study privacy-preserving subgraph matching [9,10,11,12,13,14] and outsourced private set intersection [18,19,20,21,22,23,24]. Some of these prior works only consider a single user; data owners encrypt their graphs using public encryption or symmetric encryption while the query user is directly issued the corresponding secret keys so they can perform decryption to obtain the query results. Other works support multiple users by applying access control over them, where users obtain the decryption key through the access control mechanism.
However, there are some problems in the schemes that IoT users directly obtain the decryption key: first of all, if the IoT user permission changes, data owners have to re-encrypt their graph with new keys, causing large computational and communication costs. Secondly, since a trusted authority or the data owner needs to manage key distribution, graph data can be decrypted once the decryption key leaked.

1.1. Contributions

To enable multiple users to flexibly query graph intersection in a privacy-preserving manner, we present a multi-user graph encryption for intersection queries in the cloud-assisted IoT environment. As is described in Figure 1, the system model consists of four types of entities: a trusted authority (TA), the cloud server, data owners, and data users. The contributions of this paper are summarized as follows.
  • We present a construction of privacy-preserving graph intersection computation. In our scheme, a TA initializes the system, and it generates public parameters for the system and re-encryption keys for the cloud server. Each data owner encrypts their graph before uploading it to the cloud server. Every time a data user sends a graph intersection query, the cloud server re-encrypts these encrypted graphs with a re-encryption key from the TA to the data user. After calculating the intersection of all these encrypted graphs, it sends the graph intersection to the query user. Following this procedure, our scheme can support data users to query for the graph intersection of data owners securely and flexibly.
  • Our scheme supports multi-user scenarios. It allows multiple users to query for the graph intersection, while data owners only need encrypt their data once. On the one hand, it achieves flexible data sharing; on the other hand, it decreases the processing burden placed on data owners.
  • In our scheme, the cloud server transforms the ciphertexts intended for TA to ciphertexts that can be decrypted by the query user by using proxy re-encryption, enabling data users to decrypt the result with their own keys, without exposing sensitive data. It reduces the complexity of key management.
  • We present the theoretical analysis from aspects of security and performance. The results from our experiments confirm that the scheme is practical and efficient.

1.2. Paper Organization

The related works are summarized in Section 2. We introduce the preliminaries in Section 3. Problem formalization including the system model, threat model, and security goals is presented in Section 4. We give the concrete construction of our scheme in Section 5. The correctness and security analysis are presented in Section 6. In Section 7, we show the performance analysis and experimental evaluation. In the end, we conclude our work in Section 8.

2. Related Work

We summarize the related works including graph encryption and outsourced private set intersection. Our scheme represents a specialized form of graph encryption to compute graph intersection, It is an extension of private set intersection, which computes the intersection of sets instead of graphs.

2.1. Graph Encryption

Chase and Kamara [25] proposed structured encryption schemes that support several kinds of private queries on encrypted data with complex structures. Among all the graph operations, the shortest distance query is the most fundamental one. Meng et al. [26] proposed GRECS composed of three schemes for different security and efficiency requirements; the schemes realize approximate shortest distance queries. Refs. [4,5,6] support exact shortest distance queries, and refs. [1,2,3] solve the problems in the constrained shortest distance query (CSD). Some other schemes [27,28,29,30] can provide users with the shortest path. Other privacy-preserving graph operations include graph search [31,32], minimum community search [7], graph similarity query [33], subgraph counting [8], and so on. The most related works to ours are subgraph matching [9,10,11,12,13,14] and graph intersection [15]. Cao et al. [14] introduced a system called PPGQ that utilizes the “filtering and verification” principle to filter according to a feature-based index and efficient inner product, where data users decrypt the candidate supergeaphs and verify each candidate. Fan et al. [12] transformed the classic Ullmann’s algorithm as a progression of matrix calculations, which is protected by a cyclic group-based encryption scheme. Zuo et al. [10] designed a privacy-preserving subgraph matching scheme that can protect the privacy of the user’s query subgraph and the original graph. It also achieved data integrity. Ge et al. [11] considered another type of subgraph matching that searches for all graphs exhibiting subgraph isomorphism with the query pattern from large amounts of small graphs, and where the query user is able to directly extract the subgraph. Wang et al. [9] designed OblivGM that supports attributed subgraph matching and can also hide search patterns. Based on OblivGM, they further proposed eGrass [13], which considers secure attributed subgraph matching even if the clouds are malicious. However, the techniques used in these schemes cannot support multiple users flexibly without key management; some of them are designed for a single user, while others enable data users to obtain the decryption key through access control.

2.2. Outsourced Private Set Intersection

In outsourced private set intersection (O-PSI), data owners outsource the PSI computation the cloud server. Kerschbaum [18] firstly presented an outsourced PSI scheme on the basis of Bloom filter and HE. Since then, various PSI schemes have been proposed. Ref. [19] extended the scale of PSI protocol to billion-element sets by using a high-efficiency data structure from the Sparsehash library. Abadi et al. [20] presented two delegated private set intersection schemes, of which O-PSI employs additive homomorphic encryption, and EO-PSI makes use of hash tables instead of public key encryption, which provides higher efficiency. Ali et al. [21] designed a protocol in which data owners can define access control policies such that only data owners who satisfy specific attributes can query for PSI results. Since the cloud server can be malicious, the schemes in [22,23,24,34] realized both privacy preservation and verifiability; their PSI computations were combined with the resultant verification mechanisms that enable clients to verify whether the results are correct. Sharma [35] designed a framework named PRISM which is based on secret sharing, where data owners upload their data to non-colluding clouds to perform secure set operations based on secret sharing. All these works support private set intersection among sets, but how to securely compute the intersection of graphs has yet to be studied.

3. Preliminaries

We summarize concepts and basic tools of our scheme: to realize secure graph intersection, we employ the proxy re-encryption (PRE) based on bilinear pairings.

3.1. Graph Intersection

Definition 1.
(Graph Intersection). Given t graphs G 1 = ( V 1 , E 1 ) , G 2 = ( V 2 , E 2 ) , , G t = ( V t , E t ) , the graph intersection is defined as G = G 1 G 2 . . . G t = ( V , E ) satisfying the following:
  • For each vertex v V , v V 1 and v V 2 .
  • For each vertex e E , e E 1 and e E 2 .
Figure 2 is an example: the intersection of graph G 1 and G 2 is G.

3.2. Bilinear Pairings

Bilinear pairings is a map presented as e : G × G G T , where G and G T are cyclic groups of prime order p, generator g = G . It satisfies the following properties:
  • Bilinearity. e ( u a , v b ) = e ( u , v ) a b , for all u , v G and a , b Z p .
  • Non-degeneracy. e ( g , g ) 1 .
  • Computability. e ( g , g ) can be computed efficiently.

3.3. Proxy Re-Encryption

Our graph encryption scheme is based on the proxy re-encryption (PRE) technique. We employ the PRE scheme in the following [36]:
  • P R E . S e t u p ( λ ) . Given a security parameter λ , T A constructs a bilinear map e : G × G G T where G and G T are groups of prime order p, and generator g G , return the public parameters P = { G , G T , e , p , g } .
  • P R E . K e y G e n ( λ ) . An entity chooses a random s k $ Z p as the private key; their public key is p k g s k .
  • P R E . R e K e y G e n ( s k a , p k b ) . The re-encryption key R a b can be generated with delegator a’s private key s k a and delegatee b’s public key as R a b = p k b 1 s k a = g s k b s k a
  • P R E . E n c ( m , p k a , P ) . To encrypt a message m G T under p k a : sample r $ Z p , C 1 = p k a r = g s k a · r , C 2 = e ( g , g ) r · m . The ciphertext C = ( C 1 , C 2 ) .
  • P R E . R e E n c ( C , R a b ) . Given the re-encryption key R a b , ciphertext C = ( C 1 , C 2 ) can be re-encrypted as follows: sample r $ Z p , C 3 = R a b 1 r = p k b 1 s k a · r = g s k b s k a · r , C 4 = C 1 r = p k i r · r = g s k a · r · r . The re-encrypted ciphertext C = ( C 2 , C 3 , C 4 ) .
  • P R E . D e c ( C , s k b ) . Entity b can decrypt C = ( C 2 , C 3 , C 4 ) using their private key s k b : m = C 2 e ( C 3 , C 4 ) 1 s k b

4. Problem Formalization

4.1. System Model

There are four types of roles in the system—data owners, data users, cloud server, and a trusted authority, as shown in Figure 1:
  • Cloud Server. The cloud server possesses strong storage and computational capabilities: it receives and stores encrypted graph data uploaded by data owners, performs graph re-encryption and intersection operations, and finally it provides the results to the data user.
  • Data Owner D O i . Each data owner has a graph G i = ( V i , E i ) that participates in graph intersection computation. To ensure the confidentiality of the graph G i , they will encrypt G i before uploading it to the cloud server.
  • Data User. A data user may query for the intersection of graphs from D O 1 , D O 2 , , D O t . In order to save storage and computational costs, they outsource the computational task to the cloud server, and finally obtains the encrypted result from the cloud server and decrypts it.
  • Trusted Authority. As a trusted third party, the T A initializes the system with a security parameter λ , generates a set of public parameters P . It is also responsible for generating re-encryption keys that enable the cloud server to convert the ciphertexts for them to be decryptable by the data user.

4.2. Threat Model

We consider T A and data owners to be trustworthy, data owners will honestly model their graph data and encrypt them. The cloud server is considered semi-honest, implying that it executes our protocol honestly, but it may try to infer sensitive information during computation such as the original and intersection graph, through methods such as statistics and analysis.

4.3. Security Goals

  • Graph data confidentiality. Any information about original graphs except for information in leakage functions should not be obtainable by the cloud server or other adversaries; only the part in the intersection with graphs from other data owners can be learned by an authorized data user.
  • Query result confidentiality. The graph intersection results in a ciphertext form that can only be decrypted by an authorized data user with their own key. It remains confidential from the cloud server, data owners, other data users, and adversaries.

4.4. Security Definition

We adopt the adaptive chosen query attack (CQA2) security definition in the graph intersection scheme, which is defined as follows:
Definition 2.
(CQA2-Security). Let Π = ( S e t u p , K e y G e n , R e K e y G e n , G r a p h I n t e r s e c t i o n , D e c ) be our private graph intersection scheme, and let L 1 and L 2 be leakage functions. A denotes the adversary, and S denotes the simulator. Supposing λ is the security parameter, the experiments in the ideal world and real world are defined as follows:
  • Real A ( λ ) : A outputs graphs G 1 , G 2 , , G n . The experiment generates a pair of keys ( p k , s k ) by K e y G e n and generates the re-encryption key R T A D U by R e K e y G e n . Then, A makes queries for intersections of randomly chosen t graphs G 1 , G 2 , , G t , for each query, and the experiment computes computes C i E n c ( G i ) and sends the encrypted graphs C 1 , C 2 , , C t to A . It then compute the encrypted intersection graph C ˜ G r a p h I n t e r s e c t i o n ( P , R T A D U , C 1 , , C t ) and gives it to A . At the end of the experiment, A outputs a bit b 0 , 1 as the experiment result.
  • Ideal A , S ( λ ) : A outputs graphs G 1 , G 2 , , G n . Then, A makes queries for intersections of randomly chosen t graphs G 1 , G 2 , , G t . Based on leakage functions L 1 and L 2 , S produces encrypted graphs C 1 , C 2 , , C t and sends them to A , then S simulates and sends the query results C ˜ to A . At the end of the experiment, A outputs a bit b 0 , 1 as the experiment result.
We say the graph encryption scheme Π is ( L 1 , L 2 ) -secure against the adaptive chosen query attack if for any probability polynomial time (PPT) adversary A , there exists a PPT simulator S  that
P r Real A ( λ ) = 1 P r Ideal A , S ( λ ) = 1 n e g l ( λ )
where n e g l ( λ ) denotes a negligible function.

5. Construction of Our Scheme

We present our scheme for secure graph intersection computation, including the construction overview and concrete construction.

5.1. Construction Overview

Our scheme consists of the following six algorithms:
  • S e t u p ( λ ) P . The procedure s e t u p is executed by the T A , the trusted third party, taking a secure parameter λ as input and producing a set of public parameters P as output.
  • K e y G e n ( λ , P ) ( p k , s k ) . Upon input of a security parameter λ and public parameter P , we use this algorithm to generate a pair of public–private keys ( p k , s k ) .
  • R e K e y G e n ( P , s k , p k D U ) R T A D U . Given the public parameter P , T A ’s private key s k , and the public key p k D U of the data user D U , the algorithm outputs a re-encryption key R T A D U that allows ciphertexts encrypted by data owners to be transformed into ciphertexts intended for the data user D U .
  • E n c ( P , p k , G i ) C i . It is the graph encryption algorithm executed by data owner D O i ; taking the graph G i , public key of the T A , and P as inputs, it outputs the encrypted graph C i .
  • G r a p h I n t e r s e c t i o n ( P , R T A D U , C 1 , , C t ) C ˜ . This algorithm takes public parameter P , the re-encryption key R T A D U , and ciphertexts C 1 , C 2 , , C t uploaded by the data owner D O 1 , D O 2 , , D O t , and the cloud server performs re-encryption on C 1 , C 2 , , C t , resulting in new ciphertexts C ˜ 1 , , C ˜ t . The cloud server calculates the graph intersections and outputs the encrypted result C ˜ .
  • D e c ( P , C ˜ , s k D U ) G .Taking the inputs of private key s k D U and re-encrypted ciphertext C ˜ , this algorithm returns the subgraph G.

5.2. Concrete Construction

The details of our secure graph intersection scheme is described in this section. We summarize the notations in our construction in Table 1.

5.2.1. Setup

Given the security parameter λ , T A completes the setup phase and generates the following public parameters: a bilinear map e : G × G G T , where G and G T are groups of prime order p, and generator g G , a collision-resistant hash function H : 0 , 1 Z p . The public parameters P = { G , G T , p , g , H } .

5.2.2. KeyGen

T A chooses the private key s k randomly from Z p , and the public key is p k g s k . Similarly, data user D U i also generates their own public–private key pair ( p k D U , s k D U ) , where p k D U = g s k D U .

5.2.3. ReKeyGen

When user D U initiates a query request, T A generates the re-encryption key for D U : R T A D U = ( p k D U ) 1 s k .

5.2.4. Enc

Data owner D O i models their graph as G i = ( V i , E i ) , V i = v 1 i , v 2 i , v n i i is the vertex set, and each v j i represents the unique ID value of a vertex. E i is the adjacency matrix, which can be represented as
E i = e 11 i e 1 n i i e n i 1 i e n i n i i
where each element e k l i θ , 1 ( θ is a random number that θ 0 ), e k l i = 1 indicates that there is an edge connecting nodes v k i and v l i , while e k l i = θ indicates that there is no edge between the two nodes.
To ensure the confidentiality of the graph, D O i performs the following operations on G i = ( V i , E i ) as shown in Algorithm 1.
  • Vertices Hashing. D O i performs a hash computation on the vertices set to obtain the corresponding hashed set H i = { h 1 i , h 2 i , , h n i i } .
  • Graph Encryption. D O i encrypts G i = ( V i , E i ) using proxy re-encryption (PRE). To elaborate in detail, given V i = v 1 i , v 2 i , v n i i , adjacency matrix E i , p k . For each element v j i V i , choose r j i randomly from Z p , compute c j i = ( c 1 j i , c 2 j i ) , where c 1 j i = p k r j i , c 2 j i = e ( g , g ) r j i · v j i . For each element e k l i E i , choose r k l i randomly from Z p , and compute c k l i = ( c 1 k l i , c 2 k l i ) where c 1 k l i = p k r k l i , c 2 k l i = e ( g , g ) r k l i · e k l i . The encrypted graph is C i = ( C v i , C e i ) , where the encrypted vertices set C v i = { c 1 i , c 2 i , , c n i i } , and the encrypted adjacency matrix
    C e i = c 11 i c 1 n i i c n i 1 i c n i n i i
Algorithm 1 Enc.
Input: public parameter P , D O i ’s graph G i = ( V i , E i ) , T A ’s public key p k .
Output: encrypted graph C i .
1:
for each element v j i V i  do
2:
    h j i H ( v j i ) .
3:
    c j i P R E . E n c ( v j i , p k , P ) .
4:
end for
5:
H i { h 1 i , h 2 i , , h n i i } .
6:
C v i { c 1 i , c 2 i , , c n i i } .
7:
for each element e k l i E i  do
8:
    c k l i P R E . E n c ( e k l i , p k , P ) .
9:
end for
10:
Set
C e i = c 11 i c 1 n i i c n i 1 i c n i n i i
11:
return   H i , C i = ( C v i , C e i ) .

5.2.5. GraphIntersection

The GraphIntersection in Algorithm 2 works as follows:
Algorithm 2 GraphIntersection.
Input: public parameter P , the re-encryption key R T A D U , C i = ( C v i , C e i ) , H i , i = 1 , 2 , , t .
Output:  C ˜ .
1:
H I = { h 1 , h 2 , , h s } I n t e r s e c t i o n ( H 1 , H 2 , , H t ) .
2:
Obtain the encrypted vertices set C I = { c I ( j ) , j = 1 , , s } according to H I .
3:
for each element c I ( j ) C I  do
4:
    c ˜ I ( j ) P R E . R e E n c ( c I ( j ) , R T A D U ) .
5:
end for
6:
The re-encrypted node set C ˜ I { c ˜ I ( j ) , j = 1 , , s } .
7:
for each encrypted matrix C e i , i = 1 , 2 , , t  do
8:
   Choose the elements c I u ( i ) I v ( i ) i in the encrypted matrix C e i where u , v { 1 , 2 , . . , s } and constructs the submatrix S e i
9:
   for each element c I u ( i ) I v ( i ) i S e i  do
10:
      c ˜ I u ( i ) I v ( i ) i P R E . R e E n c ( c I u ( i ) I v ( i ) i , R T A D U ) .
11:
   end for
12:
   The re-encrypted matrix S ˜ e i
13:
end for
14:
Compute the element-wise product of re-encrypted matrices C ˜ e S ˜ e 1 S ˜ e t .
15:
return  C ˜ = ( C ˜ I , C ˜ e ) .
  • Vertices Re-encryption. Given the hash sets H 1 , H 2 , , H t , the cloud server computes their intersection. Denote the intersection by H I = H 1 H 2 H t = { h 1 , h 2 , , h s } and the intersection of graph nodes as V I = V 1 V 2 V t = v 1 , v 2 , , v s . The graph node corresponding to element h j actually has different ordinality in the original graphs. We denote the ordinality of the node of the original graph G i corresponding to h j by I i ( j ) : [ 1 . . s ] [ 1 . . n s ] . There are t encrypted node sets, and since the t encrypted node sets can be decrypted to the same node intersection set, we only need to choose a random one to re-encrypt it, which can be written as C I = { c I ( j ) , j = 1 , , s } . For each c I ( j ) C I , we re-encrypt it using proxy re-encryption (PRE). Specifically, for c I ( j ) = ( c 1 I ( j ) , c 2 I ( j ) ) = ( p k r I ( j ) , e ( g , g ) r I ( j ) · v I ( j ) ) , choose t I ( j ) randomly from Z p , and compute c 3 I ( j ) = R T A D U 1 t I ( j ) , c 4 I ( j ) = c 1 I ( j ) t I ( j ) , with the re-encrypted c ˜ I ( j ) = ( c 3 I ( j ) , c 4 I ( j ) , c 2 I ( j ) ) . The cloud server can precompute e ( c 3 I ( j ) , c 4 I ( j ) ) for every node for the decryption phase. Finally, the cloud server obtains the re-encrypted vertices sets C ˜ I { c ˜ I ( j ) , j = 1 , , s } .
  • Matrices Re-encryption. The cloud server continues to calculate the re-encrypted adjacency matrix. It chooses the elements c I u ( i ) I v ( i ) i in the encrypted matrix C e i where u , v { 1 , 2 , . . , s } and constructs the submatrix
    S e i = c I 1 ( i ) I 1 ( i ) i c I 1 ( i ) I s ( i ) i c I s ( i ) I 1 ( i ) i c I s ( i ) I s ( i ) i
    For each c I u ( i ) I v ( i ) i S e i , we re-encrypt it using proxy re-encryption (PRE). Specifically, for c I u ( i ) I v ( i ) i = ( c 1 I u ( i ) I v ( i ) , c 2 I u ( i ) I v ( i ) ) = ( p k r I u ( i ) I v ( i ) i , e ( g , g ) r I u ( i ) I v ( i ) i · e I u ( i ) I v ( i ) i ) , we choose t I u ( i ) I v ( i ) i randomly from Z p , and compute c 3 I u ( i ) I v ( i ) i = R T A D U 1 t I u ( i ) I v ( i ) i , c 4 I u ( i ) I v ( i ) i = c 1 I u ( i ) I v ( i ) t I u ( i ) I v ( i ) i , with the re-encrypted c ˜ I u ( i ) I v ( i ) i = ( c 3 I u ( i ) I v ( i ) i , c 4 I u ( i ) I v ( i ) i , c 2 I u ( i ) I v ( i ) i ) . The cloud server can also precompute e ( c 3 I u ( i ) I v ( i ) i , c 4 I u ( i ) I v ( i ) i ) for every element for the decryption phase. Finally, the cloud server obtains the re-encrypted matrix
    S ˜ e i = c 2 I 1 ( i ) I 1 ( i ) i c 2 I 1 ( i ) I s ( i ) i c 2 I s ( i ) I 1 ( i ) i c 2 I s ( i ) I s ( i ) i
  • Graph Intersection Computation. The cloud server then computes
    C ˜ e = S ˜ e 1 . . . S ˜ e t = i = 1 t c 2 I 1 ( i ) I 1 ( i ) i . . . i = 1 t c 2 I 1 ( i ) I s ( i ) i . . . . . . i = 1 t c 2 I s ( i ) I 1 ( i ) i . . . i = 1 t c 2 I s ( i ) I s ( i ) i
At the end, the calculated result C ˜ = ( C ˜ I , C ˜ e ) is sent to the querying user D U .

5.2.6. Dec

The D e c shown in Algorithm 3 works as follows:
  • Vertices Decryption. According to the graph re-encryption in Algorithm 2, the re-encrypted node set corresponding to the intersection set V I is C ˜ I = { c ˜ I ( j ) , j = 1 , , s } , where c ˜ I ( j ) = ( c 3 I ( j ) , c 4 I ( j ) , c 2 I ( j ) ) = ( R T A D U 1 t I ( j ) , p k r · t I ( j ) , e ( g , g ) r j · v j ) = ( g s k D U s k · t , g s k · r · t I ( j ) , e ( g , g ) r j · v j ) . It can be obtained that v j = c 2 I ( j ) e ( c 3 I ( j ) , c 4 I ( j ) ) 1 s k D U . Finally, we obtain the set of intersections of vertices V = { v j , j = 1 , , s } .
  • Matrix Decryption. The edges set intersection C ˜ e can be decrypted with s k D U as follows:
    E = P R E . D e c s k D U ( C ˜ e , s k D U ) = P R E . D e c s k D U i = 1 t c 2 I 1 ( i ) I 1 ( i ) i i = 1 t c 2 I 1 ( i ) I s ( i ) i i = 1 t c 2 I s ( i ) I 1 ( i ) i . . . i = 1 t c 2 I s ( i ) I s ( i ) i = i = 1 t e I 1 ( i ) I 1 ( i ) i . . . i = 1 t e I 1 ( i ) I s ( i ) i . . . . . . i = 1 t e I s ( i ) I 1 ( i ) i . . . i = 1 t e I s ( i ) I s ( i ) i
Finally, the data user D U recovers the intersection of the graphs G by using V and E.
Algorithm 3 Dec.
Input:  C ˜ = ( C ˜ I , C ˜ e ) , P , s k D U .
Output: G.
1:
for  c ˜ I ( j ) C ˜ I   do
2:
   Decrypt v j = P R E . D e c ( c ˜ I ( j ) , s k D U ) .
3:
end for
4:
V { v 1 , v 2 , , v s } .
5:
E P R E . D e c s k D U ( C ˜ e , s k D U )
6:
return  G = ( V , E )

6. Correctness and Security Analysis

6.1. Correctness Analysis

Theorem 1.
If all follow the algorithms within the scheme, then the query user can obtain the correct graph intersection result.
Proof. 
We prove that the query user can obtain G = ( V , E ) = G 1 G 2 . . . G t .
When calculating graph intersection, the cloud server first acquires a set of common hash values H I = { h 1 , h 2 , . . . , h s } . Since each value in the hash set H i corresponds uniquely to an element in the ciphertext set C v i , the encrypted node subset can be correctly extracted from C v i as C I = { c I ( j ) , j = 1 , . . . , s } . The cloud server then re-encrypts it to obtain the re-encrypted node set C ˜ I { c ˜ I ( j ) , j = 1 , . . . , s } , which can be decrypted to obtain V I = V 1 V 2 . . . V t = { v j , j = 1 , , s } , to be specific, given c ˜ I ( j ) = ( c 3 I ( j ) , c 4 I ( j ) , c 2 I ( j ) ) and s k D U , v j = c 2 I ( j ) e ( c 3 I ( j ) , c 4 I ( j ) ) 1 s k D U .
The cloud server constructs the submatrices, re-encrypts the elements in the matrices and performs the Hadamard product on these matrices to obtain
C ˜ e = S ˜ e 1 S ˜ e t = i = 1 t c 2 I 1 ( i ) I 1 ( i ) i . . . i = 1 t c 2 I 1 ( i ) I s ( i ) i . . . . . . i = 1 t c 2 I s ( i ) I 1 ( i ) i . . . i = 1 t c 2 I s ( i ) I s ( i ) i
The data user decrypts to obtain the intersection matrix with their private key s k D U
E = i = 1 t e I 1 ( i ) I 1 ( i ) i . . . i = 1 t e I 1 ( i ) I s ( i ) i . . . . . . i = 1 t e I s ( i ) I 1 ( i ) i . . . i = 1 t e I s ( i ) I s ( i ) i = i = 1 t e I 1 ( i ) I 1 ( i ) i · e ( g , g ) r I 1 ( i ) I 1 ( i ) e ( g , g ) r I 1 ( i ) I 1 ( i ) . . . i = 1 t e I 1 ( i ) I s ( i ) i · e ( g , g ) r I 1 ( i ) I s ( i ) e ( g , g ) r I 1 ( i ) I 1 s . . . . . . i = 1 t e I s ( i ) I 1 ( i ) i · e ( g , g ) r I s ( i ) I 1 ( i ) e ( g , g ) r I s ( i ) I 1 ( i ) . . . i = 1 t e I s ( i ) I 1 s i · e ( g , g ) r I s ( i ) I s ( i ) e ( g , g ) r I s ( i ) I s ( i ) = i = 1 t c 2 I 1 ( i ) I 1 ( i ) i e ( c 3 I 1 ( i ) I 1 ( i ) i , c 4 I 1 ( i ) I 1 ( i ) i ) 1 / s k D U . . . i = 1 t c 2 I 1 ( i ) I s ( i ) i e ( c 3 I 1 ( i ) I s ( i ) i , c 4 I 1 ( i ) I s ( i ) i ) 1 / s k D U . . . . . . i = 1 t c 2 I s ( i ) I 1 ( i ) i e ( c 3 I s ( i ) I 1 ( i ) i , c 4 I s ( i ) I 1 ( i ) i ) 1 / s k D U . . . i = 1 t c 2 I s ( i ) I s ( i ) i e ( c 3 I s ( i ) I s ( i ) i , c 4 I s ( i ) I s ( i ) i ) 1 / s k D U

6.2. Security Analysis

This section conducts a comprehensive security evaluation of the proposed scheme. Our analysis unfolds in two key phases: initially formalizing the leakage functions, followed by a rigorous proof that the scheme is CQA-2 secure.
  • Leakage function L 1 : Given a query q = ( G 1 , G 2 , . . . , G t ) , where G i = ( V i , E i ) , the leakage function L 1 reveals the information inferred from encrypted graphs C 1 , C 2 , , C t and their encrypted intersection graph C ˜ , including the vertex count of each individual graph and the vertex count of the graph intersection. Thus, L 1 ( q ) = ( N u m 1 , N u m 2 ) where N u m 1 ,   N u m 2 are formally described as follows:
    -
    N u m 1 . N u m 1 is is a t-sized array, where N u m 1 [ i ] = | V i | for i = 1 , 2 , , t .
    -
    N u m 2 . N u m 2 signifies the total vertices in the graph intersection which denoted as | V I | .
  • Leakage function L 2 : The leakage function L 2 reveals information during multiple queries including query pattern leakage, which reveals whether a particular query has been issued previously, and intersection pattern leakage, which indicates the number of common vertices shared among different queries. Let q = q 1 , q 2 , . . . , q m be a sequence of graph intersection queries, where q i corresponds to a collection of graphs ( G 1 i , G 2 i , . . . , G t i ) . They are formally stated as follows.
Definition 3.
(Query pattern leakage). The query pattern leakage function L Q P ( q ) is modeled as a m × m matrix, where each entry ( i , j ) signifies whether q i and q j are identical. We denote each entry ( i , j ) as S i m ( q i , q j ) = ( G 1 i = G 1 j , G 2 i = G 2 j , . . . , G t i = G t j ) .
Definition 4.
(Intersection pattern leakage). The intersection pattern leakage function L I P ( q ) is represented as a m × m matrix, where each entry ( i , j ) contains common hashes between graph intersections corresponding to queries q i and q j , denoted as C o m ( q i , q j ) . Since the hash function is deterministic, hash values have one-to-one correspondence with vertices, and C o m ( q i , q j ) indicates the common vertices between q i and q j without leaking their identities.
Thus, the leakage function L 2 = ( L Q P ( q ) , L I P ( q ) ) .
Theorem 2.
If H is a secure hash function and P R E is a secure proxy re-encryption algorithm, then our graph encryption scheme Π is ( L 1 , L 2 ) -secure against an adaptive chosen query attack.
Proof. 
To demonstrate the security of our scheme, we construct a simulator S. Based on L 1 , L 2 , S generates counterfeit encrypted graphs C 1 , C 2 , . . . , C t as well as the encrypted graph intersection result C ˜ for query q i q 1 , q 2 , . . . , q m . If for any probability polynomial time adversary A , it cannot differentiate the two experiments Real A ( λ ) and Ideal A , S ( λ ) , then our scheme is considered to be secure.
Simulating the encryption. Given q i = ( G 1 i , G 2 i , . . . , G t i ) and leakage functions L 1 and L 2 , S first checks if q i has been previously encountered; if it has, S provides the previous results. Otherwise, S behaves as follows: it generates t graphs whose scales and vertices relationships satisfy the conditions in leakage functions L 1 ( q ) = ( N u m 1 , N u m 2 ) and L 2 = ( L Q P ( q ) , L I P ( q ) ) . Then, S encrypts the t graphs using the hash function and proxy re-encryption algorithm to obtain the encrypted form of the t graphs, represented as C 1 , C 2 , . . . , C t , as well as t hash sets H 1 , H 2 , . . . , H t .
Simulating the graph intersection computation. Given C 1 , C 2 , . . . , C t , H 1 , H 2 , . . . , H t , S first obtains the hash sets intersection H I and the encrypted vertices set intersection C I . Then, it generates the re-encryption key R T A D U with a randomly chosen s k , and re-encrypts C I . Finally, S constructs the submatrices from C 1 , C 2 , . . . , C t , re-encrypts them using R T A D U , and multiplies the re-encrypted submatrices to obtain the encrypted intersection matrix C ˜ .
Since the hash function H and proxy re-encryption algorithm P R E are secure, any PPT adversary A cannot distinguish the fake encrypted graphs C 1 , C 2 , . . . , C t , the fake hash sets H 1 , H 2 , . . . , H t , and fake encrypted intersection matrix C ˜ from real ones, i.e., A cannot distinguish between experiments in the ideal world and those in the real world. Thus, we have
P r Real A ( λ ) = 1 P r Ideal A , S ( λ ) = 1 n e g l ( λ )
where n e g l is a negligible function.
Therefore, our scheme is ( L 1 , L 2 ) -secure against an adaptive chosen query attack. □

7. Performance Analysis

In Table 2, we evaluate our scheme in comparison with related works across several dimensions including cryptographic primitives, privacy, cloud-assisted computation, multi-owners and multi-users. Scheme [16] computes the graph intersection of two parties. In scheme [17], multiple parties are able to collaboratively calculate the intersection of their graphs. Instead of outsourcing their graphs to a cloud server, they perform secure multi-party computation directly among the participants. Zuo et al. [15] enabled the cloud server to compute the graph intersection of multiple data owners for a single user. However, none of them support multi-users to query for graph intersection with cloud assisted computations.

7.1. Theoretical Analysis

In Table 3, we show the computational complexity of each phase including K e y G e n D U , K e y G e n T A , R e K e y G e n , E n c , G r a p h I n t e r s e c t i o n , and D e c . The complexity analysis is denoted by the following operations: the exponentiation E in G , the exponentiation E T in G T , the bilinear pairing e, and multiplication in G T . We consider t data owners; the intersection graph of them has s nodes. n indicates that the graph encrypted has n nodes. G is the size of a group element in G , and G T is the size of a group element in G T .
In the phase of K e y G e n and R e K e y G e n , it needs one exponentiation in G ; the key size is 1 group element in G . In the E n c phase, to encrypt a graph with n nodes, we need to compute n hashes. For each of the n nodes and n 2 elements in the matrix, we need to compute one exponentiation in G , one exponentiation in G T , one pairing e, and one multiplication M in G T , resulting in n · H + ( n 2 + n ) ( E + e + E T + M ) operations. In the G r a p h I n t e r s e c t i o n phase, the vertex set intersection and the submatrices totally contain s + t · s 2 elements, and each element re-encryption requires 2 E + e operations. Combining with ( t 1 ) · s 2 · M operations during the multiplication of matrices, totally ( s + t · s 2 ) · ( 2 E + e ) + ( t 1 ) · s 2 · M is needed. During the D e c phase, a data user needs to decrypt the set of node intersection of size s and the matrix of size s × s . Each of these elements requires ( M + E T ) to decrypt, so the complexity is ( s + s 2 ) ( M + E T ) .

7.2. Experiments

In this section, we analyze the performance of our scheme through a series of experiments.

7.2.1. Experimental Setting

We perform the experiments on an Ubuntu 22.04 operating system in the VMware Workstation on a PC with an i9-13900H CPU and 16 GB RAM. We implement the scheme using Go programming language based on the PBC library for Go [37]. We adopt the type A pairing which generates a pairing on the curve y 2 = x 3 + x over the field F q . In our experiment setting, the large prime q is 512 bits, and the group order of G is set to 160 bits. We instantiate hash function H with SHA-256. Table 4 shows the execution time of basic operations using for 100 times. We evaluate the performance using real-world graph data LastFM Asia social network [38]. The LastFM Asia social network is an undirected graph with 7627 nodes and 27,806 edges. We randomly choose subgraphs as graph data for data owners while controlling the number of common vertices among them to ensure the intersections are not empty.

7.2.2. Experimental Results

We demonstrate the experimental results in Figure 3.
Figure 3a shows the encryption time for graphs of different size at the data owner. Since we perform the encryption for each node and each element in the adjacency matrix, the encryption time grows with the size of the graph. As we can see, with the vertex count of the graph varying from 200 to 1200, the encryption time increases from 29.62 s to 1040.72 s. Since each data owner is required to encrypt their graph only once, the encryption time is acceptable in practice.
In Figure 3b, we show the computational cost at the cloud server. The computation time is influenced by the amount of data owners and the graph intersection size. As shown in the theoretical analysis, the cloud server needs to perform, in total, ( s + t · s 2 ) · ( 2 E + e ) + ( t 1 ) · s 2 · M operations with t data owners and s vertices in the graph intersection. We simulate this phase with data owners ranging from 100 to 500 and the vertex count in the graph intersection ranging between 20 and 80. Simulations show that the workload of the cloud server is heavy such that the computation cost rises as both the amount of the data owners and the graph intersection size increase, for example, it takes 5,143,852 s to compute the graph intersection of 500 data users with 80 common vertices. Specifically, the size of the graph intersection plays a more dominant role in determining the computation time compared to the amount of data owners.
As depicted in Figure 3c, the decryption of the data user is time saving. The decryption time is related to the size of graph intersection, and the data user only needs to perform less-time-consuming operations including exponents and multiplications in G T . As we can see, the time of decrypting graph intersection with 20 vertices is 115.35 ms, and that with 100 vertices is 2.93 s.

8. Conclusions

In this paper, we introduce a privacy-preserving multi-user graph intersection scheme in the cloud-assisted IoT environment, realizing the privacy-preserving graph intersection computation. It supports multiple data users to query for the intersection of graphs of multiple data owners. We prove our scheme is secure under reasonable assumptions. The performance assessment and experimental validation on real-world graph data confirm the efficiency and practicality of our scheme. In the future, we will explore how to realize the privacy-preserving graph intersection query against malicious cloud servers and consider further improving the efficiency to make the scheme applicable to larger-scale graph data.

Funding

This research received no external funding.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Data are contained within the article.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Shen, M.; Ma, B.; Zhu, L.; Mijumbi, R.; Du, X.; Hu, J. Cloud-Based Approximate Constrained Shortest Distance Queries Over Encrypted Graphs with Privacy Protection. arXiv 2018, arXiv:1809.07912. [Google Scholar] [CrossRef]
  2. Wang, W.; Jia, Z.; Xu, M.; Li, S. SPCS: Strong Privacy-Preserving-Constrained Shortest Distance Queries on Encrypted Graphs. IEEE Internet Things J. 2022, 9, 22516–22528. [Google Scholar] [CrossRef]
  3. Zhang, C.; Zhu, L.; Xu, C.; Sharif, K.; Zhang, C.; Liu, X. PGAS: Privacy-preserving Graph Encryption for Accurate Constrained Shortest Distance Queries. Inf. Sci. 2020, 506, 325–345. [Google Scholar] [CrossRef]
  4. Wang, Q.; Ren, K.; Du, M.; Li, Q.; Mohaisen, A. SecGDB: Graph Encryption for Exact Shortest Distance Queries with Efficient Updates. In Financial Cryptography and Data Security; Kiayias, A., Ed.; Springer International Publishing: Cham, Switzerland, 2017; Volume 10322, pp. 79–97. [Google Scholar] [CrossRef]
  5. Liu, C.; Zhu, L.; He, X.; Chen, J. Enabling Privacy-Preserving Shortest Distance Queries on Encrypted Graph Data. IEEE Trans. Dependable Secur. Comput. 2021, 18, 192–204. [Google Scholar] [CrossRef]
  6. Zhao, X.; Wang, M.; Jia, Z.; Li, S. Privacy-Preserving Any-Hop Cover Shortest Distance Queries on Encrypted Graphs. IEEE Internet Things J. 2024, 11, 16517–16528. [Google Scholar] [CrossRef]
  7. Sun, F.; Yu, J.; Hu, J. Privacy-Preserving Approximate Minimum Community Search on Large Networks. IEEE Trans. Inf. Forensics Secur. 2024, 19, 4146–4160. [Google Scholar] [CrossRef]
  8. Wang, S.; Zheng, Y.; Jia, X.; Wang, Q.; Wang, C. MAGO: Maliciously Secure Subgraph Counting on Decentralized Social Graphs. IEEE Trans. Inf. Forensics Secur. 2023, 18, 2929–2944. [Google Scholar] [CrossRef]
  9. Wang, S.; Zheng, Y.; Jia, X.; Huang, H.; Wang, C. OblivGM: Oblivious Attributed Subgraph Matching as a Cloud Service. arXiv 2022, arXiv:2209.03526. [Google Scholar] [CrossRef]
  10. Zuo, X.; Li, L.; Peng, H.; Luo, S.; Yang, Y. Privacy-Preserving Subgraph Matching Scheme with Authentication in Social Networks. IEEE Trans. Cloud Comput. 2022, 10, 2038–2049. [Google Scholar] [CrossRef]
  11. Ge, X.; Yu, J.; Hao, R. Privacy-Preserving Graph Matching Query Supporting Quick Subgraph Extraction. IEEE Trans. Dependable Secur. Comput. 2024, 21, 1286–1300. [Google Scholar] [CrossRef]
  12. Fan, Z.; Choi, B.; Chen, Q.; Xu, J.; Hu, H.; Bhowmick, S.S. Structure-Preserving Subgraph Query Services. IEEE Trans. Knowl. Data Eng. 2015, 27, 2275–2290. [Google Scholar] [CrossRef]
  13. Wang, S.; Zheng, Y.; Jia, X.; Wang, C. eGrass: An Encrypted Attributed Subgraph Matching System with Malicious Security. IEEE Trans. Inf. Forensics Secur. 2024, 19, 5999–6014. [Google Scholar] [CrossRef]
  14. Cao, N.; Yang, Z.; Wang, C.; Ren, K.; Lou, W. Privacy-Preserving Query over Encrypted Graph-Structured Data in Cloud Computing. In Proceedings of the 2011 31st International Conference on Distributed Computing Systems, Minneapolis, MI, USA, 20–24 June 2011; pp. 393–402. [Google Scholar] [CrossRef]
  15. Zuo, X.; Li, L.; Luo, S.; Peng, H.; Yang, Y.; Gong, L. Privacy-Preserving Verifiable Graph Intersection Scheme with Cryptographic Accumulators in Social Networks. IEEE Internet Things J. 2021, 8, 4590–4603. [Google Scholar] [CrossRef]
  16. Zhou, F.; Xu, Z.; Li, Y.; Xu, J.; Peng, S. Private Graph Intersection Protocol. In Information Security and Privacy; Pieprzyk, J., Suriadi, S., Eds.; Springer International Publishing: Cham, Switzerland, 2017; Volume 10343, pp. 235–248. [Google Scholar] [CrossRef]
  17. Liu, X.; Tu, X.F.; Luo, D.; Xu, G.; Xiong, N.N.; Chen, X.B. Secure Multi-Party Computation of Graphs’ Intersection and Union under the Malicious Model. Electronics 2023, 12, 258. [Google Scholar] [CrossRef]
  18. Kerschbaum, F. Outsourced Private Set Intersection Using Homomorphic Encryption. In Proceedings of the 7th ACM Symposium on Information, Computer and Communications Security, Asan, Republic of Korea, 2–4 May 2012; pp. 85–86. [Google Scholar] [CrossRef]
  19. Kamara, S.; Mohassel, P.; Raykova, M.; Sadeghian, S. Scaling Private Set Intersection to Billion-Element Sets. In Financial Cryptography and Data Security; Christin, N., Safavi-Naini, R., Eds.; Springer: Berlin/Heidelberg, Germany, 2014; Volume 8437, pp. 195–215. [Google Scholar] [CrossRef]
  20. Abadi, A.; Terzis, S.; Metere, R.; Dong, C. Efficient Delegated Private Set Intersection on Outsourced Private Datasets. IEEE Trans. Dependable Secur. Comput. 2019, 16, 608–624. [Google Scholar] [CrossRef]
  21. Ali, M.; Mohajeri, J.; Sadeghi, M.R.; Liu, X. Attribute-Based Fine-Grained Access Control for Outscored Private Set Intersection Computation. Inf. Sci. 2020, 536, 222–243. [Google Scholar] [CrossRef]
  22. Zheng, Q.; Xu, S. Verifiable Delegated Set Intersection Operations on Outsourced Encrypted Data. In Proceedings of the 2015 IEEE International Conference on Cloud Engineering, Tempe, AZ, USA, 9–13 March 2015; pp. 175–184. [Google Scholar] [CrossRef]
  23. Qian, Y.; Shen, J.; Vijayakumar, P.; Sharma, P.K. Profile Matching for IoMT: A Verifiable Private Set Intersection Scheme. IEEE J. Biomed. Health Inform. 2021, 25, 3794–3803. [Google Scholar] [CrossRef]
  24. Wang, Q.; Zhou, F.; Xu, J.; Peng, S. Tag-Based Verifiable Delegated Set Intersection over Outsourced Private Datasets. IEEE Trans. Cloud Comput. 2022, 10, 1201–1214. [Google Scholar] [CrossRef]
  25. Chase, M.; Kamara, S. Structured Encryption and Controlled Disclosure. In Proceedings of the International Conference on the Theory and Application of Cryptology and Information Security, Singapore, 5–9 December 2010; pp. 577–594. [Google Scholar] [CrossRef]
  26. Meng, X.; Kamara, S.; Nissim, K.; Kollios, G. GRECS: Graph Encryption for Approximate Shortest Distance Queries. In Proceedings of the CCS, Denver, CO, USA, 12–16 October 2015. [Google Scholar]
  27. Ghosh, E.; Kamara, S.; Tamassia, R. Efficient Graph Encryption Scheme for Shortest Path Queries. In Proceedings of the 2021 ACM Asia Conference on Computer and Communications Security, Virtual Event, 7–11 June 2021; pp. 516–525. [Google Scholar] [CrossRef]
  28. Falzon, F.; Ghosh, E.; Paterson, K.G.; Tamassia, R. PathGES: An Efficient and Secure Graph Encryption Scheme for Shortest Path Queries. In Proceedings of the CCS, Salt Lake City, UT, USA, 14–18 October 2024. [Google Scholar]
  29. Wang, F.; Chen, Z.; Pan, L.; Zhang, L.Y.; Zhou, J. CryptGraph: An Efficient Privacy-Enhancing Solution for Accurate Shortest Path Retrieval in Cloud Environments. In Proceedings of the 19th ACM Asia Conference on Computer and Communications Security, Singapore, 1–5 July 2024; pp. 1660–1674. [Google Scholar] [CrossRef]
  30. Wu, D.J.; Zimmerman, J.; Planul, J.; Mitchell, J.C. Privacy-Preserving Shortest Path Computation. In Proceedings of the NDSS, San Diego, CA, USA, 21–24 February 2016. [Google Scholar] [CrossRef]
  31. Wang, S.; Zheng, Y.; Jia, X.; Yi, X. PeGraph: A System for Privacy-Preserving and Efficient Search Over Encrypted Social Graphs. IEEE Trans. Inf. Forensics Secur. 2022, 17, 3179–3194. [Google Scholar] [CrossRef]
  32. Wu, Y.; Wang, J.; Xu, D.; Zhou, Y. Spidey: Secure Dynamic Encrypted Property Graph Search with Lightweight Access Control. IEEE Internet Things J. 2024. [Google Scholar] [CrossRef]
  33. Zheng, Y.; Zhu, H.; Lu, R.; Guan, Y.; Zhang, S.; Wang, F.; Shao, J.; Li, H. PGSim: Efficient and Privacy-Preserving Graph Similarity Query Over Encrypted Data in Cloud. IEEE Trans. Inf. Forensics Secur. 2023, 18, 2030–2045. [Google Scholar] [CrossRef]
  34. Jiang, G.; Zhang, H.; Lin, J.; Kong, F.; Yu, L. Optimized Verifiable Delegated Private Set Intersection on Outsourced Private Datasets. Comput. Secur. 2024, 141, 103822. [Google Scholar] [CrossRef]
  35. Sharma, S.; Li, Y.; Mehrotra, S.; Panwar, N.; Gupta, P.; Ghosh, D. Prism: Privacy-preserving and Verifiable Set Computation over Multi-Owner Secret Shared Outsourced Databases. IEEE Trans. Dependable Secur. Comput. 2024, 21, 1355–1371. [Google Scholar] [CrossRef]
  36. Libert, B.; Vergnaud, D. Unidirectional Chosen-Ciphertext Secure Proxy Re-Encryption. In Proceedings of the PKC 2008: 11th International Workshop on Practice and Theory in Public-Key Cryptography, Barcelona, Spain, 9–12 March 2008; Proceedings 11. Springer: Berlin/Heidelberg, Germany, 2008; pp. 360–379. [Google Scholar]
  37. Nik-U. The PBC Go Wrapper. Available online: https://github.com/Nik-U/pbc (accessed on 5 December 2018).
  38. Rozemberczki, B.; Sarkar, R. Characteristic Functions on Graphs: Birds of a Feather, from Statistical Descriptors to Parametric Models. arXiv 2020, arXiv:2005.07959. [Google Scholar]
Figure 1. System model.
Figure 1. System model.
Sensors 25 01892 g001
Figure 2. Graph intersection.
Figure 2. Graph intersection.
Sensors 25 01892 g002
Figure 3. Operation time of the algorithms in our scheme. (a) Encryption time of data owner. (b) Graph intersection computation time of cloud server. (c) Decryption time of data user.
Figure 3. Operation time of the algorithms in our scheme. (a) Encryption time of data owner. (b) Graph intersection computation time of cloud server. (c) Decryption time of data user.
Sensors 25 01892 g003
Table 1. Summary of notations.
Table 1. Summary of notations.
NotationsDescription
P public parameters
( p k D U , s k D U ) public–private key pair of data user D U
( p k , s k ) public–private key pair of the trusted authority T A
R T A D U re-encryption key from trusted authority T A to data user D U
G i = ( V i , E i ) graph of data owner D O i
n i the amount of vertices in G i
V i vertex set of G i
H i hashed vertex set of G i
E i adjacency matrix of G i
v j i the vertex in V i
e k l i the element in adjacency matrix E i
C i = ( C v i , C e i ) the encrypted form of G i
C ˜ = ( C ˜ I , C ˜ e ) the encrypted graph intersection
Table 2. Comparison of functionalities with existing schemes.
Table 2. Comparison of functionalities with existing schemes.
SchemesCryptographic PrimitivesPrivacyCloud-Assisted ComputationMulti-OwnersMulti-Users
[16]Paillier encryption×××
[17]Lifted-ElGamal threshold encryption×
[15]ElGamal encryption×
Our schemeProxy re-encryption
Table 3. Theoretical analysis of our scheme.
Table 3. Theoretical analysis of our scheme.
AlgorithmsComputational CostOutput Size
K e y G e n D U 1 E 1 G
K e y G e n T A 1 E 1 G
R e K e y G e n 1 E 1 G
E n c (one data owner) n · H + ( n 2 + n ) ( E + e + E T + M ) ( n 2 + n ) ( G T + G ) + n · H
G r a p h I n t e r s e c t i o n ( s + t · s 2 ) · ( 2 E + e ) + t · s 2 · M ( s 2 + s ) ( G T + 2 G )
D e c ( s + s 2 ) ( M + E T ) -
Table 4. Execution time of basic operations.
Table 4. Execution time of basic operations.
Operation ( × 100 )Exponent in G Exponent in G T Multiplication in G T Bilinear ParingH
time 62.70 ms 5.30 ms 160.08 µs 41.58 ms 138.61 µs
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Yang, S. Privacy-Preserving Multi-User Graph Intersection Scheme for Wireless Communications in Cloud-Assisted Internet of Things. Sensors 2025, 25, 1892. https://doi.org/10.3390/s25061892

AMA Style

Yang S. Privacy-Preserving Multi-User Graph Intersection Scheme for Wireless Communications in Cloud-Assisted Internet of Things. Sensors. 2025; 25(6):1892. https://doi.org/10.3390/s25061892

Chicago/Turabian Style

Yang, Shumei. 2025. "Privacy-Preserving Multi-User Graph Intersection Scheme for Wireless Communications in Cloud-Assisted Internet of Things" Sensors 25, no. 6: 1892. https://doi.org/10.3390/s25061892

APA Style

Yang, S. (2025). Privacy-Preserving Multi-User Graph Intersection Scheme for Wireless Communications in Cloud-Assisted Internet of Things. Sensors, 25(6), 1892. https://doi.org/10.3390/s25061892

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop