CN116821936A - Method and device for determining data intersection - Google Patents
Method and device for determining data intersection Download PDFInfo
- Publication number
- CN116821936A CN116821936A CN202310802757.1A CN202310802757A CN116821936A CN 116821936 A CN116821936 A CN 116821936A CN 202310802757 A CN202310802757 A CN 202310802757A CN 116821936 A CN116821936 A CN 116821936A
- Authority
- CN
- China
- Prior art keywords
- data
- secret
- intersection
- random number
- secret data
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000012545 processing Methods 0.000 claims description 29
- 238000004891 communication Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 12
- 238000003860 storage Methods 0.000 claims description 9
- 238000013461 design Methods 0.000 description 21
- 238000010586 diagram Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000005336 cracking Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
Classifications
-
- 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/6245—Protecting personal data, e.g. for financial or medical purposes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
The application discloses a method and a device for determining a data intersection, wherein the method comprises the step that first equipment can obtain second secret state data according to a first random number and first secret state data. Wherein the first secret data is obtained from the second random number and the data of the second device. The first device may further obtain first intersection data according to the second secret data and the third secret data, and determine second intersection data according to the first intersection data, where the second intersection data is an intersection of the data of the first device and the data of the second device. The method can ensure the safety of the rest privacy data while realizing the data intersection determination of the two parties.
Description
Technical Field
The present application relates to the field of information security technologies, and in particular, to a method and an apparatus for determining a data intersection.
Background
With the development of information security technology, people pay more attention to protecting private data. Privacy preserving set intersections (Private Set Intersection, PSI) refers to the fact that two parties holding data can calculate the intersection portion of the two party data sets without exposing any data set information beyond the intersection. With the continuous development of the intersection technology of privacy protection sets, people have higher requirements on the security of private data. Therefore, how to ensure the security of the rest of the private data while determining the intersection part of the two-party data sets becomes a key point of the development of the technology.
Disclosure of Invention
The embodiment of the application provides a method and a device for determining data intersection, which are used for ensuring the safety of other private data while realizing the determination of the data intersection of two parties.
In a first aspect, an embodiment of the present application provides a method for determining a data intersection, including: the first device determines second secret data based on the first random number and the first secret data. The first random number corresponds to the first device, the first secret state data is determined according to the second random number and the data of the second device, and the second random number corresponds to the second device. The first device receives third secret data from the second device. Wherein the third secret is determined from the second random number and fourth secret, the fourth secret being determined from the first random number and the data of the first device. The first device determines first intersection data from the third secret data based on the second secret data. The first device determines second intersection data from the data of the first device based on the location of the first intersection data in the third secret data.
By adopting the method, the security of the rest privacy data can be ensured while the data intersection of the two parties is determined.
In one possible design, a first device receives first secret data from a second device.
In one possible design, the first device scalar multiplies the first random number with the first secret data to obtain the second secret data.
In one possible design, the first device determines a sequence number of the first intersection data in the third secret data based on a position of the first intersection data in the third secret data. The first device determines second intersection data from the data of the first device according to the sequence number.
By adopting the design, the first device can obtain the intersection of the plaintext data according to the intersection of the encrypted data, so that the intersection of the privacy data can be obtained under the condition that the privacy data is not revealed.
In one possible design, the first device encrypts the data of the first device by a hash algorithm to obtain the fifth encrypted data. The first device multiplies the fifth secret data by the first random number, and then performs scalar multiplication with a base point of the elliptic curve public key cipher to obtain fourth secret data.
By adopting the design, the data of the first equipment is encrypted for the second time, so that the safety of the data is ensured.
In one possible design, the first device sends fourth secret data to the second device.
In a second aspect, an embodiment of the present application provides a data intersection determining apparatus, including:
and the processing module is used for determining second secret state data according to the first random number and the first secret state data. The first random number corresponds to the first device, the first secret state data is determined according to the second random number and the data of the second device, and the second random number corresponds to the second device. And the communication module is used for receiving the third secret state data from the second device. Wherein the third secret is determined from the second random number and fourth secret, the fourth secret being determined from the first random number and the data of the first device. And the processing module is also used for determining the first intersection data from the third secret data according to the second secret data. The processing module is further used for determining second intersection data from the data of the first device according to the position of the first intersection data in the third secret state data.
In one possible design, the communication module is further configured to receive first secret data from the second device.
In one possible design, the processing module is specifically configured to scalar multiply the first random number with the first secret data to obtain the second secret data.
In one possible design, the processing module is specifically configured to determine the sequence number of the first intersection data in the third secret data according to the position of the first intersection data in the third secret data. Second intersection data is determined from the data of the first device according to the sequence number.
In one possible design, the processing module is specifically configured to encrypt, by using a hash algorithm, the data of the first device to obtain fifth secret data; multiplying the fifth secret data with the first random number, and then scalar multiplying the fifth secret data with the base point of the elliptic curve public key cipher to obtain fourth secret data.
In one possible design, the communication module is further configured to send fourth secret data to the second device.
In a third aspect, embodiments of the present application further provide a computer readable storage medium, in which a computer program is stored, which when executed by a processor, implements the method of the first and second aspects and any one of the designs thereof.
In a fourth aspect, embodiments of the present application also provide an electronic device, including a memory and a processor, where the memory stores a computer program executable on the processor, and when the computer program is executed by the processor, causes the processor to implement the methods of the first aspect and the second aspect and any one of the designs thereof.
The technical effects of the second aspect to the fourth aspect and any one of the designs thereof may be referred to as the technical effects of the corresponding designs in the first aspect, and will not be described herein.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings that are needed in the description of the embodiments will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present application, and other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
FIG. 1 is a flow chart of a method for determining a data intersection according to an embodiment of the present application;
fig. 2 is a schematic structural diagram of a data intersection determining device according to an embodiment of the present application;
fig. 3 is a schematic structural diagram of an electronic device according to an embodiment of the present application.
Detailed Description
For the purpose of promoting an understanding of the principles and advantages of the application, reference will now be made in detail to the drawings, in which embodiments of the application are illustrated, some but not all of which are illustrated. All other embodiments, which can be made by those skilled in the art based on the embodiments of the application without making any inventive effort, are intended to be within the scope of the application.
The method of determining the intersection of privacy preserving sets is described below in connection with the prior art.
In the prior art, a scheme for determining the intersection of privacy protection sets is generally that both parties of a protocol adopt a pre-agreed cryptography algorithm (such as a hash algorithm), encrypt respective data to obtain ciphertext, and send the ciphertext to the other party. Further, the two parties can determine intersection data in the two party data according to intersection data in the secret of the two parties. Although the method can be used for determining the intersection part of the data sets of the two parties, as the two parties adopt the same cryptography algorithm, if the input fields of the data of the two parties are smaller, one party can obtain all private data of the other party in a violent cracking mode, so that privacy leakage is caused, and potential data safety hazards are generated. Therefore, the scheme of determining the intersection of the privacy protection sets in the prior art cannot ensure the security of the rest of the privacy data while determining the intersection part of the data sets of the two parties.
In order to solve the technical defects, the application provides a method and a device for determining a data intersection. In the method, the first device may obtain second secret data according to the first random number and the first secret data. Wherein the first secret data is obtained from the second random number and the data of the second device. Optionally, the second device may also obtain third secret data according to the second random number and the fourth secret data. Wherein the fourth secret is obtained from the first random number and the data of the first device. The first device may further obtain first intersection data according to the second secret data and the third secret data, and determine second intersection data according to the first intersection data, where the second intersection data is an intersection of the data of the first device and the data of the second device. That is, the second secret data is obtained by encrypting the first secret data according to the first random number, and since the first secret data is obtained by encrypting the second device data by the second random number and the first device does not know the second random number, the first device cannot obtain all the second device data by brute force cracking, and similarly, the third secret data is obtained by encrypting the fourth secret data according to the second random number, and since the fourth secret data is obtained by encrypting the first device data by the first random number and the second device does not know the first random number, the second device cannot obtain all the first device data by brute force cracking. Therefore, the method can ensure the safety of the rest privacy data while realizing the data intersection determination of the two parties. In addition, the first device and the second device may be computer systems, or may be apparatuses, such as processors or processing modules, in a data device for performing the methods shown in the present application, where the present application is not particularly limited. The first device and the second device can communicate in a wired and/or wireless mode to realize information and/or data interaction.
Fig. 1 is a flow chart of a method for determining a data intersection according to an embodiment of the present application. Taking the first device as an execution body as an example, the process may include the following steps:
s101, the first device determines second secret data according to the first random number and the first secret data. The first random number corresponds to the first device, the first secret state data is determined according to the second random number and the data of the second device, and the second random number corresponds to the second device.
Specifically, the first device holds its own random number, i.e., the first random number. The data of the first device is a private data set of the first device. Similarly, the second device also holds its own random number, i.e., the second random number. The data of the second device is a private data set of the second device.
The present application may further include a third device that generates the management device for the random number. The third device may generate the first random number and the second random number. The third device may also send the first random number to the first device. Accordingly, the first device receives the first random number from the third device. Similarly, the third device may also send the second random number to the second device. Accordingly, the second device accepts the second random number from the third device.
Illustratively, the first device may obtain the second secret data by:
in one or more embodiments, the first device may further encrypt the data of the first device through a hash algorithm to obtain fifth secret data. The first device multiplies the fifth secret data by the first random number, and then performs scalar multiplication with a base point of the elliptic curve public key cipher to obtain fourth secret data. Similarly, the second device may encrypt the data of the second device by using a hash algorithm to obtain sixth secret data. The second device multiplies the sixth secret data by the second random number, and then performs scalar multiplication with the base point of the elliptic curve public key cipher to obtain the first secret data.
In one or more embodiments, the first device may also receive the first secret data from the second device before the first device determines the second secret data from the first random number and the first secret data.
Specifically, the first secret data may be first secret data sent by the second device to the first device according to a first request sent by the first device or other third-party devices (such as expansion devices). Wherein the first request may be a request for data intersection. Accordingly, the first device receives the first secret data from the second device.
In one or more embodiments, the first device may scalar multiply the first random number with the first secret data to obtain the second secret data.
For example, the first encrypted data is all of the data for the second device according to a hash encryption algorithmAnd encrypting the data to obtain sixth secret state data. And multiplying the sixth secret data with the second random number, and scalar multiplying the sixth secret data with the base point of the elliptic curve public key cipher to obtain the first secret data. The data of the second device may be represented as x= { x 1 ,x 2 ,x 3 ,…,x n The first secret data may be represented as u= { u } 1 ,u 2 ,u 3 ,…,u n The second random number may be denoted as d b The base point of the elliptic curve public key cryptography may be denoted as G, and the data of the second device, the first secret data, the second random number, and the base point of the elliptic curve public key cryptography satisfy:
u i =[H(x i )*d b ]G;
wherein H (x) represents a hashing algorithm, [ p ]]Q represents that p is scalar multiplied with Q, i=1, 2,3, …, n. u (u) i Represents the ith data in u, x i Represents the ith data in x. i may represent a sequence number of one data in the data set.
The first random number may be denoted as d a The second secret data may be represented as u= { U 1 ,U 2 ,U 3 ,…,U n The first random number, the first secret data and the second secret data satisfy:
U i =[d a ]u i ;
where i=1, 2,3, …, n. U (U) i Representing the ith data in the second encrypted data.
In one or more embodiments, the first device may also send fourth secret data to the second device.
Specifically, the first device may send fourth secret data to the second device according to a second request sent by the second device or other third party devices (such as the expansion device). Wherein the second request may be a request for data intersection. Accordingly, the second device may receive fourth secret data from the first device.
S102, the second device sends third secret state data to the first device. Accordingly, the first device receives third secret data from the second device.
Wherein the third secret is obtained from the second random number and fourth secret, the fourth secret being determined from the first random number and the data of the first device.
It is understood that the timing of the step S101 and the step S102 in the present application is not limited specifically, and the step S101 may be performed first, the step S102 may be performed first, or the step S101 and the step S102 may be performed simultaneously. In addition, the fourth secret data is sent to the second device before step S102 is performed. The manner in which the second device obtains the fourth secret data may refer to the manner in which the first device obtains the first secret data, which is not described herein.
In one or more embodiments, the second device may obtain the third secret data in accordance with the manner in which the first device obtained the second secret data. The specific manner of obtaining the third secret data may refer to step S101, which is not described herein.
S103, the first device determines first intersection data according to the second secret data and the third secret data. The first intersection data is an intersection of the second secret data and the third secret data.
Specifically, the first device determines an intersection of the second secret data and the third secret data, thereby determining first intersection data. Wherein the first intersection data is data commonly owned by the second secret data and the third secret data. For example, the second secret data is {123,456} and the third secret data is {123,789}, then the first intersection data is {123}, i.e., the common data is "123".
The second secret data may be represented as u= { U 1 ,U 2 ,U 3 ,…,U n The third secret data may be represented as v= { V 1 ,V 2 ,V 3 ,…,V m The first intersection data may be represented as W, and the second, third, and first intersection data satisfy: w= { U i },U i E U, where U i =V j ∈U∩V,V j E V, i=1, 2,3, …, n, j=1, 2,3, …, m, n are positive integers. It will be appreciated that U i Represents the ith data in U, so i can represent the location of the data in U; v (V) j Represents the j-th data in V, so j can represent the position of the data in V.
For example, u= {1,2,3,4,5}, i.e., U 1 =1,U 2 =2,U 3 =3,U 4 =4,U 5 =5, v= {4,5,6}, i.e. V 1 =4,V 2 =5,V 3 =6, then w= { U 4 =V 1 =4,U 5 =V 2 =5, i.e. the common data is {4,5}.
S104, the first device determines second intersection data from the data of the first device according to the position of the first intersection data in the third secret state data. Wherein the second intersection data is an intersection of the data of the first device and the data of the second device.
Specifically, the second intersection data is data commonly owned by the data of the first device and the data of the second device. The first device may determine the second intersection data based on the location of the first intersection data in the third secret data. Wherein the location of the first intersection data in the third encrypted data is the same as the location of the second intersection data in the data of the first device. The same means that the ith data in the third secret data is obtained according to the ith data in the data of the first device, so that the ith data in the third secret data belongs to the first intersection data, and the ith data in the data of the first device belongs to the second intersection data. Specifically, the first device determines a sequence number of the first intersection data in the third secret data. The first device determines the second intersection data from the data of the first device according to a sequence number, wherein the sequence number can be used for indicating the position of the first intersection data in the third secret data. For example, the first secret data is U i ∈U={U 1 ,U 2 ,U 3 I is the serial number of the data in the third secret state data, and the data of the first device is { x } 1 ,x 2 ,x 3 I=1, 2,3. If the first intersection data is { U } 2 ,U 3 The position of the first intersection data in the third secret data may be noted as i=2, 3.
As a kind ofA possible example is that the position of the first intersection data in the third secret data is the same as the position of the second intersection data in the data of the first device. Still further, in the above example, at i=2, 3, and the data of the first device is x= { x 1 ,x 2 ,x 3 When the 2 nd and 3 rd data in x are determined to be the data in the second intersection data, i.e. the second intersection data is { x } 2 ,x 3 }。
Based on step S103 and step S104, the first device may obtain first intersection data by calculating an intersection of the second secret data and the third secret data, and then obtain an intersection of the data of the first device and the data of the second device according to the first intersection data. That is, the first device obtains the intersection of the data of the first device and the data of the second device by calculating the intersection of the second and third secret data. In addition, the second secret data is obtained according to the first random number and the first secret data, the first secret data is obtained according to the second random number and the data of the second device, and the first device does not know the information of the second random number, so that the first device cannot obtain the rest of the private data in the data of the second device according to the first secret data, and the security of the rest of the private data is guaranteed while the intersection part of the data sets of the two parties is determined.
In one or more embodiments, the second device may determine the third intersection data based on the manner in which the first device determines the second intersection data. Wherein the third intersection data is an intersection of the data of the first device and the data of the second device. Alternatively, the first device may send the second intersection data to the second device. Accordingly, the second device may receive second intersection data from the first device.
Based on the above and the same conception, the present application provides a data intersection determination device. As shown in fig. 2, the apparatus includes a communication module 201 and a processing module 202.
The processing module 202 is configured to determine the second secret data according to the first random number and the first secret data. The first random number corresponds to the first device, the first secret state data is determined according to the second random number and the data of the second device, and the second random number corresponds to the second device. The communication module 201 is configured to receive third secret data from the second device. Wherein the third secret is determined from the second random number and fourth secret, the fourth secret being determined from the first random number and the data of the first device. The processing module 202 is further configured to determine the first intersection data from the third secret data according to the second secret data. The first intersection data is an intersection of the third secret data and the second secret data. The processing module 202 is further configured to determine the second intersection data from the data of the first device according to the location of the first intersection data in the third secret data. Wherein the second intersection data is an intersection of the data of the first device and the data of the second device.
In one possible design, the communication module 201 is also configured to receive first secret data from the second device.
In one possible design, the processing module 202 is specifically configured to scalar multiply the first random number with the first secret data to obtain the second secret data.
In one possible design, the processing module 202 is specifically configured to determine the sequence number of the first intersection data in the third secret data according to the position of the first intersection data in the third secret data. Second intersection data is determined from the data of the first device according to the sequence number.
In one possible design, the processing module 202 is specifically configured to encrypt, by using a hash algorithm, the data of the first device to obtain fifth secret data; multiplying the fifth secret data with the first random number, and then scalar multiplying the fifth secret data with the base point of the elliptic curve public key cipher to obtain fourth secret data.
In one possible design, the communication module 201 is further configured to send fourth secret data to the second device.
Fig. 3 shows a schematic structural diagram of an electronic device according to an embodiment of the present application.
The electronic device in an embodiment of the application may comprise a processor 301. Processor 301 is the control center of the device and may connect the various parts of the device using various interfaces and lines by running or executing instructions stored in memory 303 and invoking data stored in memory 303. Alternatively, the processor 301 may include one or more processing units, and the processor 301 may integrate an application processor and a modem processor, wherein the application processor primarily processes an operating system and application programs, etc., and the modem processor primarily processes wireless communications. It will be appreciated that the modem processor described above may not be integrated into the processor 301. In some embodiments, processor 301 and memory 303 may be implemented on the same chip, or they may be implemented separately on separate chips in some embodiments.
The processor 301 may be a general purpose processor such as a central processing unit (Central Processing Unit, CPU), digital signal processor, application specific integrated circuit, field programmable gate array or other programmable logic device, discrete gate or transistor logic device, discrete hardware components, which may implement or perform the methods, steps and logic blocks disclosed in embodiments of the application. The general purpose processor may be a microprocessor or any conventional processor or the like. The steps of the method disclosed in connection with the embodiments of the present application may be performed directly by a hardware processor or by a combination of hardware and software modules in the processor.
In an embodiment of the present application, the memory 303 stores instructions executable by the at least one processor 301, and the at least one processor 301, by executing the instructions stored in the memory 303, may be used to perform the method steps disclosed in the embodiment of the present application.
The memory 303 is used as a non-volatile computer-readable storage medium for storing non-volatile software programs, non-volatile computer-executable programs, and modules. The Memory 303 may include at least one type of storage medium, and may include, for example, flash Memory, hard disk, multimedia card, card Memory, random access Memory (Random Access Memory, RAM), static random access Memory (Static Random Access Memory, SRAM), programmable Read-Only Memory (Programmable Read Only Memory, PROM), read-Only Memory (ROM), charged erasable programmable Read-Only Memory (Electrically Erasable Programmable Read-Only Memory, EEPROM), magnetic Memory, magnetic disk, optical disk, and the like. Memory 303 is any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer, but is not limited to such. The memory 303 in embodiments of the present application may also be circuitry or any other device capable of implementing a memory function for storing program instructions and/or data.
In the embodiment of the application, the device may further include a communication interface 302, and the electronic device may transmit data through the communication interface 302.
Alternatively, the processing module 202 and/or the communication module 201 shown in fig. 2 may be implemented by the processor 301 (or the processor 301 and the communication interface 302) shown in fig. 3, that is, the actions of the processing module 202 and/or the communication module 201 may be performed by the processor 301 (or the processor 301 and the communication interface 302).
Based on the same inventive concept, embodiments of the present application also provide a computer-readable storage medium in which instructions may be stored, which when run on a computer, cause the computer to perform the operational steps provided by the above-described method embodiments. The computer readable storage medium may be the memory 303 shown in fig. 3.
It will be appreciated by those skilled in the art that embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to the application. It will be understood that each flow and/or block of the flowchart illustrations and/or block diagrams, and combinations of flows and/or blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
It will be apparent to those skilled in the art that various modifications and variations can be made to the present application without departing from the spirit or scope of the application. Thus, it is intended that the present application also include such modifications and alterations insofar as they come within the scope of the appended claims or the equivalents thereof.
Claims (10)
1. A method of determining a data intersection, the method comprising:
the method comprises the steps that first equipment determines second secret state data according to a first random number and first secret state data, wherein the first random number corresponds to the first equipment, the first secret state data is determined according to second random number and data of second equipment, and the second random number corresponds to the second equipment;
the first device receives third secret data from the second device, the third secret data being determined from the second random number and fourth secret data, the fourth secret data being determined from the first random number and the data of the first device;
the first device determines first intersection data from the third secret data according to the second secret data;
the first device determines second intersection data from the data of the first device according to the position of the first intersection data in the third secret state data.
2. The method of claim 1, wherein the first device determining second secret data from the first random number and the first secret data comprises:
the first device performs scalar multiplication on the first random number and the first secret data to obtain the second secret data.
3. The method of claim 1, wherein the first device determining second intersection data from the data of the first device based on the location of the first intersection data in the third encrypted data, comprises:
the first device determines a sequence number of the first intersection data in the third secret data according to the position of the first intersection data in the third secret data;
the first device determines the second intersection data from the data of the first device according to the sequence number.
4. The method of claim 1, wherein the fourth secret data is determined from the first random number and the data of the first device, comprising:
the first device encrypts data of the first device through a hash algorithm to obtain fifth secret state data;
the first device multiplies the fifth secret data by the first random number, and then scalar multiplies the fifth secret data by a base point of elliptic curve public key cryptography to obtain the fourth secret data.
5. A data intersection determination apparatus, the apparatus comprising:
the processing module is used for determining second secret state data according to a first random number and first secret state data, the first random number corresponds to the first equipment, the first secret state data is determined according to the second random number and the data of the second equipment, and the second random number corresponds to the second equipment;
a communication module configured to receive third secret data from the second device, the third secret data being determined according to the second random number and fourth secret data, the fourth secret data being determined according to the first random number and the data of the first device;
the processing module is further configured to determine first intersection data from the third secret data according to the second secret data;
the processing module is further configured to determine second intersection data from the data of the first device according to the position of the first intersection data in the third secret data.
6. The apparatus of claim 5, wherein the processing module is specifically configured to:
and scalar multiplication is carried out on the first random number and the first secret state data to obtain the second secret state data.
7. The apparatus of claim 5, wherein the processing module is specifically configured to:
determining a sequence number of the first intersection data in the third secret data according to the position of the first intersection data in the third secret data;
and determining the second intersection data from the data of the first device according to the sequence number.
8. The apparatus of claim 5, wherein the processing module is specifically configured to:
encrypting the data of the first equipment through a hash algorithm to obtain fifth secret state data;
multiplying the fifth secret data with the first random number, and then scalar multiplying the fifth secret data with a base point of an elliptic curve public key cipher to obtain the fourth secret data.
9. An electronic device comprising a processor for implementing the steps of the method according to any of claims 1-4 when executing a computer program stored in a memory.
10. A computer-readable storage medium, characterized in that it stores a computer program which, when executed by a processor, implements the steps of the method according to any of claims 1-4.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310802757.1A CN116821936A (en) | 2023-06-30 | 2023-06-30 | Method and device for determining data intersection |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310802757.1A CN116821936A (en) | 2023-06-30 | 2023-06-30 | Method and device for determining data intersection |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116821936A true CN116821936A (en) | 2023-09-29 |
Family
ID=88140933
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310802757.1A Pending CN116821936A (en) | 2023-06-30 | 2023-06-30 | Method and device for determining data intersection |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116821936A (en) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1768299A2 (en) * | 2005-09-22 | 2007-03-28 | Fujitsu Ltd. | Encryption method, cryptogram decoding method, encryptor, cryptogram decoder, transmission/reception system, and communication system |
CN111885079A (en) * | 2020-07-31 | 2020-11-03 | 支付宝(杭州)信息技术有限公司 | Multi-party combined data processing method and device for protecting data privacy |
CN113434888A (en) * | 2021-07-06 | 2021-09-24 | 建信金融科技有限责任公司 | Data sharing method, device, equipment and system |
CN114726542A (en) * | 2022-04-08 | 2022-07-08 | 中国再保险(集团)股份有限公司 | Data transmission method and device based on privacy intersection |
CN115001733A (en) * | 2022-04-15 | 2022-09-02 | 支付宝(杭州)信息技术有限公司 | Data determination method and device, storage medium and terminal |
WO2022247576A1 (en) * | 2021-05-26 | 2022-12-01 | 腾讯科技(深圳)有限公司 | Data processing method and apparatus, device, and computer-readable storage medium |
-
2023
- 2023-06-30 CN CN202310802757.1A patent/CN116821936A/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1768299A2 (en) * | 2005-09-22 | 2007-03-28 | Fujitsu Ltd. | Encryption method, cryptogram decoding method, encryptor, cryptogram decoder, transmission/reception system, and communication system |
CN111885079A (en) * | 2020-07-31 | 2020-11-03 | 支付宝(杭州)信息技术有限公司 | Multi-party combined data processing method and device for protecting data privacy |
WO2022247576A1 (en) * | 2021-05-26 | 2022-12-01 | 腾讯科技(深圳)有限公司 | Data processing method and apparatus, device, and computer-readable storage medium |
CN113434888A (en) * | 2021-07-06 | 2021-09-24 | 建信金融科技有限责任公司 | Data sharing method, device, equipment and system |
CN114726542A (en) * | 2022-04-08 | 2022-07-08 | 中国再保险(集团)股份有限公司 | Data transmission method and device based on privacy intersection |
CN115001733A (en) * | 2022-04-15 | 2022-09-02 | 支付宝(杭州)信息技术有限公司 | Data determination method and device, storage medium and terminal |
Non-Patent Citations (1)
Title |
---|
唐春明;林旭慧;: "隐私保护集合交集计算协议", 信息网络安全, no. 01 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2012355943B2 (en) | System and method for key management for issuer security domain using global platform specifications | |
CN109067528B (en) | Password operation method, work key creation method, password service platform and equipment | |
CN107294709A (en) | A kind of block chain data processing method, apparatus and system | |
CN105450620A (en) | Information processing method and device | |
EP3779792A1 (en) | Two-dimensional code generation method, data processing method, apparatus, and server | |
US11575501B2 (en) | Preserving aggregation using homomorphic encryption and trusted execution environment, secure against malicious aggregator | |
CN110061957A (en) | Data encryption, decryption method, user terminal, server and data management system | |
CN104052606A (en) | Digital signature, signature authentication device and digital signature method | |
CN109815747A (en) | Offline auditing method, electronic device and readable storage medium storing program for executing based on block chain | |
JP2022531593A (en) | Systems and methods for adding and comparing integers encrypted by quasigroup operations in AES counter mode encryption | |
CN111628863B (en) | Data signature method and device, electronic equipment and storage medium | |
CN112953974A (en) | Data collision method, device, equipment and computer readable storage medium | |
US11496287B2 (en) | Privacy preserving fully homomorphic encryption with circuit verification | |
JP6294882B2 (en) | Key storage device, key storage method, and program thereof | |
CN117171202A (en) | Data query method and device | |
CN109768969A (en) | Authority control method and internet-of-things terminal, electronic equipment | |
CN113810178B (en) | Key management method, device, system and storage medium | |
CN116821936A (en) | Method and device for determining data intersection | |
CN114389790A (en) | Secure multi-party computing method and device | |
CN113946855A (en) | Private data intersection method and system for transmitting trace data by one party | |
CN115361168B (en) | Data encryption method, device, equipment and medium | |
CN116599647B (en) | Information processing method, service node, blockchain network, and storage medium | |
CN115426134A (en) | Data encryption transmission method and device | |
US11201732B1 (en) | Private and public key exchange method preventing man-in-the-middle attack without electronic certificate and digital signature | |
CN116028969B (en) | Privacy calculation method based on data encryption technology |
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 |