Multi-party safe intersection solving method and device, equipment and storage medium
By using technologies such as encryption and Bloom filters in multi-party security intersection algorithms, the existing algorithms are solved inadequate efficiency and poor privacy protection in large-scale data processing, and efficient and secure multi-party data intersection is achieved.
Patent Information
- Application Number
- CN202411719118.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-26
- Publication Date
- 2025-03-21
AI Technical Summary
The existing multi-party security intersection algorithm has insufficient efficiency when processing large-scale data, resulting in long calculation time or excessive computing resources consumption, and at the same time, it is unable to effectively protect customer privacy, which is prone to leakage of sensitive data.
By obtaining the data set and key of the intersection side, encrypting the data ID, generating ciphertext, and gradually filtering and intersection processing through multiple rounds of encryption and Bloom filters to ensure data privacy and intersection accuracy.
It realizes efficient multi-party security interception while ensuring data privacy, improves the accuracy and security of data intersection, and avoids the problems of data leakage and excessive resource consumption.
Smart Images

Figure CN119670114A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of information security technology, and in particular to a multi-party secure intersection method, device, equipment and storage medium. Background Art
[0002] As users pay more attention to data privacy protection, while people enjoy the convenience of various businesses that rely on personal information, their awareness of and expectations for the protection of private data are also increasing. The protection of a lot of private data involves secure multi-party computing. Private Set Intersection (PSI) calculation is a specific application problem of secure multi-party computing, which not only has important theoretical significance but also has strong application value. For example, in the process of credit blacklist query, underwriting blacklist query and credit risk control modeling, the secure intersection function is essential.
[0003] At present, when there are multiple data providers who jointly provide blacklists, or when there are multiple data providers who provide features for risk control modeling, the multi-party secure intersection algorithms on the market are mostly cyclical pairwise intersections to achieve multi-party, which leads to the leakage of customer privacy intersection information in the non-total intersection part, and cannot provide sufficient privacy protection for commercial secrets and customer privacy, which is easy to cause the leakage of sensitive data and other adverse effects. Secondly, the multi-party secure intersection algorithm composed of pairwise cyclic intersections usually involves a large amount of data and complex calculation processes. There is a problem of insufficient efficiency when processing large-scale data, resulting in long calculation time or excessive consumption of computing resources.
[0004] Therefore, how to efficiently and securely perform multi-party intersection search while ensuring data privacy is an urgent problem to be solved. Summary of the invention
[0005] The main purpose of this application is to provide a multi-party secure intersection method, device, equipment and storage medium, aiming to ensure data security and privacy when multi-party data intersection is obtained.
[0006] In a first aspect, the present application provides a multi-party secure intersection method, which is applied to an intersection-seeking party. The multi-party secure intersection method comprises the following steps:
[0007] Acquire a first data set and a first key of the intersection-seeking party, and encrypt the data ID in the first data set according to the first key to obtain a first ciphertext;
[0008] Sending the first ciphertext to a first data provider, so that the first data provider encrypts the second ciphertext based on the first ciphertext to obtain a third ciphertext, where the second ciphertext is obtained by the first data provider by encrypting the second data set;
[0009] Obtaining the third ciphertext, and performing data intersection pre-screening on the first data set according to the third ciphertext and the first key to obtain a first candidate data set;
[0010] Acquire a second candidate data set sent by the first data provider, where the second candidate data set is an intersection of data of the first data provider and other data providers;
[0011] Data intersection processing is performed on the first candidate data set and the second candidate data set to obtain a target data set in which all data cubes exist.
[0012] In a second aspect, the present application provides a multi-party secure intersection method, which is applied to a first data provider, and the multi-party secure intersection method comprises the following steps:
[0013] Obtaining a second data set and a second key from the first data provider, and encrypting the data ID in the second data set according to the second key to obtain a second ciphertext;
[0014] Obtaining a first ciphertext sent by the intersection-seeking party, and determining a third ciphertext based on the first ciphertext and the second ciphertext;
[0015] Sending the third ciphertext to the intersection-seeking party, so that the intersection-seeking party determines a first candidate data set according to the third ciphertext;
[0016] Creating a first Bloom filter, and inputting the second ciphertext into the first Bloom filter to obtain a fourth ciphertext, splitting the fourth ciphertext based on a preset additive secret sharing rule to obtain a fifth ciphertext and a sixth ciphertext, and performing a bitwise AND operation on the fifth ciphertext and the sixth ciphertext to obtain the fourth ciphertext;
[0017] sending the second key and the sixth ciphertext to a second data provider, so that the second data provider determines the seventh ciphertext and the eighth ciphertext according to the second key, and determines a third candidate data set according to the sixth ciphertext and the eighth ciphertext;
[0018] obtaining a seventh ciphertext sent by the second data provider, and determining a fourth candidate data set according to the fifth ciphertext and the seventh ciphertext;
[0019] The fourth candidate data set is sent to the intersection-seeking party, so that the intersection-seeking party obtains a target data set in which all data entities exist according to the first candidate data set, the third candidate data set and the fourth candidate data set.
[0020] In a third aspect, the present application further provides a multi-party secure intersection finding device, the multi-party secure intersection finding device comprising an acquisition module, a generation module, a screening module, a sending module and an intersection processing module, wherein:
[0021] The acquisition module is used to acquire the first data set and the first key of the intersection seeking party;
[0022] The generating module is used to encrypt the data ID in the first data set according to the first key to obtain a first ciphertext;
[0023] The sending module is used to send the first ciphertext to a first data provider, so that the first data provider encrypts the second ciphertext based on the first ciphertext to obtain a third ciphertext, where the second ciphertext is obtained by the first data provider by encrypting the second data set;
[0024] The acquisition module is further used to acquire the third ciphertext;
[0025] The generating module is configured to perform data intersection pre-screening on the first data set according to the third ciphertext and the first key to obtain a first candidate data set;
[0026] The acquisition module is further used to acquire a second candidate data set sent by the first data provider, where the second candidate data set is an intersection of data between the first data provider and other data providers;
[0027] The intersection processing module is used to perform data intersection processing on the first candidate data set and the second candidate data set to obtain a target data set in which all data cubes exist.
[0028] In a fourth aspect, the present application also provides a computer device, comprising a processor, a memory, and a computer program stored in the memory and executable by the processor, wherein when the computer program is executed by the processor, the steps of the multi-party secure intersection method as described above are implemented.
[0029] In a fifth aspect, the present application further provides a computer-readable storage medium, on which a computer program is stored, wherein when the computer program is executed by a processor, the steps of the multi-party secure intersection method as described above are implemented.
[0030] The present application provides a multi-party secure intersection method, apparatus, device and storage medium. The present application obtains a first data set and a first key of the intersection-seeking party, and encrypts the data ID in the first data set according to the first key to obtain a first ciphertext; sends the first ciphertext to the first data provider, so that the first data provider encrypts the second ciphertext based on the first ciphertext to obtain a third ciphertext, where the second ciphertext is obtained by the first data provider based on the encryption of the second data set; obtains the third ciphertext, and performs data intersection pre-screening on the first data set according to the third ciphertext and the first key to obtain a first candidate data set; obtains a second candidate data set sent by the first data provider, where the second candidate data set is the data intersection of the first data provider and other data providers; performs data intersection processing on the first candidate data set and the second candidate data set to obtain a target data set that exists in all data parties. In the present application, the party seeking the intersection sends the first ciphertext of the data ID to the first data provider. The first data provider can accurately obtain the second candidate data set based on the first ciphertext and the data of other data providers. The party seeking the intersection performs data intersection processing on the first candidate data set and the second candidate data set to obtain the target data set that exists in all data parties. This not only ensures the data privacy of each data party, but also obtains the data intersection of multiple parties, greatly improving the accuracy and security of the data intersection. BRIEF DESCRIPTION OF THE DRAWINGS
[0031] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0032] Figure 1 A flowchart of a multi-party secure intersection method provided in an embodiment of the present application;
[0033] Figure 2 A flowchart of another multi-party secure intersection method provided in an embodiment of the present application;
[0034] Figure 3 A schematic block diagram of a multi-party secure intersection finding device provided in an embodiment of the present application;
[0035] Figure 4 A schematic block diagram of another multi-party secure intersection finding device provided in an embodiment of the present application;
[0036] Figure 5 A schematic block diagram of the structure of a computer device provided in an embodiment of the present application.
[0037] The realization of the purpose, functional features and advantages of this application will be further explained in conjunction with embodiments and with reference to the accompanying drawings. DETAILED DESCRIPTION
[0038] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0039] The flowcharts shown in the accompanying drawings are only examples and do not necessarily include all the contents and operations / steps, nor must they be executed in the order described. For example, some operations / steps may also be decomposed, combined or partially merged, so the actual execution order may change according to actual conditions.
[0040] The embodiments of the present application can acquire and process relevant data based on artificial intelligence technology. Among them, artificial intelligence (AI) is the theory, method, technology and application system that uses digital computers or machines controlled by digital computers to simulate, extend and expand human intelligence, perceive the environment, acquire knowledge and use knowledge to obtain the best results.
[0041] AI basic technologies generally include sensors, dedicated AI chips, cloud computing, distributed storage, big data processing technology, operation / interaction systems, mechatronics, etc. AI software technologies mainly include computer vision technology, robotics technology, biometrics technology, speech processing technology, natural language processing technology, and machine learning / deep learning.
[0042] As users pay more attention to data privacy protection, while people enjoy the convenience of various businesses that rely on personal information, their awareness of and expectations for the protection of private data are also increasing. The protection of a lot of private data involves secure multi-party computing. Private Set Intersection (PSI) calculation is a specific application problem of secure multi-party computing, which not only has important theoretical significance but also has strong application value. For example, in the process of credit blacklist query, underwriting blacklist query and credit risk control modeling, the secure intersection function is essential.
[0043] At present, when there are multiple data providers who jointly provide blacklists, or when there are multiple data providers who provide features for risk control modeling, the multi-party secure intersection algorithms on the market are mostly cyclical pairwise intersections to achieve multi-party, which leads to the leakage of customer privacy intersection information in the non-total intersection part, and cannot provide sufficient privacy protection for commercial secrets and customer privacy, which is easy to cause the leakage of sensitive data and other adverse effects. Secondly, the multi-party secure intersection algorithm composed of pairwise cyclic intersections usually involves a large amount of data and complex calculation processes. There is a problem of insufficient efficiency when processing large-scale data, resulting in long calculation time or excessive consumption of computing resources.
[0044] To solve the above-mentioned problems, the embodiments of the present application provide a multi-party secure intersection method, device, equipment and storage medium. Among them, the multi-party secure intersection method includes: obtaining the first data set and the first key of the intersection-seeking party, and encrypting the data ID in the first data set according to the first key to obtain the first ciphertext; sending the first ciphertext to the first data provider, so that the first data provider encrypts the second ciphertext based on the first ciphertext to obtain the third ciphertext, and the second ciphertext is obtained by the first data provider based on the encryption of the second data set; obtaining the third ciphertext, and performing data intersection pre-screening on the first data set according to the third ciphertext and the first key to obtain the first candidate data set; obtaining the second candidate data set sent by the first data provider, and the second candidate data set is the data intersection of the first data provider and other data providers; performing data intersection processing on the first candidate data set and the second candidate data set to obtain the target data set in which all data parties exist.
[0045] Among them, the multi-party secure intersection method can be applied to computer devices, and the computer devices can be electronic devices such as mobile phones, tablet computers, laptops, desktop computers, personal digital assistants and wearable devices.
[0046] In conjunction with the accompanying drawings, some embodiments of the present application are described in detail below. In the absence of conflict, the following embodiments and features in the embodiments can be combined with each other.
[0047] Please refer to Figure 1 , Figure 1 A flowchart of a multi-party secure intersection method provided in an embodiment of the present application.
[0048] like Figure 1 As shown, the multi-party secure intersection method includes steps S101 to S105.
[0049] Step S101: Obtain a first data set and a first key of the intersection-seeking party, and encrypt the data ID in the first data set according to the first key to obtain a first ciphertext.
[0050] Among them, the intersection-seeking party is the data party that needs to query the data intersection of multiple intersections, and the first data set is the data set stored by the intersection-seeking party. The data set can be set according to actual conditions, and the embodiment of the present invention does not make specific limitations on this. For example, the data set can be customer information on the credit blacklist, and the data set can also be customer information on the insurance blacklist, and so on.
[0051] It should be noted that the party seeking the intersection has a data set X, and the data set X includes n1 pieces of data.
[0052] In some embodiments, a preset first encryption algorithm is obtained; a key is generated for the data ID in the first data set based on the preset first encryption algorithm to obtain the first key. The preset first encryption algorithm can be selected according to actual conditions, and the embodiment of the present invention does not specifically limit this. For example, the preset first encryption algorithm can be an elliptic curve encryption algorithm, and the Curve25519 curve is used as the encryption curve. By encrypting the data ID with the preset first encryption algorithm, the first key can be accurately obtained.
[0053] In some embodiments, a preset second encryption algorithm is obtained; based on the preset second encryption algorithm and according to the first key, the data ID in the first data set is encrypted by elliptic curve to obtain the first ciphertext. The preset second encryption algorithm can be selected according to the actual situation, and the embodiment of the present invention does not specifically limit this. For example, the preset second encryption algorithm can be an elliptic curve encryption algorithm, and the encryption curve can be a hash algorithm, for example, the hash algorithm can be selected as the SHA256 hash algorithm. Based on the preset second encryption algorithm and according to the first key, the data ID in the first data set is encrypted by elliptic curve, and the first ciphertext can be accurately obtained.
[0054] Step S102: Send the first ciphertext to the first data provider, so that the first data provider encrypts the second ciphertext based on the first ciphertext to obtain a third ciphertext, where the second ciphertext is encrypted by the first data provider based on the second data set.
[0055] The first data provider is any one of the multiple data providers. The first data provider has a data set Y, and the data set Y includes n2 pieces of data.
[0056] In some embodiments, the first data provider obtains the second data set and the second key of the first data provider, and encrypts the data ID in the second data set according to the second key to obtain the second ciphertext. The first data provider encrypts the data ID in the second data set based on the second key to accurately obtain the second ciphertext.
[0057] In some embodiments, the first data provider may obtain the second key by: obtaining a preset first encryption algorithm; generating a key for the data ID in the second data set based on the preset first encryption algorithm to obtain the second key. The preset first encryption algorithm may be selected according to actual conditions, and the embodiment of the present invention does not specifically limit this. For example, the preset first encryption algorithm may be an elliptic curve encryption algorithm, and the Curve25519 curve is used as the encryption curve. By encrypting the data ID with the preset first encryption algorithm, the second key can be accurately obtained.
[0058] In some embodiments, the data ID in the second data set is encrypted according to the second key, and the second ciphertext is obtained by: performing elliptic curve encryption on the data ID in the second data set based on the preset second encryption algorithm and according to the second key to obtain the second ciphertext. Among them, the preset second encryption algorithm can be selected according to actual conditions, and the embodiment of the present invention does not specifically limit this. For example, the preset second encryption algorithm can be an elliptic curve encryption algorithm, and the encryption curve can be a hash algorithm, for example, the hash algorithm can be selected as the SHA256 hash algorithm. Based on the preset second encryption algorithm and according to the second key, the data ID in the second data set is encrypted by elliptic curve, and the second ciphertext can be accurately obtained.
[0059] In some embodiments, the first data provider determines a third ciphertext based on the first ciphertext and the second ciphertext, and sends the third ciphertext to the intersection-seeking party, so that the intersection-seeking party determines the first candidate data set based on the third ciphertext. The third ciphertext can be accurately obtained based on the first ciphertext and the second ciphertext.
[0060] In some embodiments, the first data provider may determine the third ciphertext based on the first ciphertext and the second ciphertext by performing elliptic curve encryption of the data ID on the first ciphertext and the second ciphertext based on a preset second encryption algorithm to obtain the third ciphertext.
[0061] Specifically, the elliptic curve encryption formula is obtained, which is enc(enc(h(x)),sk)=hash(x)*a*sk, where enc is the third ciphertext, enc(h(x) is the first ciphertext, h(x) is the hash algorithm, a is the first key, sk is the second key, * is the elliptic curve group multiplication, and the first ciphertext and the second ciphertext are subjected to the elliptic curve encryption formula to obtain the third ciphertext.
[0062] Step S103: Obtain the third ciphertext, and perform data intersection pre-screening on the first data set according to the third ciphertext and the first key to obtain a first candidate data set.
[0063] In some embodiments, the intersection-seeking party obtains the third ciphertext, and pre-screens the first data set based on the third ciphertext and the first key to obtain the first candidate data set. The first candidate data set can be accurately obtained by pre-screening the data intersection using the third key.
[0064] In some embodiments, the first data set is pre-screened for data intersection based on the third ciphertext and the first key to obtain the first candidate data set by: decrypting the third ciphertext based on the first key to obtain multiple candidate data IDs; and filtering out data corresponding to the candidate data IDs from the first data set to obtain the first candidate data set.
[0065] Exemplarily, a preset decryption formula is obtained, and the preset decryption formula is EA = hash (x) * a * sk * a -1 , where EA is the first candidate data set, hash(x) is the hash algorithm, a is the first key, sk is the second key, a is the preset parameter, A -1 The negative side of A represents the determination of the data ID based on the first key and the second key, and * is the multiplication on the elliptic curve group; the third ciphertext is decrypted by the first key based on the preset decryption formula to obtain multiple candidate data IDs.
[0066] Step S104: Acquire a second candidate data set sent by the first data provider, where the second candidate data set is the intersection of data from the first data provider and other data providers.
[0067] In some embodiments, the first data provider creates a first Bloom filter, and inputs the second ciphertext into the first Bloom filter to obtain a fourth ciphertext, and splits the fourth ciphertext based on a preset additive secret sharing rule to obtain a fifth ciphertext and a sixth ciphertext, and the fifth ciphertext and the sixth ciphertext are bitwise ANDed to obtain the fourth ciphertext. Among them, the preset additive secret sharing rule can be set according to actual conditions, and the implementation of the present invention does not make specific restrictions on this. For example, the preset additive secret sharing rule can be a bitwise AND splitting algorithm, that is, the two sub-ciphertexts obtained by splitting are bitwise ANDed to obtain the ciphertext before splitting.
[0068] In some embodiments, the first data provider sends the second key and the sixth ciphertext to the second data provider, so that the second data provider determines the seventh ciphertext and the eighth ciphertext according to the second key, and determines the third candidate data set according to the sixth ciphertext and the eighth ciphertext. The first data provider sends the second key and the sixth ciphertext to the second data provider, so that the second data provider can accurately determine the third candidate data set for data intersection, effectively protecting the data privacy provided by the second data provider.
[0069] In some embodiments, after the second data provider obtains the second key, it performs elliptic curve encryption on the data ID in the third data set based on a preset second encryption algorithm and according to the second key to obtain a ninth ciphertext.
[0070] In some embodiments, the second data provider creates a second Bloom filter, and inputs the ninth ciphertext into the second Bloom filter to obtain the tenth ciphertext, and splits the tenth ciphertext based on a preset additive secret sharing rule to obtain the seventh ciphertext and the eighth ciphertext, and the seventh ciphertext and the eighth ciphertext are bitwise ANDed to obtain the tenth ciphertext. Among them, the preset additive secret sharing rule can be set according to actual conditions, and the implementation of the present invention does not make specific limitations on this. For example, the preset additive secret sharing rule can be a bitwise AND splitting algorithm, that is, the splitting obtains two sub-ciphertexts and performs bitwise AND to obtain the ciphertext before the splitting.
[0071] It should be noted that the way in which the second data provider determines the seventh ciphertext and the eighth ciphertext can refer to the way in which the first data provider determines the fifth ciphertext and the sixth ciphertext, which will not be elaborated herein.
[0072] In some embodiments, the first data provider obtains the seventh ciphertext sent by the second data provider, and determines the fourth candidate data set according to the fifth ciphertext and the seventh ciphertext. According to the seventh ciphertext sent by the second data provider, the fourth candidate data set can be accurately obtained based on the fifth ciphertext and the seventh ciphertext, so that the intersection data of the first data provider and the second data provider can be determined, and the data privacy of the second data provider can be protected.
[0073] In some embodiments, the first data provider may determine the fourth candidate data set based on the fifth ciphertext and the seventh ciphertext by: performing a bitwise AND operation on the fifth ciphertext and the seventh ciphertext to obtain the first candidate ciphertext; and decrypting the first candidate ciphertext to obtain the fourth candidate data set.
[0074] It should be noted that the method for decrypting the first candidate ciphertext can refer to the method for decrypting the third ciphertext to obtain multiple candidate data IDs, which will not be elaborated in detail in the embodiments of the present application.
[0075] Step S105: Perform data intersection processing on the first candidate data set and the second candidate data set to obtain a target data set in which all data cubes exist.
[0076] The first candidate data set includes a data ID, and the second candidate data set includes a data ID.
[0077] In some embodiments, data IDs that exist in both the first candidate data set and the second candidate data set are determined as target data IDs; and the target data IDs are integrated to obtain the target data set.
[0078] By performing intersection processing on the data IDs in the first candidate data set preselected by the intersection seeking party and the data IDs in the second candidate data set preselected by each data provider, the target data set can be obtained quickly and accurately, greatly protecting the data privacy of each data provider.
[0079] The multi-party secure intersection method provided in the above embodiment obtains a first data set and a first key of the intersection-seeking party, and encrypts the data ID in the first data set according to the first key to obtain a first ciphertext; sends the first ciphertext to the first data provider, so that the first data provider encrypts the second ciphertext based on the first ciphertext to obtain a third ciphertext, and the second ciphertext is obtained by the first data provider based on the encryption of the second data set; obtains the third ciphertext, and performs data intersection pre-screening on the first data set according to the third ciphertext and the first key to obtain a first candidate data set; obtains the second candidate data set sent by the first data provider, and the second candidate data set is the data intersection of the first data provider and other data providers; performs data intersection processing on the first candidate data set and the second candidate data set to obtain a target data set that exists in all data parties. In the present application, the party seeking the intersection sends the first ciphertext of the data ID to the first data provider. The first data provider can accurately obtain the second candidate data set based on the first ciphertext and the data of other data providers. The party seeking the intersection performs data intersection processing on the first candidate data set and the second candidate data set to obtain the target data set that exists in all data parties. This not only ensures the data privacy of each data party, but also obtains the data intersection of multiple parties, greatly improving the accuracy and security of the data intersection.
[0080] Please refer to Figure 2 , Figure 2 A flowchart of another multi-party secure intersection method provided in an embodiment of the present application.
[0081] like Figure 2 As shown, the multi-party secure intersection method includes steps S201 to S207.
[0082] Step S201: Acquire a second data set and a second key from the first data provider, and encrypt the data ID in the second data set according to the second key to obtain a second ciphertext.
[0083] In some embodiments, the first data provider obtains the second data set and the second key of the first data provider, and encrypts the data ID in the second data set according to the second key to obtain the second ciphertext. The first data provider encrypts the data ID in the second data set based on the second key to accurately obtain the second ciphertext.
[0084] In some embodiments, the first data provider may obtain the second key by: obtaining a preset first encryption algorithm; generating a key for the data ID in the second data set based on the preset first encryption algorithm to obtain the second key. The preset first encryption algorithm may be selected according to actual conditions, and the embodiment of the present invention does not specifically limit this. For example, the preset first encryption algorithm may be an elliptic curve encryption algorithm, and the Curve25519 curve is used as the encryption curve. By encrypting the data ID with the preset first encryption algorithm, the second key can be accurately obtained.
[0085] In some embodiments, the data ID in the second data set is encrypted according to the second key, and the second ciphertext is obtained by: performing elliptic curve encryption on the data ID in the second data set based on the preset second encryption algorithm and according to the second key to obtain the second ciphertext. Among them, the preset second encryption algorithm can be selected according to actual conditions, and the embodiment of the present invention does not specifically limit this. For example, the preset second encryption algorithm can be an elliptic curve encryption algorithm, and the encryption curve can be a hash algorithm, for example, the hash algorithm can be selected as the SHA256 hash algorithm. Based on the preset second encryption algorithm and according to the second key, the data ID in the second data set is encrypted by elliptic curve, and the second ciphertext can be accurately obtained.
[0086] Step S202: Obtain a first ciphertext sent by the intersection-seeking party, and determine a third ciphertext based on the first ciphertext and the second ciphertext.
[0087] In some embodiments, a preset first encryption algorithm is obtained; a key is generated for the data ID in the first data set based on the preset first encryption algorithm to obtain the first key. The preset first encryption algorithm can be selected according to actual conditions, and the embodiment of the present invention does not specifically limit this. For example, the preset first encryption algorithm can be an elliptic curve encryption algorithm, and the Curve25519 curve is used as the encryption curve. By encrypting the data ID with the preset first encryption algorithm, the first key can be accurately obtained.
[0088] In some embodiments, a preset second encryption algorithm is obtained; based on the preset second encryption algorithm and according to the first key, the data ID in the first data set is encrypted by elliptic curve to obtain the first ciphertext. The preset second encryption algorithm can be selected according to the actual situation, and the embodiment of the present invention does not specifically limit this. For example, the preset second encryption algorithm can be an elliptic curve encryption algorithm, and the encryption curve can be a hash algorithm, for example, the hash algorithm can be selected as the SHA256 hash algorithm. Based on the preset second encryption algorithm and according to the first key, the data ID in the first data set is encrypted by elliptic curve, and the first ciphertext can be accurately obtained.
[0089] In some embodiments, the first data provider determines a third ciphertext based on the first ciphertext and the second ciphertext, and sends the third ciphertext to the intersection-seeking party, so that the intersection-seeking party determines the first candidate data set based on the third ciphertext. The third ciphertext can be accurately obtained based on the first ciphertext and the second ciphertext.
[0090] In some embodiments, the first data provider may determine the third ciphertext based on the first ciphertext and the second ciphertext by performing elliptic curve encryption of the data ID on the first ciphertext and the second ciphertext based on a preset second encryption algorithm to obtain the third ciphertext.
[0091] Specifically, the elliptic curve encryption formula is obtained, which is enc(enc(h(x)),sk)=hash(x)*a*sk, where enc is the third ciphertext, enc(h(x) is the first ciphertext, h(x) is the hash algorithm, a is the first key, sk is the second key, * is the elliptic curve group multiplication, and the first ciphertext and the second ciphertext are subjected to the elliptic curve encryption formula to obtain the third ciphertext.
[0092] Step S203: Send the third ciphertext to the intersection-seeking party, so that the intersection-seeking party determines a first candidate data set according to the third ciphertext.
[0093] In some embodiments, the intersection-seeking party obtains the third ciphertext, and pre-screens the first data set based on the third ciphertext and the first key to obtain the first candidate data set. The first candidate data set can be accurately obtained by pre-screening the data intersection using the third key.
[0094] In some embodiments, the first data set is pre-screened for data intersection based on the third ciphertext and the first key to obtain the first candidate data set by: decrypting the third ciphertext based on the first key to obtain multiple candidate data IDs; and filtering out data corresponding to the candidate data IDs from the first data set to obtain the first candidate data set.
[0095] Step S204: create a first Bloom filter, and input the second ciphertext into the first Bloom filter to obtain a fourth ciphertext, split the fourth ciphertext based on a preset additive secret sharing rule to obtain a fifth ciphertext and a sixth ciphertext, and perform a bitwise AND operation on the fifth ciphertext and the sixth ciphertext to obtain the fourth ciphertext.
[0096] In some embodiments, the first data provider creates a first Bloom filter, and inputs the second ciphertext into the first Bloom filter to obtain a fourth ciphertext, and splits the fourth ciphertext based on a preset additive secret sharing rule to obtain a fifth ciphertext and a sixth ciphertext, and the fifth ciphertext and the sixth ciphertext are bitwise ANDed to obtain the fourth ciphertext. Among them, the preset additive secret sharing rule can be set according to actual conditions, and the implementation of the present invention does not make specific restrictions on this. For example, the preset additive secret sharing rule can be a bitwise AND splitting algorithm, that is, the two sub-ciphertexts obtained by splitting are bitwise ANDed to obtain the ciphertext before splitting.
[0097] Step S205: Send the second key and the sixth ciphertext to the second data provider, so that the second data provider determines the seventh ciphertext and the eighth ciphertext according to the second key, and determines the third candidate data set according to the sixth ciphertext and the eighth ciphertext.
[0098] In some embodiments, the first data provider sends the second key and the sixth ciphertext to the second data provider, so that the second data provider determines the seventh ciphertext and the eighth ciphertext according to the second key, and determines the third candidate data set according to the sixth ciphertext and the eighth ciphertext. The first data provider sends the second key and the sixth ciphertext to the second data provider, so that the second data provider can accurately determine the third candidate data set for data intersection, effectively protecting the data privacy provided by the second data provider.
[0099] In some embodiments, after the second data provider obtains the second key, it performs elliptic curve encryption on the data ID in the third data set based on a preset second encryption algorithm and according to the second key to obtain a ninth ciphertext.
[0100] In some embodiments, the second data provider creates a second Bloom filter, and inputs the ninth ciphertext into the second Bloom filter to obtain the tenth ciphertext, and splits the tenth ciphertext based on a preset additive secret sharing rule to obtain the seventh ciphertext and the eighth ciphertext, and the seventh ciphertext and the eighth ciphertext are bitwise ANDed to obtain the tenth ciphertext. Among them, the preset additive secret sharing rule can be set according to actual conditions, and the implementation of the present invention does not make specific limitations on this. For example, the preset additive secret sharing rule can be a bitwise AND splitting algorithm, that is, the splitting obtains two sub-ciphertexts and performs bitwise AND to obtain the ciphertext before the splitting.
[0101] It should be noted that the way in which the second data provider determines the seventh ciphertext and the eighth ciphertext can refer to the way in which the first data provider determines the fifth ciphertext and the sixth ciphertext, which will not be elaborated herein.
[0102] Step S206: Obtain the seventh ciphertext sent by the second data provider, and determine a fourth candidate data set according to the fifth ciphertext and the seventh ciphertext.
[0103] In some embodiments, the first data provider obtains the seventh ciphertext sent by the second data provider, and determines the fourth candidate data set according to the fifth ciphertext and the seventh ciphertext. According to the seventh ciphertext sent by the second data provider, the fourth candidate data set can be accurately obtained based on the fifth ciphertext and the seventh ciphertext, so that the intersection data of the first data provider and the second data provider can be determined, and the data privacy of the second data provider can be protected.
[0104] In some embodiments, the first data provider may determine the fourth candidate data set based on the fifth ciphertext and the seventh ciphertext by: performing a bitwise AND operation on the fifth ciphertext and the seventh ciphertext to obtain the first candidate ciphertext; and decrypting the first candidate ciphertext to obtain the fourth candidate data set.
[0105] Step S207: Send the fourth candidate data set to the intersection-seeking party, so that the intersection-seeking party obtains a target data set in which all data cubes exist based on the first candidate data set, the third candidate data set and the fourth candidate data set.
[0106] In some embodiments, the first data provider sends the fourth candidate data set to the intersection-seeking party; the second data provider sends the third candidate data set to the intersection-seeking party; the intersection-seeking party performs data intersection processing on the third candidate data set and the fourth candidate data set to obtain the second candidate data set; and performs data intersection processing on the first candidate data set and the second candidate data set to obtain a target data set that exists in all data parties.
[0107] In some embodiments, the intersection-seeking party performs data intersection processing on the third candidate data set and the fourth candidate data set to obtain the second candidate data set by: determining data IDs that exist in both the third candidate data set and the fourth candidate data set as candidate data IDs; and integrating the candidate data IDs to obtain the second candidate data set.
[0108] The multi-party secure intersection method in the above-mentioned embodiment obtains the second data set and the second key of the first data provider, and encrypts the data ID in the second data set according to the second key to obtain the second ciphertext; obtains the first ciphertext sent by the intersection-seeking party, and determines the third ciphertext according to the first ciphertext and the second ciphertext; sends the third ciphertext to the intersection-seeking party, so that the intersection-seeking party determines the first candidate data set according to the third ciphertext; creates a first Bloom filter, and inputs the second ciphertext into the first Bloom filter to obtain a fourth ciphertext, and splits the fourth ciphertext based on a preset additive secret sharing rule to obtain a fifth ciphertext and a fourth ciphertext. The method comprises the following steps: obtaining the sixth ciphertext, performing bitwise AND operation on the fifth ciphertext and the sixth ciphertext to obtain the fourth ciphertext; sending the second key and the sixth ciphertext to the second data provider, so that the second data provider determines the seventh ciphertext and the eighth ciphertext according to the second key, and determines the third candidate data set according to the sixth ciphertext and the eighth ciphertext; obtaining the seventh ciphertext sent by the second data provider, and determining the fourth candidate data set according to the fifth ciphertext and the seventh ciphertext; sending the fourth candidate data set to the intersection-seeking party, so that the intersection-seeking party determines the target data set in which all data parties exist according to the first candidate data set, the third candidate data set and the fourth candidate data set.
[0109] See also Figure 3 , Figure 3 A schematic block diagram of a multi-party secure intersection seeking device provided in an embodiment of the present application.
[0110] like Figure 3 As shown, the multi-party secure intersection finding device 300 includes an acquisition module 310, a generation module 320, a sending module 330 and an intersection processing module 340, wherein:
[0111] The acquisition module 310 is used to acquire the first data set and the first key of the intersection seeking party;
[0112] The generating module 320 is used to encrypt the data ID in the first data set according to the first key to obtain a first ciphertext;
[0113] The sending module 330 is used to send the first ciphertext to the first data provider, so that the first data provider encrypts the second ciphertext based on the first ciphertext to obtain a third ciphertext, where the second ciphertext is obtained by the first data provider based on the encryption of the second data set;
[0114] The acquisition module 310 is further used to acquire the third ciphertext;
[0115] The generating module 320 is configured to perform data intersection pre-screening on the first data set according to the third ciphertext and the first key to obtain a first candidate data set;
[0116] The acquisition module 310 is further configured to acquire a second candidate data set sent by the first data provider, where the second candidate data set is an intersection of data between the first data provider and other data providers;
[0117] The intersection processing module 340 is used to perform data intersection processing on the first candidate data set and the second candidate data set to obtain a target data set in which all data cubes exist.
[0118] In some embodiments, the generating module 320 is further configured to:
[0119] Decrypting the third ciphertext according to the first key to obtain multiple candidate data IDs;
[0120] The data corresponding to the candidate data ID is screened out from the first data set to obtain the first candidate data set.
[0121] In some embodiments, the generating module 320 is further configured to:
[0122] Determine the data IDs that exist in both the first candidate data set and the second candidate data set as target data IDs;
[0123] The target data IDs are integrated to obtain the target data set.
[0124] In some embodiments, the acquisition module 310 is further used to:
[0125] Obtaining a preset first encryption algorithm;
[0126] A key is generated for the data ID in the first data set based on the preset first encryption algorithm to obtain the first key.
[0127] In some embodiments, the generating module 320 is further configured to:
[0128] Obtaining a preset second encryption algorithm;
[0129] Based on the preset second encryption algorithm and according to the first key, elliptic curve encryption is performed on the data ID in the first data set to obtain the first ciphertext.
[0130] See also Figure 4 , Figure 4 A schematic block diagram of another multi-party secure intersection seeking device provided in an embodiment of the present application.
[0131] like Figure 4 As shown, the multi-party secure intersection finding device 400 includes an acquisition module 410, a generation module 420, a determination module 430, a sending module 440 and a creation module 450, wherein:
[0132] The acquisition module 410 is used to acquire a second data set and a second key from the first data provider;
[0133] The generating module 420 is used to encrypt the data ID in the second data set according to the second key to obtain a second ciphertext;
[0134] The acquisition module 410 is further used to acquire the first ciphertext sent by the intersection seeking party;
[0135] The determination module 430 is used to determine a third ciphertext according to the first ciphertext and the second ciphertext;
[0136] The sending module 440 is configured to send the third ciphertext to the intersection-seeking party, so that the intersection-seeking party determines the first candidate data set according to the third ciphertext;
[0137] The creation module 450 is used to create a first Bloom filter;
[0138] The generating module 420 is configured to input the second ciphertext into the first Bloom filter to obtain a fourth ciphertext, split the fourth ciphertext based on a preset additive secret sharing rule to obtain a fifth ciphertext and a sixth ciphertext, and perform a bitwise AND operation on the fifth ciphertext and the sixth ciphertext to obtain the fourth ciphertext;
[0139] The sending module 440 is further configured to send the second key and the sixth ciphertext to a second data provider, so that the second data provider determines the seventh ciphertext and the eighth ciphertext according to the second key, and determines a third candidate data set according to the sixth ciphertext and the eighth ciphertext;
[0140] The acquisition module 410 acquires the seventh ciphertext sent by the second data provider;
[0141] The determination module 430 is further configured to determine a fourth candidate data set according to the fifth ciphertext and the seventh ciphertext;
[0142] The sending module 410 is further configured to send the fourth candidate data set to the intersection-seeking party, so that the intersection-seeking party obtains a target data set in which all data cubes exist according to the first candidate data set, the third candidate data set and the fourth candidate data set.
[0143] In some embodiments, the determination module 430 is further configured to:
[0144] Performing a bitwise AND operation on the fifth ciphertext and the seventh ciphertext to obtain a first candidate ciphertext;
[0145] The first candidate ciphertext is decrypted to obtain the fourth candidate data set.
[0146] It should be noted that those skilled in the art can clearly understand that, for the convenience and simplicity of description, the specific working process of the above-mentioned multi-party secure intersection finding device can refer to the corresponding process in the aforementioned multi-party secure intersection finding method embodiment, and will not be repeated here.
[0147] See also Figure 5 , Figure 5 A schematic block diagram of the structure of a computer device provided in an embodiment of the present application.
[0148] like Figure 5 As shown, the computer device 500 includes a processor 502 and a memory 503 connected via a system bus 501 , wherein the memory may include a storage medium and an internal memory.
[0149] The storage medium can store a computer program. The computer program includes program instructions, and when the program instructions are executed, the processor can execute any multi-party secure intersection method.
[0150] The processor 502 is used to provide computing and control capabilities and support the operation of the entire computer device.
[0151] The internal memory provides an environment for the operation of the computer program in the storage medium. When the computer program is executed by the processor, the processor can execute any multi-party secure intersection method.
[0152] Those skilled in the art will understand that Figure 5 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.
[0153] It should be understood that the processor may be a central processing unit (CPU), and the processor may also be other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. Among them, the general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc.
[0154] In one embodiment, the processor 502 is used to run a computer program stored in the memory to implement the following steps:
[0155] Acquire a first data set and a first key of the intersection-seeking party, and encrypt the data ID in the first data set according to the first key to obtain a first ciphertext;
[0156] Sending the first ciphertext to a first data provider, so that the first data provider encrypts the second ciphertext based on the first ciphertext to obtain a third ciphertext, where the second ciphertext is obtained by the first data provider by encrypting the second data set;
[0157] Obtaining the third ciphertext, and performing data intersection pre-screening on the first data set according to the third ciphertext and the first key to obtain a first candidate data set;
[0158] Acquire a second candidate data set sent by the first data provider, where the second candidate data set is an intersection of data of the first data provider and other data providers;
[0159] Data intersection processing is performed on the first candidate data set and the second candidate data set to obtain a target data set in which all data cubes exist.
[0160] In one embodiment, when implementing the pre-screening of the data intersection of the first data set according to the third ciphertext and the first key to obtain the first candidate data set, the processor 502 is configured to implement:
[0161] Decrypting the third ciphertext according to the first key to obtain multiple candidate data IDs;
[0162] The data corresponding to the candidate data ID is screened out from the first data set to obtain the first candidate data set.
[0163] In one embodiment, when performing data intersection processing on the first candidate data set and the second candidate data set to obtain a target data set in which all data cubes exist, the processor 502 is configured to implement:
[0164] Determine the data IDs that exist in both the first candidate data set and the second candidate data set as target data IDs;
[0165] The target data IDs are integrated to obtain the target data set.
[0166] In one embodiment, the processor 502, when implementing the acquisition of the first key of the intersection seeking party, is configured to implement:
[0167] Obtaining a preset first encryption algorithm;
[0168] A key is generated for the data ID in the first data set based on the preset first encryption algorithm to obtain the first key.
[0169] In one embodiment, when the processor 502 implements the step of encrypting the data ID in the first data set according to the first key to obtain the first ciphertext, it is configured to implement:
[0170] Obtaining a preset second encryption algorithm;
[0171] Based on the preset second encryption algorithm and according to the first key, elliptic curve encryption is performed on the data ID in the first data set to obtain the first ciphertext.
[0172] In one embodiment, the processor 502 is further configured to implement:
[0173] Obtaining a second data set and a second key from the first data provider, and encrypting the data ID in the second data set according to the second key to obtain a second ciphertext;
[0174] Obtaining a first ciphertext sent by the intersection-seeking party, and determining a third ciphertext based on the first ciphertext and the second ciphertext;
[0175] Sending the third ciphertext to the intersection-seeking party, so that the intersection-seeking party determines a first candidate data set according to the third ciphertext;
[0176] Creating a first Bloom filter, and inputting the second ciphertext into the first Bloom filter to obtain a fourth ciphertext, splitting the fourth ciphertext based on a preset additive secret sharing rule to obtain a fifth ciphertext and a sixth ciphertext, and performing a bitwise AND operation on the fifth ciphertext and the sixth ciphertext to obtain the fourth ciphertext;
[0177] sending the second key and the sixth ciphertext to a second data provider, so that the second data provider determines the seventh ciphertext and the eighth ciphertext according to the second key, and determines a third candidate data set according to the sixth ciphertext and the eighth ciphertext;
[0178] obtaining a seventh ciphertext sent by the second data provider, and determining a fourth candidate data set according to the fifth ciphertext and the seventh ciphertext;
[0179] The fourth candidate data set is sent to the intersection-seeking party, so that the intersection-seeking party obtains a target data set in which all data entities exist according to the first candidate data set, the third candidate data set and the fourth candidate data set.
[0180] In one embodiment, when the processor 502 implements the determining of the fourth candidate data set according to the fifth ciphertext and the seventh ciphertext, it is configured to implement:
[0181] Performing a bitwise AND operation on the fifth ciphertext and the seventh ciphertext to obtain a first candidate ciphertext;
[0182] The first candidate ciphertext is decrypted to obtain the fourth candidate data set.
[0183] It should be noted that those skilled in the art can clearly understand that, for the convenience and simplicity of description, the specific working process of the above-described computer device can refer to the corresponding process in the aforementioned multi-party secure intersection method embodiment, which will not be repeated here.
[0184] An embodiment of the present application also provides a computer-readable storage medium, on which a computer program is stored. The computer program includes program instructions. The method implemented when the program instructions are executed can refer to the various embodiments of the multi-party secure intersection method of the present application.
[0185] The computer-readable storage medium may be an internal storage unit of the computer device described in the foregoing embodiment, such as a hard disk or memory of the computer device. The computer-readable storage medium may be non-volatile or volatile. The computer-readable storage medium may also be an external storage device of the computer device, such as a plug-in hard disk, a smart memory card (Smart Media Card, SMC), a secure digital (Secure Digital, SD) card, a flash card (Flash Card), etc., equipped on the computer device.
[0186] Furthermore, the computer-readable storage medium may mainly include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application required for at least one function, etc.; the data storage area may store data created according to the use of the blockchain node, etc.
[0187] The blockchain referred to in this invention is a new application mode of computer technologies such as distributed data storage, peer-to-peer transmission, consensus mechanism, encryption algorithm, etc. Blockchain is essentially a decentralized database, a string of data blocks generated by cryptographic methods. Each data block contains a batch of network transaction information, which is used to verify the validity of its information (anti-counterfeiting) and generate the next block. Blockchain can include the underlying blockchain platform, platform product service layer, and application service layer.
[0188] It should be understood that the terms used in this application specification are only for the purpose of describing specific embodiments and are not intended to limit the application. As used in this application specification, unless the context clearly indicates otherwise, the singular forms "a", "an" and "the" are intended to include plural forms.
[0189] It should also be understood that the term "and / or" used in the present specification refers to any combination of one or more of the associated listed items and all possible combinations, including these combinations. It should be noted that, in this article, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or system including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or system. In the absence of further restrictions, an element defined by the sentence "including a..." does not exclude the presence of other identical elements in the process, method, article or system including the element.
[0190] The serial numbers of the embodiments of the present application are for description only and do not represent the advantages and disadvantages of the embodiments. The above description is only a specific implementation mode of the present application, but the protection scope of the present application is not limited thereto. Any technician familiar with the technical field can easily think of various equivalent modifications or replacements within the technical scope disclosed in the present application, and these modifications or replacements should be included in the protection scope of the present application.
Claims
1. A multi-party secure intersection method, characterized in that: Applied to the intersection finding method, the method includes: Acquire a first data set and a first key of the intersection-seeking party, and encrypt the data ID in the first data set according to the first key to obtain a first ciphertext; Sending the first ciphertext to a first data provider, so that the first data provider encrypts the second ciphertext based on the first ciphertext to obtain a third ciphertext, where the second ciphertext is obtained by the first data provider by encrypting the second data set; Obtaining the third ciphertext, and performing data intersection pre-screening on the first data set according to the third ciphertext and the first key to obtain a first candidate data set; Acquire a second candidate data set sent by the first data provider, where the second candidate data set is an intersection of data of the first data provider and other data providers; Data intersection processing is performed on the first candidate data set and the second candidate data set to obtain a target data set in which all data cubes exist.
2. The multi-party secure intersection method according to claim 1, characterized in that: The performing data intersection pre-screening on the first data set according to the third ciphertext and the first key to obtain a first candidate data set includes: Decrypting the third ciphertext according to the first key to obtain multiple candidate data IDs; The data corresponding to the candidate data ID is screened out from the first data set to obtain the first candidate data set.
3. The multi-party secure intersection method according to claim 1, characterized in that: The performing data intersection processing on the first candidate data set and the second candidate data set to obtain a target data set in which all data cubes exist includes: Determine the data IDs that exist in both the first candidate data set and the second candidate data set as target data IDs; The target data IDs are integrated to obtain the target data set.
4. The multi-party secure intersection method according to claim 1, characterized in that: Obtaining the first key of the intersection-seeking party includes: Obtaining a preset first encryption algorithm; A key is generated for the data ID in the first data set based on the preset first encryption algorithm to obtain the first key.
5. The multi-party secure intersection method according to claim 1, characterized in that: The step of encrypting the data ID in the first data set according to the first key to obtain a first ciphertext includes: Obtaining a preset second encryption algorithm; Based on the preset second encryption algorithm and according to the first key, elliptic curve encryption is performed on the data ID in the first data set to obtain the first ciphertext.
6. A multi-party secure intersection method, characterized in that: Applied to the first data provider, including: Obtaining a second data set and a second key from the first data provider, and encrypting the data ID in the second data set according to the second key to obtain a second ciphertext; Obtaining a first ciphertext sent by the intersection-seeking party, and determining a third ciphertext based on the first ciphertext and the second ciphertext; Sending the third ciphertext to the intersection-seeking party, so that the intersection-seeking party determines the first candidate data set according to the third ciphertext; Creating a first Bloom filter, and inputting the second ciphertext into the first Bloom filter to obtain a fourth ciphertext, splitting the fourth ciphertext based on a preset additive secret sharing rule to obtain a fifth ciphertext and a sixth ciphertext, and performing a bitwise AND operation on the fifth ciphertext and the sixth ciphertext to obtain the fourth ciphertext; sending the second key and the sixth ciphertext to a second data provider, so that the second data provider determines the seventh ciphertext and the eighth ciphertext according to the second key, and determines a third candidate data set according to the sixth ciphertext and the eighth ciphertext; obtaining a seventh ciphertext sent by the second data provider, and determining a fourth candidate data set according to the fifth ciphertext and the seventh ciphertext; The fourth candidate data set is sent to the intersection-seeking party, so that the intersection-seeking party obtains a target data set in which all data entities exist according to the first candidate data set, the third candidate data set and the fourth candidate data set.
7. The multi-party secure intersection method according to claim 6, characterized in that: The determining a fourth candidate data set according to the fifth ciphertext and the seventh ciphertext includes: Performing a bitwise AND operation on the fifth ciphertext and the seventh ciphertext to obtain a first candidate ciphertext; The first candidate ciphertext is decrypted to obtain the fourth candidate data set.
8. A multi-party secure intersection device, characterized in that: The multi-party secure intersection finding device comprises an acquisition module, a generation module, a sending module and an intersection processing module, wherein: The acquisition module is used to acquire the first data set and the first key of the intersection seeking party; The generating module is used to encrypt the data ID in the first data set according to the first key to obtain a first ciphertext; The sending module is used to send the first ciphertext to a first data provider, so that the first data provider encrypts the second ciphertext based on the first ciphertext to obtain a third ciphertext, where the second ciphertext is obtained by the first data provider by encrypting the second data set; The acquisition module is further used to acquire the third ciphertext; The generating module is configured to perform data intersection pre-screening on the first data set according to the third ciphertext and the first key to obtain a first candidate data set; The acquisition module is further used to acquire a second candidate data set sent by the first data provider, where the second candidate data set is an intersection of data between the first data provider and other data providers; The intersection processing module is used to perform data intersection processing on the first candidate data set and the second candidate data set to obtain a target data set in which all data cubes exist.
9. A computer device, characterized in that: The computer device comprises a processor, a memory, and a computer program stored in the memory and executable by the processor, wherein when the computer program is executed by the processor, the steps of the multi-party secure intersection method according to any one of claims 1 to 7 are implemented.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, wherein when the computer program is executed by a processor, the steps of the multi-party secure intersection method according to any one of claims 1 to 7 are implemented.