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 PDF

Info

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
Application number
CN201711306369.5A
Other languages
Chinese (zh)
Other versions
CN108055118B (en
Inventor
周福才
徐紫枫
李宇溪
秦诗悦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Northeastern University China
Original Assignee
Northeastern University China
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Northeastern University China filed Critical Northeastern University China
Priority to CN201711306369.5A priority Critical patent/CN108055118B/en
Publication of CN108055118A publication Critical patent/CN108055118A/en
Application granted granted Critical
Publication of CN108055118B publication Critical patent/CN108055118B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6227Protecting 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

Privacy-protection graph data intersection calculation method
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.
CN201711306369.5A 2017-12-11 2017-12-11 Privacy-protection graph data intersection calculation method Active CN108055118B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (7)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
QIANG WANG等: "Secure Collaborative Publicly", 《IEEE ACCESS》 *

Cited By (17)

* Cited by examiner, † Cited by third party
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