CN108055118B - Privacy-protection graph data intersection calculation method - Google Patents

Privacy-protection graph data intersection calculation method Download PDF

Info

Publication number
CN108055118B
CN108055118B CN201711306369.5A CN201711306369A CN108055118B CN 108055118 B CN108055118 B CN 108055118B CN 201711306369 A CN201711306369 A CN 201711306369A CN 108055118 B CN108055118 B CN 108055118B
Authority
CN
China
Prior art keywords
alice
graph data
bob
private
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.)
Active
Application number
CN201711306369.5A
Other languages
Chinese (zh)
Other versions
CN108055118A (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

Images

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 the field of graph data intersection calculation, and provides a graph data intersection calculation method with privacy protection. Completing the computation of the intersection of the diagram data between the two entities, and protecting the privacy of the bipartite diagram data in the computation 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 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.

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 use graph operations to help solve many computing problems, including social networks, bioinformatics, communication networks, and traffic networks. 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 the 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 data generation speed, the scale and the calculation amount 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; external threats refer to the server of a service provider being attacked by external personnel with anticipation or unconsciousness, resulting in the loss or theft of data by 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 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-preserving graph data intersection calculation protocol comprises two entities: alice and Bob. Alice is the request initiator of the protocol, which holds private graph data GA. Bob is the request responder of the protocol, which holds private graph data GB
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 in the graph, the number of edges, the identification of points, and so forth.
After the protocol is completed, Alice obtains the intersection G between the two graphsIBob obtains the intersection V of points between the two graphsI. The intersection G of two of the graphsIIs a graph composed of points and edges that are present in common in two graphs, the intersection V of the points between the two graphsIIs a set consisting of points that co-exist in both graphs.
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 the positive integers in ascending order, i.e., V ═ V1,v2,...,vmWhere m is the number of points in the graph, v1<v2<...<vm. 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.
Figure BDA0001502056770000031
E in the matrixi,jRepresenting point viAnd point vjIn the figures, i.e. if there is at least one edge connecting points viAnd point vjThen ei,j1, otherwise ei,j=0。
The Paillier encryption system is used in the protocol, is an IND-CPA secure public key encryption system and consists of the following three algorithms:
(pk,sk)←KeyGen(1k): the key generates the algorithm, the input of the algorithm is the security parameter k, and the output of the algorithm is the public key pk and the private key sk.
c ← Enc (m, pk): and (3) an encryption 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 uses
Figure BDA0001502056770000032
Representing, multiplication homomorphism
Figure BDA0001502056770000033
And (4) showing. Suppose m0And m1Are two plaintext messages, the definition of the addition homomorphism is:
Figure BDA0001502056770000034
the multiplicative homomorphism is defined as:
Figure BDA0001502056770000035
wherein: alice is the request initiator; KeyGen () is the Paillier key generation algorithm; bob is the request responder; enc () is the Paillier encryption algorithm; gAIs a diagram of Alice; dec () is the Paillier decryption algorithm; gBIs a diagram of Bob; pk is the public key of the Paillier algorithm; gIIs the intersection of the two graphs; sk is the private key of the Paillier algorithm; vAIs the set of points in the Alice graph; k is a security parameter; vBIs the point in Bob diagramA set of (a);
Figure BDA0001502056770000041
is a Paillier homomorphic multiplication; vIIs the intersection of points in the two graphs;
Figure BDA0001502056770000042
is Paillier homomorphic addition; eAIs a collection of edges in an Alice graph; m is the number of points in the Alice graph; eBIs the set of edges in the Bob graph; n is the number of points in the Bob graph; eIIs the intersection of the edges in the two figures; t is the number of intersections of 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 private graph data GA(ii) a Bob is the request responder of the protocol, which holds private graph data GB(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 graphAGenerating a polynomial P (x) with all roots of P (x) being VAAll 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, according to the homomorphism of the Paillier encryption system, puts all the points b in the own graphiAs input for P (x); wherein: bi∈VB,i=1,2,3·······;
3.2) calculating the solution of P (x) through the received ciphertext to obtain ei=P(bi) (ii) a Then for all eiCalculating ri
Figure BDA0001502056770000043
Wherein: gamma is a random number that is a function of,
Figure BDA0001502056770000044
is a Paillier homomorphic multiplication;
Figure BDA0001502056770000045
is Paillier homomorphic addition;
3.3) finally all riSending the data to Alice;
step 4
4.1) Alice decrypts all received riAnd with point V in its own mapACarrying out comparison;
if Dec (r)i) At VAIn which the same element is present, namely Dec (r)i)=ajThen a isjIs a point common to both figures;
4.2) after comparison all the Dec (r) are finishedi) Then, Alice obtains the intersection V of the points in the two graphsI
VI=VA∩VB
4.3) finally Alice will be VISending the data to Bob;
in the step 5, the step of the method is that,
5.1) Alice uses VIAnd EACalculating a new adjacency matrix E'A;E′AIs EAA part of (E), EAComprising GAOf all points, and E'AContaining only VIThe adjacency relationship between points in (1); let VIE 'if the number of the middle points is t'AIs a t x t square matrix;
5.2) Alice encrypts E 'using the Paillier encryption System'AAll elements in the list, and sending the ciphertext to Bob;
in the step 6, the step of,
6.1) Bob by Using VIAnd EBCalculating a new adjacency matrix E'BThe calculation method is the same as that of Alice in the step 5;
6.2) thereafter E'BAll 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 EI′;
6.3) finally EI' send to Alice;
step (ii) of7, Alice decrypts E using Paillier's secret keyI', and obtaining the intersection E of the two graph edgesI(ii) a At the same time Alice has obtained VIAnd EII.e. the intersection G of two graphsI
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 AliceAEach point in (a) is represented as a unique positive integer and will beThe positive integers are arranged in ascending order to form a set VAI.e. VA={a1,a2,...,am}。
Step 2.2: alice according to VAGenerating a polynomial P (x) with all roots of P (x) being VAAll elements in (a), i.e. p (x) ═ a1)(x-a2)...(x-am). By operation, P (x) is expressed as
Figure BDA0001502056770000061
α thereiniRepresenting the coefficients of each term of the polynomial. P (x) satisfies the following definition: if and only if x ∈ VAWhen p (x) is 0.
Step 2.3: alice encrypts all coefficients of the polynomial P (x) by using a Paillier encryption algorithm Enc () to obtain ci=Enc(αi) And the value range of i is more than or equal to 0 and less than or equal to m. Then Alice groups all the ciphertexts into a set, C ═ C0,c1,...,cm}。
Step 2.4: alice sends the ciphertext set C to Bob.
And 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 holdsBEach point in (a) is represented as a unique integer and the integers are arranged in ascending order to form a set VBI.e. VB={b1,b2,...,bn}。
Step 3.2: bob will VBWith each element in the set 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 used
Figure BDA0001502056770000071
And multiplication homomorphic operation
Figure BDA0001502056770000072
The calculation method is
Figure BDA0001502056770000073
Wherein b isj∈VB. Bob converts V by this methodBAll the elements in the polynomial are used as input to calculate, and finally n polynomial calculation results e are obtained1,e2,...,en. Because Paillier homomorphic operation is used in calculation, e1,e2,...,enIs a ciphertext.
Step 3.3: calculating the result e for each polynomialjBob selects a random integer gamma and calculates
Figure BDA0001502056770000074
Because Paillier homomorphic operation is used in calculation, rjIs a ciphertext. Then Bob will all rjComposition set R ═ { R1,r2,...,rn}。
Step 3.4: bob sends the set R to Alice.
And 4, step 4: and (3) the received set R is decrypted by Alice, the decrypted set R is compared with the points in the graph held by Alice, and if the decrypted result has corresponding points in the graph, the points exist in the graphs of Alice and Bob at the same time, and the specific steps are as follows:
step 4.1: alice decrypts the received ciphertext set R by using a Paillier decryption algorithm to obtain Ri′=Dec(ri) Wherein i is more than or equal to 1 and less than or equal to n.
Step 4.2: for all ri', Alice detection riWhether or not at VAThe same values are present. If present, indicates ri' is GAAnd GBA common point; if not, because Bob is calculating riWhen adding a random number ri' will be a random value, so Alice cannot be driven from ri' of judging any about GBThe information of (1). Finally, Alice detects all the detected graphs GAAnd graph GBCommon points form a set VI={v1,v2,...,vt}. The set is the midpoint of the two graphsOf intersection, i.e. VI=VA∩VB
Step 4.3: alice will VISent to Bob.
And 5: alice represents all edges in the graph it holds as an adjacency matrix and utilizes VIConstructing 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 AliceAAll edges in the graph are represented as an adjacency matrix EA. According to GASet of midpoints VA={a1,a2,...,am},EAIs a matrix of m rows and m columns:
Figure BDA0001502056770000081
the values in the matrix represent the adjacency of two points in the graph, i.e. ai,jRepresents point aiAnd point ajIn the figure GAWherein 1 is not more than i, j is not more than m, if any, ai,j1 is ═ 1; if not, then ai,j=0。
Step 5.2: alice according to graph GAAnd graph GBIntersection of midpoints VI={v1,v2,...,vt}, construct a new adjacency matrix E'A,E′AContains only VIPoint in (5) is in graph GAThe adjacent relation in (2). E'AIs a matrix of t rows and t columns:
Figure BDA0001502056770000082
ai,jrepresenting point viAnd point vjIn the figure GAWherein i is not less than 1, j is not less than t, if any, ai,j1 is ═ 1; if not, then ai,j=0。
Step 5.3: alice will encrypt E 'using the Paillier encryption algorithm'AAll the elements in the data are encrypted to obtain an encryption matrix CA
Figure BDA0001502056770000091
Step 5.4: alice encrypts the matrix CASent to Bob.
Step 6: bob represents all edges in the graph it holds as an adjacency matrix and utilizes VIConstructing a new adjacency matrix, then carrying out homomorphic multiplication of corresponding elements by using Paillier homomorphic multiplication and the received encryption matrix, and finally sending a result to Alice, wherein the method specifically comprises the following steps:
step 6.1: bob holds the graph GBAll edges in the graph are represented as an adjacency matrix EB. According to GBSet of midpoints VB={b1,b2,...,bn},EBIs a matrix of n rows and n columns:
Figure BDA0001502056770000092
the values in the matrix represent the adjacency of two points in the graph, bi,jRepresents point biAnd point bjIn the figure GBWherein 1 is not more than i, j is not more than n, if any, bi,j1 is ═ 1; if not, then bi,j=0。
Step 6.2: bob is according to graph GAAnd graph GBIntersection of midpoints VI={v1,v2,...,vt}, construct a new adjacency matrix E'B,E′BContains only VIPoint in (5) is in graph GBThe adjacent relation in (2). E'BIs a matrix of t rows and t columns:
Figure BDA0001502056770000093
bi,jrepresenting point viAnd point vjIn the figure GBIn isIf there is at least one side, i is more than or equal to 1, j is less than or equal to t, if there is, bi,j1 is ═ 1; if not, then bi,j=0。
Step 6.3: bob multiplies E 'homomorphic with Paillier'BElement (C) and C received in the previous stepAThe corresponding elements in the encryption matrix C are subjected to homomorphic multiplication to obtain a new encryption matrix CB
Figure BDA0001502056770000101
Step 6.4: bob will encrypt the matrix CBAnd 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 EI=Dec(CB). The matrix is graph GAAnd graph GBIntersection of middle edges, i.e. EI=EA∩EB. At this time, Alice has the intersection V of the points in the two imagesIIntersection E with edges in both figuresIThat is, Alice obtains the intersection G of the two graphsI=(VI,EI)=GA∩GB

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 participants: alice and Bob; alice is the request initiator of the protocol, which holds private graph data GAPrivate graph data GAThe number of the middle points is m; bob is the request responder of the protocol, which holds private graph data GBPrivate graph data GBThe number of the midpoints is n; private graph data GAAnd private graph data GBIs a directed graph in graph theory; 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 according to the private graph data G held by AliceASet of midpoints VAGenerating polynomials P (x), P (x) all roots are VAAll 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 holds the private graph data G according to the homomorphism of the Paillier encryption systemBAll points b iniAs input for P (x); wherein: bi∈VB,i=1,2,…,n;
3.2) calculating the solution of P (x) through the received ciphertext to obtain ei=P(bi) (ii) a Then for all eiCalculating ri
Figure FDA0002381655540000011
Wherein: gamma is a random number that is a function of,
Figure FDA0002381655540000012
is a Paillier homomorphic multiplication;
Figure FDA0002381655540000013
is Paillier homomorphic addition;
3.3) finally all riSending the data to Alice;
in the step 4, the step of,
4.1) Alice decrypts all received riAnd private graph data G held by the sameASet of midpoints VACarrying out comparison;
if Dec (r)i) At VAIn which the same element is present, namely Dec (r)i)=ajThen a isjIs private graph data G held by AliceAAnd private graph data G held by BobBA common point;
4.2) after comparison all the Dec (r) are finishedi) Then, Alice obtains the private graph data G held by AliceAAnd private graph data G held by BobBIntersection of midpoints VI
VI=VA∩VB
4.3) finally Alice will be VISending the data to Bob;
in the step 5, the step of the method is that,
5.1) Alice uses VIAnd EACalculating a new adjacency matrix E'A;E′AIs EAA part of (E), EAContaining private graph data GAOf all points, and E'AContaining only VIThe adjacency relationship between points in (1); vIThe number of the middle points is t, E'AIs a t x t square matrix;
5.2) Alice encrypts E 'using the Paillier encryption System'AAll elements in the ciphertext matrix C are obtainedAAnd the cipher text matrix CASending the data to Bob;
in the step 6, the step of,
6.1) Bob by Using VIAnd EBCalculating a new adjacency matrix E'B;E′BIs EBA part of (E), EBContaining private graph data GBOf all points, and E'BContaining only VIThe adjacency relationship between points in (1); vIThe number of the middle points is t, E'BIs a t x t square matrix; 6.2) thereafter E'BAll elements in (1) and ciphertext matrix CAThe elements at the same position in the vector are subjected to Paillier homomorphic multiplication, namely calculation
Figure FDA0002381655540000021
Wherein i is not less than 1, j is not less than t, E'B[i,j]Represents matrix E'BValue of row i and column j in the middle, CA[i,j]Representation matrix CAObtaining a ciphertext matrix C by the value of the ith row and the jth column in the middleB
6.3) finally mixing CBSending the data to Alice;
step 7, Alice decrypts C by using Paillier's private key skBAnd obtaining the private graph data G held by AliceAAnd private graph data G held by BobBIntersection of the middle edges EI(ii) a At the same time Alice has obtained VIAnd EII.e. number of private pictures that Alice holdsAccording to GAAnd private graph data G held by BobBOf (c) intersection GI
The method comprises the following steps: enc () is the Paillier encryption algorithm; dec () is the Paillier decryption algorithm; vAIs private graph data G held by AliceAA set of midpoints; vBIs private graph data G held by BobBA set of midpoints; eAIs private graph data G held by AliceAA set of medium edges; eBIs private graph data G held by BobBA set of medium edges.
2. The privacy preserving graph data intersection computation method of claim 1, wherein: the method for Alice to generate pk and sk of the Paillier encryption system 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 is executed, obtaining a public key pk and a private key sk of the Paillier encryption system by Alice; alice saves the secret key sk in secret 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 holds the private graph data G according to the private graph data GASet of midpoints VAThe method for generating the polynomial P (x) is as follows:
first, Alice holds the private graph data GAEach point in (b) is represented as a unique positive integer and the positive integers are arranged in ascending order to form a set VAI.e. VA={a1,a2,...,am};
Then, Alice follows VAGenerating a polynomial P (x) with all roots of P (x) being VAAll elements in (a), i.e. p (x) ═ a1)(x-a2)...(x-am);
By operation, P (x) is expressed as
Figure FDA0002381655540000031
α thereiniExpress a plurality ofCoefficients for each term of the term; p (x) satisfies the following definition: if and only if x ∈ VAWhen, p (x) is 0;
next, Alice encrypts all coefficients of polynomial p (x) using Paillier encryption algorithm Enc (), to obtain ci=Enc(αi)
Wherein: the value range of i is more than or equal to 0 and less than or equal to m;
then Alice groups all the ciphertexts into a set, C ═ C0,c1,...,cm};
And finally, sending the ciphertext set C to Bob by Alice.
4. A privacy preserving graph data intersection computation method according to claim 1 or 2, characterized by: the method in the step 3 comprises the following steps:
first, Bob holds the private graph data GBEach point in (a) is represented as a unique integer and the integers are arranged in ascending order to form a set VBI.e. VB={b1,b2,...,bn};
Then, Bob will VBAs input, calculating the value of polynomial p (x) from the received ciphertext set C; in the calculation, Paillier addition homomorphic operation is required to be used
Figure FDA0002381655540000041
And multiplication homomorphic operation
Figure FDA0002381655540000042
The calculation method is
Figure FDA0002381655540000043
Wherein b isj∈VB(ii) a Bob converts V by this methodBAll the elements in the polynomial are used as input to calculate, and finally n polynomial calculation results e are obtained1,e2,...,en(ii) a Calculating the result e for each polynomialjBob selects a random integer gamma and calculates
Figure FDA0002381655540000044
Then Bob will all rjComposition set R ═ { R1,r2,...,rn};
Finally, 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:
first, Bob holds the private graph data GBEach point in (a) is represented as a unique integer and the integers are arranged in ascending order to form a set VBI.e. VB={b1,b2,...,bn};
Then, Bob will VBAs input, calculating the value of polynomial p (x) from the received ciphertext set C; in the calculation, Paillier addition homomorphic operation is required to be used
Figure FDA0002381655540000045
And multiplication homomorphic operation
Figure FDA0002381655540000046
The calculation method is
Figure FDA0002381655540000047
Wherein b isj∈VB(ii) a Bob converts V by this methodBAll the elements in the polynomial are used as input to calculate, and finally n polynomial calculation results e are obtained1,e2,...,en
Calculating the result e for each polynomialjBob selects a random integer gamma and calculates
Figure FDA0002381655540000048
Then Bob will all rjComposition set R ═ { R1,r2,...,rn};
Finally, Bob sends the set R to Alice.
6. The privacy preserving graph data intersection computation method of claim 1, 2 or 5, wherein: the method in the step 4 comprises the following steps:
firstly, Alice decrypts the received ciphertext set R by using a Paillier decryption algorithm to obtain Ri′=Dec(ri) Wherein i is more than or equal to 1 and less than or equal to n;
then, for all ri', Alice detection riWhether or not at VAThe same values are present;
if present, indicates ri' is private graph data GAAnd private graph data GBA common point; if not, because Bob is calculating riWhen adding a random number ri' will be a random value, so Alice cannot be driven from ri' of judging any data about the private graph GBThe information of (a); alice sends all detected private graph data GAAnd private graph data GBCommon points form a set VI={v1,v2,...,vt}; the set is private graph data GAAnd private graph data GBIntersection of midpoints, i.e. VI=VA∩VB
Finally, Alice will VISent 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:
first, Alice stores the private graph data G held by AliceAAll edges in the graph are represented as an adjacency matrix EA(ii) a According to private graph data GASet of midpoints VA={a1,a2,...,am},EAIs a matrix of m rows and m columns:
Figure FDA0002381655540000051
the values in the matrix represent the adjacency of two points in the graph, i.e. ai,jRepresents point aiAnd point ajIn private graph data GAWherein 1 is not more than i, j is not more than m, if any, ai,j1 is ═ 1; if not, then ai,j=0;
Then, Alice follows the private graph data GAAnd private graph data GBIntersection of midpoints VI={v1,v2,...,vt}, construct a new adjacency matrix E'A,E′AContains only VIPoint in private graph data GAThe adjacent relation in (1); e'AIs a matrix of t rows and t columns:
Figure FDA0002381655540000052
a′i,jrepresenting point viAnd point vjIn private graph data GAWherein 1 is not more than i, j is not more than t, if any, a'i,j1 is ═ 1; if not present, then a'i,j=0;
Next, Alice encrypts E 'using the Paillier encryption algorithm'AAll the elements in the data are encrypted to obtain a ciphertext matrix CA
Figure FDA0002381655540000061
Finally, Alice combines the ciphertext matrix CASent 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:
first, Bob holds the private graph data GBAll edges in the graph are represented as an adjacency matrix EB(ii) a According to private graph data GBSet of midpoints VB={b1,b2,...,bn},EBIs one n row nMatrix of columns:
Figure FDA0002381655540000062
the values in the matrix represent the adjacency of two points in the graph, bi,jRepresents point biAnd point bjIn private graph data GBWherein 1 is not more than i, j is not more than n, if any, bi,j1 is ═ 1; if not, then bi,j=0;
Then, Bob follows the private graph data GAAnd private graph data GBIntersection of midpoints VI={v1,v2,...,vt}, construct a new adjacency matrix E'B,E′BContains only VIPoint in private graph data GBThe adjacent relation in (1); e'BIs a matrix of t rows and t columns:
Figure FDA0002381655540000063
b′i,jrepresenting point viAnd point vjIn private graph data GBWherein 1 is not more than i, j is not more than t, if any, b'i,j1 is ═ 1; if not, then b'i,j=0;
Next, Bob multiplies E 'homomorphically using Paillier'BElement of (1) and received ciphertext matrix CAThe corresponding elements in the cipher text matrix C are homomorphic multiplied to obtain a new cipher text matrix CB
Figure FDA0002381655540000071
Finally, Bob combines the ciphertext matrix CBAnd sending the data to 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 CN108055118A (en) 2018-05-18
CN108055118B true 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)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
CN109344640B (en) * 2018-12-20 2021-08-06 东北大学 Subgraph matching method based on homomorphic encryption and polynomial computation
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
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
CN111641603B (en) * 2020-05-15 2022-07-01 北京青牛技术股份有限公司 Privacy set intersection data interaction method and system based on homomorphic encryption
CN111475854B (en) * 2020-06-24 2020-10-20 支付宝(杭州)信息技术有限公司 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

Citations (6)

* 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
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

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10061715B2 (en) * 2015-06-02 2018-08-28 Hong Kong Baptist University Structure-preserving subgraph queries

Patent Citations (6)

* 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
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
Secure Collaborative Publicly;QIANG WANG等;《IEEE Access》;20170222;第2479-2488页 *

Also Published As

Publication number Publication date
CN108055118A (en) 2018-05-18

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
US9571268B2 (en) Method and system for homomorphicly randomizing an input
Han et al. Efficient and robust attribute-based encryption supporting access policy hiding in Internet of Things
Yu et al. Verifiable outsourced computation over encrypted data
CN114175569A (en) System and method for adding and comparing integers encrypted with quasigroup operations in AES counter mode encryption
CN110851845A (en) Light-weight single-user multi-data all-homomorphic data packaging method
Guo et al. Enabling privacy-preserving geographic range query in fog-enhanced IoT services
Zhang et al. Practical and efficient attribute-based encryption with constant-size ciphertexts in outsourced verifiable computation
Ying et al. Reliable policy updating under efficient policy hidden fine-grained access control framework for cloud data sharing
Cui et al. An efficient attribute-based multi-keyword search scheme in encrypted keyword generation
De Santis et al. Enforcing the security of a time-bound hierarchical key assignment scheme
Liu et al. A linear algebra attack on the non-commuting cryptography class based on matrix power function
He et al. Public auditing for encrypted data with client-side deduplication in cloud storage
Jolfaei et al. EO-PSI-CA: Efficient outsourced private set intersection cardinality
Morales-Sandoval et al. A secure scheme for storage, retrieval, and sharing of digital documents in cloud computing using attribute-based encryption on mobile devices
Cui et al. Towards Multi-User, Secure, and Verifiable $ k $ NN Query in Cloud Database
Chaudhari et al. Survey on securing IoT data using homomorphic encryption scheme
Li et al. Obfuscating encrypted threshold signature algorithm and its applications in cloud computing
Chen et al. A new efficient privacy-preserving data publish-subscribe scheme
CN112737764A (en) Lightweight multi-user multi-data all-homomorphic data encryption packaging method
Wang et al. A Blockchain-Based fine-grained access data control scheme with attribute change function
Bhatia et al. Elliptic Curve Layered: A Secure Polyalphabetic Vignere Cryptographic Algorithm for Textual Data
Yang et al. A privacy preserving and fine-grained access control scheme in DaaS based on efficient DSP re-encryption
Kumar et al. New password embedding technique using elliptic curve over finite field

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