CN108055118A - A kind of diagram data intersection computational methods of secret protection - Google Patents
A kind of diagram data intersection computational methods of secret protection Download PDFInfo
- Publication number
- CN108055118A CN108055118A CN201711306369.5A CN201711306369A CN108055118A CN 108055118 A CN108055118 A CN 108055118A CN 201711306369 A CN201711306369 A CN 201711306369A CN 108055118 A CN108055118 A CN 108055118A
- Authority
- CN
- China
- Prior art keywords
- alice
- graph
- bob
- paillier
- matrix
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
Abstract
The invention belongs to diagram data intersection calculating fields, it is proposed that a kind of diagram data intersection computational methods of secret protection.Diagram data intersection is completed between two side's entities to calculate, and the privacy of both sides' diagram data is protected in calculating process;Paillier encryption systems are used in agreement, to realize the homomorphism addition and homomorphism multiplication in ciphertext;Agreement possesses the features such as calculating is efficient and leakage information is few.Its close state graph structure safe can be outsourced in a un-trusted Cloud Server by the present invention, while not lose the ability inquired about it again.The storage service that can be sufficiently provided using Cloud Server, while relievedly inquiry operation is given to server to perform, it is ensured that server can not obtain effective information as far as possible during interaction.
Description
Technical Field
The invention belongs to the field of graph data intersection calculation, and particularly relates to a graph data intersection calculation method with privacy protection.
Background
Graph structure data and graph data processing have continued to gain more and more research and attention in recent years. In recent years, many application fields start to convert traditional data into a graph structure form for storage, and graph operations are used to help solve many computing problems, including social networks, bioinformatics, communication networks, traffic networks, and the like. For example, web page data may be represented and stored as graph structure data, with static web pages represented as points in the graph and links between web pages represented as edges in the graph. Many web page data computation problems may then be helped to be solved, including web page searching, web page data mining, web page crawling, and the like, by using a variety of different graph operations.
The purpose of the graph intersection calculation is to calculate the portion of intersection between two graphs, i.e., to calculate the points and edges that are common between the two graphs. The graph intersection calculation is one of the most basic calculations in graph operation, and is an indispensable part in many practical applications, for example, data mining of graph structure data.
With the development of the big data era, the generation speed, the scale and the calculation amount of data are continuously increased, and the storage and the calculation of large-scale graph data by individuals become a challenging problem. For example, a personal computer has difficulty accessing and computing a graph with millions of points and edges. More and more individuals and enterprises choose to use cloud storage services to store massive amounts of graph structure data and cloud computing services to compute the graph data.
Cloud storage and cloud computing provide convenience to users and greatly help users to save storage resources and computing resources. However, providers of cloud storage and cloud computing are often untrusted entities that possess both internal and external threats. The internal threat means that the internal members of the service provider can directly view and acquire the data of the user and have complete control right on the data; the external threat means that the server of the service provider is attacked by external personnel with conspiracy or unconsciousness, thereby causing data loss or theft of the user.
At present, related research based on graph data intersection calculation has many problems in the aspects of security and privacy protection, and data privacy of users in cloud calculation cannot be guaranteed. Aiming at the characteristics of cloud computing and graph intersection computing, a method and a system for graph intersection computing capable of resisting internal and external threats are urgently needed, and the privacy and the confidentiality of computing can be guaranteed in an untrusted environment.
Disclosure of Invention
The invention aims to provide a graph data intersection calculation method with privacy protection, which can finish graph data intersection calculation between two entities and protect the privacy of bipartite graph data in the calculation process; a Paillier encryption system is used in the protocol to realize homomorphic addition and homomorphic multiplication on the ciphertext; the protocol has the characteristics of high calculation efficiency, less leaked information and the like.
The technical scheme of the invention is as follows:
the privacy-protected graph data intersection calculation protocol comprises two entities: alice and Bob. Alice is the request initiator of the protocol, which holds the private graph data G A . Bob is the request responder of the protocol, which holds private graph data G B 。
The graph data held by Alice and Bob is a directed graph in graph theory, and each point in the graph possesses a unique identifier. During the course of the protocol, both Alice and Bob wish to protect the privacy of the graph data they hold. Privacy of graph data refers to any information about the graph, including the number of points, the number of edges, the identification of points, and so forth, in the graph.
After the protocol is completed, alice obtains the intersection G between the two graphs I Bob obtains the intersection V of points between the two graphs I . Intersection G of two of the graphs I Is a graph composed of points and edges that are commonly present in two graphs, and the intersection V of the points between the two graphs I Is a set consisting of points that co-exist in both figures.
In the privacy-preserving graph data intersection calculation protocol, private graph data held by Alice and Bob is represented as G = (V, E), where G is graph data, V is a set of points in the graph, and E is a set of edges in the graph.
Each point in a graph is represented as a unique positive integer, and the set V arranges these positive integers in ascending order, i.e., V = { V = { 1 ,v 2 ,...,v m Where m is the number of points in the graph, v 1 <v 2 <...<v m . The edges in a figure are represented as an adjacency matrix E, which is a square matrix with m rows and m columns, i.e.
E in the matrix i,j Representing point v i And point v j In the figures, i.e. if there is at least one edge connecting points v i And point v j Then e is i,j =1, otherwise e i,j =0。
A Paillier encryption system is required to be used in the protocol, and is an IND-CPA secure public key encryption system which comprises the following three algorithms:
(pk,sk)←KeyGen(1 k ): and generating a secret key algorithm, wherein the input of the algorithm is a safety parameter k, and the output of the algorithm is a public key pk and a private key sk.
c ← Enc (m, pk): and (3) encrypting the algorithm, wherein the input of the algorithm is a plaintext message m and a public key pk, and the output of the algorithm is a corresponding ciphertext c. For simplicity, c ← Enc (m) is used herein to represent the Paillier encryption algorithm.
m ← Dec (c, sk): and (4) decrypting the algorithm, wherein the input of the algorithm is the ciphertext c and the private key sk, and the output of the algorithm is the corresponding plaintext message m. For simplicity, m ← Dec (c) is used herein to represent the Paillier encryption algorithm.
The Paillier encryption system supports addition homomorphism and partial multiplication homomorphism, wherein the addition homomorphism usesRepresenting, multiplication being homomorphicAnd (4) showing. Suppose m 0 And m 1 Are two plaintext messages, the definition of the addition homomorphism is:the multiplicative homomorphism is defined as:
wherein: alice is the request initiator; keyGen () is the Paillier key generation algorithm; bob is the request responder; enc () is the Paillier encryption algorithm; g A Is a diagram of Alice; dec () is the Paillier decryption algorithm; g B Is a diagram of Bob; pk is the public key of the Paillier algorithm; g I Is the intersection of the two graphs; sk is the private key of the Paillier algorithm; v A Is the set of points in the Alice graph; k is a security parameter; v B Is the collection of points in Bob graph;is a Paillier homomorphic multiplication; v I Is the intersection of points in the two graphs;is Paillier homomorphic addition; e A Is the set of edges in the Alice graph; m is the number of points in the Alice graph; e B Is the set of edges in the Bob graph; n is the number of points in the Bob graph; e I Is the intersection of the edges in the two figures; t is the number of intersections of the two graph points.
Step 1, defining a graph data intersection calculation protocol for privacy protection, comprising two entities: alice and Bob; alice is the request initiator of the protocol, which holds the private graph data G A (ii) a Bob is the request responder of the protocol, which holds private graph data G B (ii) a Alice generates a public key pk and a private key sk of the Paillier encryption system, and sends the public key pk to Bob;
step 2, alice rootAccording to the point set V in the figure A Generating a polynomial P (x) with all roots of P (x) being V A All of the elements in (1); then Alice encrypts all coefficients of P (x) from a low-order item to a high-order item by using a Paillier encryption system and sends all ciphertexts to Bob;
in the step (3), the step (B),
3.1 Bob sends all points b in his own graph according to the homomorphism of the Paillier encryption system i As an input for P (x); wherein: b i ∈V B ,i=1,2,3·······;
3.2 Computing a solution to P (x) from the received ciphertext to obtain e i =P(b i ) (ii) a Then for all e i Calculating r i :
Wherein: gamma is a random number that is a function of,is a Paillier homomorphic multiplication;is Paillier homomorphic addition;
3.3 All r are finally added i Sending the data to Alice;
step 4
4.1 Alice decrypts all received r i And with point V in its own map A Carrying out comparison;
if Dec (r) i ) At V A In which the same element is present, namely Dec (r) i )=a j Then a is j Is a point common to both figures;
4.2 After all the Dec (r) are compared i ) Then, alice obtains the intersection V of the points in the two graphs I
V I =V A ∩V B
4.3 Last Alice will be V I Sending the data to Bob;
in the step 5, the step of the method is that,
5.1 Alice through the use of V I And E A Calculating a new adjacency matrix E' A ;E′ A Is E A Part of (A), E A Comprising G A Of all points, and E' A Containing only V I The adjacency relationship between points in (1); v is arranged I E 'if the number of the middle points is t' A Is a t x t square matrix;
5.2 Alice encrypts E 'using the Paillier encryption System' A All elements in the list, and sending the ciphertext to Bob;
in the step 6, the step of,
6.1 Bob) by using V I And E B Calculating a new adjacency matrix E' B The calculation method is the same as that of Alice in the step 5;
6.2 After E' B All elements in the ciphertext matrix are subjected to Paillier homomorphic multiplication with elements at corresponding positions in the received ciphertext matrix to obtain a new ciphertext matrix E I ′;
6.3 ) finally E I ' to Alice;
step 7, alice decrypts E by using Paillier's secret key I ' and obtain the intersection E of the two graph edges I (ii) a At the moment, alice simultaneously obtains V I And E I I.e. the intersection G of two graphs I 。
The invention has the beneficial effects that:
the invention can safely outsource the secret graph structure to an untrusted cloud server without losing the capability of inquiring the secret graph structure. The storage service provided by the cloud server can be fully used, meanwhile, the query operation is handed to the server to be executed with great care, and the fact that the server cannot obtain effective information in the interaction process can be guaranteed.
Drawings
FIG. 1 is an architecture of a privacy preserving graph data intersection calculation protocol.
FIG. 2 is a flow of entity interaction in a graph data intersection calculation protocol for privacy protection.
Detailed Description
The following detailed description of the embodiments of the invention refers to the accompanying drawings.
A privacy-protected graph data intersection calculation method comprises the following steps:
step 1: the method comprises the following steps of initializing a system, executing by Alice, generating a key pair for encryption and decryption by the Alice through using a Paillier key generation algorithm, and disclosing a public key, wherein the method comprises the following specific steps:
step 1.1: alice selects the security parameter k and executes the Paillier Key Generation Algorithm (pk, sk) ← KeyGen (1) k ). After the algorithm is executed, alice obtains a public key pk and a private key sk of the Paillier encryption system.
Step 1.2: alice saves the secret key sk in secret and sends the public key pk to Bob.
Step 2: alice represents all points in the graph held by Alice as a polynomial, encrypts the coefficients of the polynomial, and finally sends the encrypted ciphertext to Bob, the specific steps are as follows:
step 2.1: picture G held by Alice A Each point in (b) is represented as a unique positive integer and the positive integers are arranged in ascending order to form a set V A I.e. V A ={a 1 ,a 2 ,...,a m }。
Step 2.2: alice according to V A Generating a polynomial P (x) with all roots of P (x) being V A All elements in (b), i.e., P (x) = (x-a) 1 )(x-a 2 )...(x-a m ). By means of operation, P (x) is expressed asWherein alpha is i Representing the coefficients of each term of the polynomial. P (x) satisfies the following definition: if and only if x ∈ V A P (x) =0.
Step 2.3: alice uses the Paillier encryption algorithm Enc () All coefficients of the polynomial P (x) are encrypted to obtain c i =Enc(α i ) And the value range of i is more than or equal to 0 and less than or equal to m. Then Alice combines all the ciphertexts into a set, C = { C = { (C) 0 ,c 1 ,...,c m }。
Step 2.4: alice sends the ciphertext set C to Bob.
And 3, step 3: using the received ciphertext set C, bob computes the value of the polynomial P (x) using all the points in the graph it holds as inputs. And then Bob further processes the calculated polynomial result and sends the polynomial result to Alice, and the specific steps are as follows:
step 3.1: graph G that Bob holds B Each point in (b) is represented as a unique integer and the integers are arranged in ascending order to form a set V B I.e. V B ={b 1 ,b 2 ,...,b n }。
Step 3.2: bob will V B With each element in (a) as input, the value of the polynomial P (x) is calculated from the received ciphertext set C. In the calculation, paillier addition homomorphic operation is required to be usedAnd multiplication homomorphic operationThe calculation method isWherein b is j ∈V B . Bob converts V by this method B All the elements in the formula are used as input to be calculated, and finally n polynomial calculation results e are obtained 1 ,e 2 ,...,e n . Because Paillier homomorphic operation is used in calculation, e 1 ,e 2 ,...,e n Is a ciphertext.
Step 3.3: calculating the result e for each polynomial j Bob selects a random integer gamma and calculatesBecause Paillier homomorphic operation is used in calculation, r j Is a ciphertext. Then Bob will all r j Composition set R = { R = { (R) } 1 ,r 2 ,...,r n }。
Step 3.4: bob sends the set R to Alice.
And 4, step 4: the method comprises the following steps that Alice decrypts the received set R, compares the decrypted set R with points in a graph held by the Alice, and if the decrypted result has corresponding points in the graph, the points exist in the graphs of the Alice and the Bob at the same time, and the method specifically comprises the following steps:
step 4.1: alice decrypts the received ciphertext set R by using a Paillier decryption algorithm to obtain R i ′=Dec(r i ) Wherein i is more than or equal to 1 and less than or equal to n.
And 4.2: for all r i ', alice detects r i Whether or not it is at V A The same values are present. If present, indicates that r i ' is G A And G B A common point; if not, because Bob is calculating r i When a random number r is added i ' will be a random value, so Alice cannot be driven from r i ' of determine any about G B The information of (a). Finally, alice detects all the detected graphs G A And graph G B Common points form a set V I ={v 1 ,v 2 ,...,v t }. The set is the intersection of points in the two graphs, i.e. V I =V A ∩V B 。
Step 4.3: alice will V I And sent to Bob.
And 5: alice represents all edges in the graph it holds as an adjacency matrix and utilizes V I Constructing a new adjacency matrix, and finally encrypting and sending the new adjacency matrix to Bob, wherein the specific steps are as follows:
step 5.1: the graph G held by Alice A All edges in the graph are represented as an adjacency matrix E A . According to G A Set of midpoints V A ={a 1 ,a 2 ,...,a m },E A Is a matrix of m rows and m columns:
the values in the matrix represent the adjacency of two points in the graph, i.e. a i,j Represents point a i And point a j In the figure G A Wherein i is more than or equal to 1, j is more than or equal to m, if any, a i,j =1; if not, then a i,j =0。
Step 5.2: alice according to graph G A And graph G B Intersection of midpoints V I ={v 1 ,v 2 ,...,v t } constructing a new adjacency matrix E' A ,E′ A Contains only V I Point in (5) is in graph G A The adjacent relation in (2). E' A Is a matrix of t rows and t columns:
a i ′ ,j representing point v i And point v j In the figure G A Wherein i is more than or equal to 1, j is more than or equal to t, if yes, a i ′ ,j =1; if not, then a i ′ ,j =0。
Step 5.3: alice will use the Paillier encryption algorithm to encrypt E' A All elements in the data are encrypted to obtain an encryption matrix C A :
Step 5.4: alice encrypts the matrix C A Sent to Bob.
Step 6: bob represents all edges in the graph it holds as an adjacency matrix and utilizes V I Constructing a new adjacency matrix, and then carrying out homomorphic multiplication of corresponding elements with the received encryption matrix by using Paillier homomorphic multiplicationMultiplying, and finally sending the result to Alice, wherein the specific steps are as follows:
step 6.1: bob holds the graph G B All edges in the graph are represented as an adjacency matrix E B . According to G B Set of midpoints V B ={b 1 ,b 2 ,...,b n },E B Is a matrix of n rows and n columns:
the values in the matrix represent the adjacency of two points in the graph, b i,j Represents point b i And point b j In the figure G B Wherein 1 is not more than i, j is not more than n, if any, b i,j =1; if not, then b i,j =0。
Step 6.2: bob is according to graph G A And graph G B Intersection of midpoints V I ={v 1 ,v 2 ,...,v t } constructing a new adjacency matrix E' B ,E′ B Contains only V I Point in (5) is in graph G B The adjacent relation in (2). E' B Is a matrix of t rows and t columns:
b i ′ ,j representing point v i And point v j In the figure G B Wherein i is more than or equal to 1, j is more than or equal to t, if yes, b i ′ ,j =1; if not, then b i ′ ,j =0。
Step 6.3: bob multiplies E 'homomorphic with Paillier' B Element (C) and C received in the previous step A Corresponding elements in the encryption matrix C are subjected to homomorphic multiplication to obtain a new encryption matrix C B :
Step 6.4: bob will encrypt the matrix C B And sending the data to Alice.
And 7: alice decrypts all elements in the received encryption matrix by using a decryption algorithm of the Paillier encryption system to obtain E I =Dec(C B ). The matrix is graph G A And graph G B Intersection of middle edges, i.e. E I =E A ∩E B . At this time, alice has the intersection V of the points in the two images I Intersection E with edges in both figures I That is, alice obtains the intersection G of the two graphs I =(V I ,E I )=G A ∩G B 。
Claims (8)
1. A privacy-protected graph data intersection calculation method is characterized by comprising the following steps:
step 1, defining a graph data intersection calculation protocol for privacy protection, comprising two entities: alice and Bob; alice is the request initiator of the protocol, which holds the private graph data G A (ii) a Bob is the request responder of the protocol, which holds private graph data G B (ii) a Alice generates a public key pk and a private key sk of the Paillier encryption system, and sends the public key pk to Bob;
step 2, alice collects points V according to the graph A Generating a polynomial P (x) with all roots of P (x) being V A All of the elements in (1); then Alice encrypts all coefficients of P (x) from the low-order item to the high-order item by using a Paillier encryption system and sends all ciphertexts to Bob;
in the step 3, the step of,
3.1 Bob sends all points b in his own graph according to the homomorphism of the Paillier encryption system i As an input for P (x); wherein: b is a mixture of i ∈V B ,i=1,2,3·······;
3.2 Computing a solution for P (x) from the received ciphertext to obtain e i =P(b i ) (ii) a Then for all e i Calculating r i :
Wherein: gamma is a random number that is a function of,is a Paillier homomorphic multiplication; | > is Paillier homomorphic addition;
3.3 All r are finally added i Sending the data to Alice;
in the step 4, the step of the method,
4.1 Alice decrypts all received r i And with point V in its own map A Carrying out comparison;
if Dec (r) i ) At V A In (b) the same element, i.e. Dec (r) i )=a j Then a is a j Is a point common to both figures;
4.2 After all the Dec (r) are compared i ) Then, alice obtains the intersection V of the points in the two graphs I
V I =V A ∩V B
4.3 Last Alice will be V I Sending the data to Bob;
in the step (5), the step (c),
5.1 Alice through the use of V I And E A Calculating a new adjacency matrix E' A ;E′ A Is E A A part of (E), E A Comprising G A Of all points, and E' A Containing only V I The adjacency between points in (b); let V I E 'if the number of the middle points is t' A Is a t x t square matrix;
5.2 Alice encrypts E 'using the Paillier encryption System' A All elements in the list, and sending the ciphertext to Bob;
in the step 6, the step of,
6.1 Bob by using V I And E B Calculating a new adjacency matrix E' B The calculation method is the same as that of Alice in the step 5;
6.2 After that) E' B All elements in (a) and corresponding bits in the received ciphertext matrixPaillier homomorphic multiplication is carried out on the arranged elements to obtain a new ciphertext matrix E' I ;
6.3 ) last E' I Sending the data to Alice;
step 7, alice decrypts E ' by using Paillier's secret key ' I And obtaining the intersection E of the two graph edges I (ii) a At the same time Alice has obtained V I And E I I.e. the intersection G of two graphs I ;
The method comprises the following steps: enc () is the Paillier encryption algorithm; dec () is the Paillier decryption algorithm; v A Is a collection of points in the Alice graph; v B Is the collection of points in Bob graph; e A Is the set of edges in the Alice graph; m is the number of points in the Alice graph; e B Is the set of edges in Bob graph; n is the number of points in the Bob plot.
2. The privacy-preserving graph data intersection computation method of claim 1, wherein: the method for generating pk and sk of the Paillier encryption system by Alice in the step 1 comprises the following steps:
alice selects the security parameter k and executes the Paillier Key Generation Algorithm (pk, sk) ← KeyGen (1) k ) (ii) a After the algorithm execution is completed, alice obtains a public key pk and a private key sk of the Paillier encryption system; alice saves the secret key sk and sends the public key pk to Bob.
3. A privacy preserving graph data intersection computation method according to claim 1 or 2, characterized by: in step 2, alice collects points V according to the graph A The method for generating the polynomial P (x) is:
step 2.1: picture G held by Alice A Each point in (b) is represented as a unique positive integer and the positive integers are arranged in ascending order to form a set V A I.e. V A ={a 1 ,a 2 ,...,a m };
Step 2.2: alice according to V A Generating a polynomial P (x) with all roots of P (x) being V A All elements in (1), i.e., P (x) = (x-a) 1 )(x-a 2 )...(x-a m );
By means of operation, P (x) is expressed asWherein alpha is i A coefficient representing each term of the polynomial; p (x) satisfies the following definition: if and only if x ∈ V A When, P (x) =0;
step 2.3: alice encrypts all coefficients of the polynomial P (x) by using a Paillier encryption algorithm Enc () to obtain c i =Enc(α i )
Wherein: the value range of i is more than or equal to 0 and less than or equal to m;
then Alice combines all the ciphertexts into a set, C = { C = { (C) 0 ,c 1 ,...,c m };
Step 2.4: alice sends the ciphertext set C to Bob.
4. A privacy preserving graph data intersection computation method as claimed in claim 1 or 2, characterized by: the method in the step 3 comprises the following steps:
step 3.1: graph G that Bob holds B Each point in (a) is represented as a unique integer and the integers are arranged in ascending order to form a set V B I.e. V B ={b 1 ,b 2 ,...,b n };
Step 3.2: bob will V B As input, calculating the value of the polynomial P (x) from the received ciphertext set C; when calculating, the Paillier addition homomorphic operation # and multiplication homomorphic operation are needed to be usedThe calculation method isWherein b is j ∈V B (ii) a Bob converts V by this method B All the elements in the polynomial are used as input to calculate, and finally n polynomial calculation results e are obtained 1 ,e 2 ,...,e n (ii) a Because Paillier homomorphic operation is used in calculation, e 1 ,e 2 ,...,e n Is a ciphertext;
step 3.3: for each polynomial calculation result e j Bob selects a random integer gamma and calculatesBecause Paillier homomorphic operation is used in calculation, r j Is a ciphertext; then Bob will all r j Composition set R = { R = { (R) } 1 ,r 2 ,...,r n };
Step 3.4: bob sends the set R to Alice.
5. The privacy preserving graph data intersection computation method of claim 3, wherein: the method in the step 3 comprises the following steps:
step 3.1: graph G that Bob holds B Each point in (a) is represented as a unique integer and the integers are arranged in ascending order to form a set V B I.e. V B ={b 1 ,b 2 ,...,b n };
Step 3.2: bob will V B As input, calculating the value of the polynomial P (x) from the received ciphertext set C; in the calculation, paillier addition homomorphic operation ^ and multiplication homomorphic operation are required to be usedThe calculation method isWherein b is j ∈V B (ii) a Bob converts V by this method B All the elements in the formula are used as input to be calculated, and finally n polynomial calculation results e are obtained 1 ,e 2 ,...,e n (ii) a Because Paillier homomorphic operation is used in calculation, e 1 ,e 2 ,...,e n Is a ciphertext;
step 3.3: calculating the result e for each polynomial j Bob selects a random integer gamma and calculatesBecause Paillier homomorphic operation is used in calculation, r j Is a ciphertext; then Bob will all r j Composition set R = { R = 1 ,r 2 ,...,r n };
Step 3.4: bob sends the set R to Alice.
6. The method of privacy-preserving graph data intersection computation of claims 1, 2 or 5, wherein: the method in the step 4 comprises the following steps:
step 4.1: alice decrypts the received ciphertext set R by using a Paillier decryption algorithm to obtain R i ′=Dec(r i ) Wherein i is more than or equal to 1 and less than or equal to n;
step 4.2: for all r i ', alice detects r i Whether or not it is at V A The same values are present;
if present, indicates r i ' is G A And G B A common point; if not, because Bob is calculating r i When adding a random number r i ' will be a random value, so Alice cannot be driven from r i ' of judging any about G B The information of (a); finally, alice detects all the detected graphs G A And graph G B Common points form a set V I ={v 1 ,v 2 ,...,v t }; the set is the intersection of points in the two graphs, i.e. V I =V A ∩V B ;
Step 4.3: alice will V I And sent to Bob.
7. The privacy preserving graph data intersection computation method of claim 1, 2 or 5, wherein: the method in the step 5 comprises the following steps:
step 5.1: the graph G held by Alice A All edges in the graph are represented as an adjacency matrix E A (ii) a According to G A Set of midpoints V A ={a 1 ,a 2 ,...,a m },E A Is a matrix of m rows and m columns:
the values in the matrix represent the adjacency of two points in the graph, i.e. a i,j Represents point a i And point a j In the figure G A Wherein i is more than or equal to 1, j is more than or equal to m, if any, a i,j =1; if not, then a i,j =0;
And step 5.2: alice according to graph G A And graph G B Intersection of midpoints V I ={v 1 ,v 2 ,...,v t } constructing a new adjacency matrix E' A ,E′ A Contains only V I Point in (5) is in graph G A The adjacent relation in (1); e' A Is a matrix of t rows and t columns:
a′ i,j representing point v i And point v j In the figure G A Wherein 1 is not more than i, j is not more than t, if any, a' i,j =1; if not present, then a' i,j =0;
Step 5.3: alice will use the Paillier encryption algorithm to encrypt E' A All elements in the data are encrypted to obtain an encryption matrix C A :
Step 5.4: alice encrypts the matrix C A Sent to Bob.
8. The privacy preserving graph data intersection computation method of claim 1, 2 or 5, wherein: the method in the step 6 comprises the following steps:
step 6.1: bob takes itHeld graph G B All edges in the graph are represented as an adjacency matrix E B (ii) a According to G B Set of midpoints V B ={b 1 ,b 2 ,...,b n },E B Is a matrix of n rows and n columns:
the values in the matrix represent the adjacency of two points in the graph, b i,j Represents point b i And point b j In the figure G B Wherein 1 is not more than i, j is not more than n, if any, b i,j =1; if not, then b i,j =0;
Step 6.2: bob is according to graph G A And graph G B Intersection of midpoints V I ={v 1 ,v 2 ,...,v t } constructing a new adjacency matrix E' B ,E′ B Contains only V I Point in (5) is in graph G B The adjacent relation in (1); e' B Is a matrix of t rows and t columns:
b′ i,j representing point v i And point v j In the figure G B Wherein 1 is not more than i, j is not more than t, if any, b' i,j =1; if not, then b' i,j =0;
Step 6.3: bob multiplies E 'homomorphic with Paillier' B Element (C) and C received in the previous step A Corresponding elements in the encryption matrix C are subjected to homomorphic multiplication to obtain a new encryption matrix C B :
Step 6.4: bob will encrypt the matrix C B SendingTo Alice.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711306369.5A CN108055118B (en) | 2017-12-11 | 2017-12-11 | Privacy-protection graph data intersection calculation method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711306369.5A CN108055118B (en) | 2017-12-11 | 2017-12-11 | Privacy-protection graph data intersection calculation method |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108055118A true CN108055118A (en) | 2018-05-18 |
CN108055118B CN108055118B (en) | 2020-06-05 |
Family
ID=62123703
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711306369.5A Active CN108055118B (en) | 2017-12-11 | 2017-12-11 | Privacy-protection graph data intersection calculation method |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108055118B (en) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109344640A (en) * | 2018-12-20 | 2019-02-15 | 东北大学 | A kind of subgraph match method based on homomorphic cryptography and polynomial computation |
CN109525386A (en) * | 2018-11-29 | 2019-03-26 | 东北大学 | A method of based on the privately owned intersection of Paillier homomorphic cryptography and |
CN109657489A (en) * | 2018-08-03 | 2019-04-19 | 湖北工业大学 | A kind of safe calculation method of two side of set intersection and system of secret protection |
CN109951443A (en) * | 2019-01-28 | 2019-06-28 | 湖北工业大学 | The set intersection calculation method and system of secret protection under a kind of cloud environment |
CN110324321A (en) * | 2019-06-18 | 2019-10-11 | 阿里巴巴集团控股有限公司 | Data processing method and device |
CN110535622A (en) * | 2019-08-01 | 2019-12-03 | 阿里巴巴集团控股有限公司 | Data processing method, device and electronic equipment |
CN111475854A (en) * | 2020-06-24 | 2020-07-31 | 支付宝(杭州)信息技术有限公司 | Collaborative computing method and system for protecting data privacy of two parties |
CN111641603A (en) * | 2020-05-15 | 2020-09-08 | 北京青牛技术股份有限公司 | Privacy set intersection data interaction method and system based on homomorphic encryption |
US10885203B2 (en) | 2019-08-01 | 2021-01-05 | Advanced New Technologies Co., Ltd. | Encrypted data exchange |
CN112527699A (en) * | 2020-11-16 | 2021-03-19 | 中山大学 | Method for safely calculating Nash equilibrium point in cloud computing environment |
CN115549993A (en) * | 2022-09-19 | 2022-12-30 | 山东大学 | Multi-task cost evaluation method and system based on graph path secret calculation |
CN115549993B (en) * | 2022-09-19 | 2024-04-26 | 山东大学 | Multitasking cost evaluation method and system based on graph path dense state calculation |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102710757A (en) * | 2012-05-21 | 2012-10-03 | 北京航空航天大学 | Distributed cloud storage data integrity protection method |
US8862879B2 (en) * | 2009-10-13 | 2014-10-14 | Sergio Demian LERNER | Method and apparatus for efficient and secure creating, transferring, and revealing of messages over a network |
CN104426973A (en) * | 2013-09-03 | 2015-03-18 | 中国移动通信集团公司 | Cloud database encryption method, system and device |
CN105812141A (en) * | 2016-03-07 | 2016-07-27 | 东北大学 | Outsourcing encrypted data-orientated verifiable intersection operation method and system |
US20160357799A1 (en) * | 2015-06-02 | 2016-12-08 | Hong Kong Baptist University | Structure-Preserving Subgraph Queries |
WO2017037151A1 (en) * | 2015-09-03 | 2017-03-09 | Commissariat A L'energie Atomique Et Aux Energies Alternatives | Method for confidentially querying a location-based service by homomorphic cryptography |
CN107395336A (en) * | 2017-07-03 | 2017-11-24 | 安徽大学 | Ciphertext domain reversible data embedding method based on pailliar public key encryps |
-
2017
- 2017-12-11 CN CN201711306369.5A patent/CN108055118B/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8862879B2 (en) * | 2009-10-13 | 2014-10-14 | Sergio Demian LERNER | Method and apparatus for efficient and secure creating, transferring, and revealing of messages over a network |
CN102710757A (en) * | 2012-05-21 | 2012-10-03 | 北京航空航天大学 | Distributed cloud storage data integrity protection method |
CN104426973A (en) * | 2013-09-03 | 2015-03-18 | 中国移动通信集团公司 | Cloud database encryption method, system and device |
US20160357799A1 (en) * | 2015-06-02 | 2016-12-08 | Hong Kong Baptist University | Structure-Preserving Subgraph Queries |
WO2017037151A1 (en) * | 2015-09-03 | 2017-03-09 | Commissariat A L'energie Atomique Et Aux Energies Alternatives | Method for confidentially querying a location-based service by homomorphic cryptography |
CN105812141A (en) * | 2016-03-07 | 2016-07-27 | 东北大学 | Outsourcing encrypted data-orientated verifiable intersection operation method and system |
CN107395336A (en) * | 2017-07-03 | 2017-11-24 | 安徽大学 | Ciphertext domain reversible data embedding method based on pailliar public key encryps |
Non-Patent Citations (1)
Title |
---|
QIANG WANG等: "Secure Collaborative Publicly", 《IEEE ACCESS》 * |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109657489A (en) * | 2018-08-03 | 2019-04-19 | 湖北工业大学 | A kind of safe calculation method of two side of set intersection and system of secret protection |
CN109657489B (en) * | 2018-08-03 | 2021-09-14 | 湖北工业大学 | Privacy protection set intersection two-party secure calculation method and system |
CN109525386B (en) * | 2018-11-29 | 2021-05-18 | 东北大学 | Paillier homomorphic encryption private aggregation and method based on Paillier |
CN109525386A (en) * | 2018-11-29 | 2019-03-26 | 东北大学 | A method of based on the privately owned intersection of Paillier homomorphic cryptography and |
CN109344640A (en) * | 2018-12-20 | 2019-02-15 | 东北大学 | A kind of subgraph match method based on homomorphic cryptography and polynomial computation |
CN109951443A (en) * | 2019-01-28 | 2019-06-28 | 湖北工业大学 | The set intersection calculation method and system of secret protection under a kind of cloud environment |
CN109951443B (en) * | 2019-01-28 | 2021-06-04 | 湖北工业大学 | Set intersection calculation method and system for privacy protection in cloud environment |
CN110324321B (en) * | 2019-06-18 | 2021-07-13 | 创新先进技术有限公司 | Data processing method and device |
CN110324321A (en) * | 2019-06-18 | 2019-10-11 | 阿里巴巴集团控股有限公司 | Data processing method and device |
US10885203B2 (en) | 2019-08-01 | 2021-01-05 | Advanced New Technologies Co., Ltd. | Encrypted data exchange |
CN110535622A (en) * | 2019-08-01 | 2019-12-03 | 阿里巴巴集团控股有限公司 | Data processing method, device and electronic equipment |
CN111641603A (en) * | 2020-05-15 | 2020-09-08 | 北京青牛技术股份有限公司 | Privacy set intersection data interaction method and system based on homomorphic encryption |
CN111641603B (en) * | 2020-05-15 | 2022-07-01 | 北京青牛技术股份有限公司 | Privacy set intersection data interaction method and system based on homomorphic encryption |
CN111475854A (en) * | 2020-06-24 | 2020-07-31 | 支付宝(杭州)信息技术有限公司 | Collaborative computing method and system for protecting data privacy of two parties |
CN112527699A (en) * | 2020-11-16 | 2021-03-19 | 中山大学 | Method for safely calculating Nash equilibrium point in cloud computing environment |
CN115549993A (en) * | 2022-09-19 | 2022-12-30 | 山东大学 | Multi-task cost evaluation method and system based on graph path secret calculation |
CN115549993B (en) * | 2022-09-19 | 2024-04-26 | 山东大学 | Multitasking cost evaluation method and system based on graph path dense state calculation |
Also Published As
Publication number | Publication date |
---|---|
CN108055118B (en) | 2020-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108055118B (en) | Privacy-protection graph data intersection calculation method | |
Odelu et al. | Pairing-based CP-ABE with constant-size ciphertexts and secret keys for cloud environment | |
Li et al. | Secure attribute-based data sharing for resource-limited users in cloud computing | |
US9571268B2 (en) | Method and system for homomorphicly randomizing an input | |
US10630478B1 (en) | Sender optimal, breach-resilient, and post-quantum secure cryptographic methods and systems for digital auditing | |
Au et al. | Privacy-preserving personal data operation on mobile cloud—Chances and challenges over advanced persistent threat | |
Yu et al. | Verifiable outsourced computation over encrypted data | |
CN110851845B (en) | Full homomorphic data encapsulation method for lightweight single-user multi-data | |
CN112737764B (en) | Lightweight multi-user multi-data all-homomorphic data encryption packaging method | |
US20110060901A1 (en) | Cryptographic System for Performing Secure Iterative Matrix Inversions and Solving Systems of Linear Equations | |
CN114175569A (en) | System and method for adding and comparing integers encrypted with quasigroup operations in AES counter mode encryption | |
Guo et al. | Enabling privacy-preserving geographic range query in fog-enhanced IoT services | |
Ying et al. | Reliable policy updating under efficient policy hidden fine-grained access control framework for cloud data sharing | |
Mousavi et al. | Security of Internet of Things using RC4 and ECC algorithms (case study: smart irrigation systems) | |
He et al. | Public auditing for encrypted data with client-side deduplication in cloud storage | |
Peng et al. | Efficient distributed decryption scheme for IoT gateway-based applications | |
Thangavel et al. | Secure file storage and retrieval in cloud | |
Nagesh et al. | Comparative analysis of MOD-ECDH algorithm with various algorithms | |
Kavin et al. | A Novel M-Commerce Data Security Mechanism using Elliptic Curve Cryptography | |
Chaudhari et al. | Survey on securing IoT data using homomorphic encryption scheme | |
Chen et al. | A new efficient privacy-preserving data publish-subscribe scheme | |
Wang et al. | A Blockchain-Based fine-grained access data control scheme with attribute change function | |
Addepalli et al. | A hybrid security framework for medical data in IoT applications | |
Yang et al. | A privacy preserving and fine-grained access control scheme in DaaS based on efficient DSP re-encryption | |
Nandgaonkar et al. | A survey on privacy-preserving data aggregation without secure channel |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |