Data processing method and system based on multi-party fully anonymous secure computing
By adopting a data processing method based on multi-party fully anonymous security calculation in multi-party data calculation, the problems of high network pressure and low encryption efficiency in the existing technology are solved, and efficient data processing and strong privacy protection are achieved.
Patent Information
- Application Number
- CN202411365347.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-29
- Publication Date
- 2025-04-11
- Estimated Expiration
- 2044-09-29
AI Technical Summary
The existing privacy submission processing methods have problems such as high network pressure and low encryption efficiency in multi-party data calculations.
The data processing method based on multi-party fully anonymous security calculation is adopted, and the first party receives secret information sent by the second party through the first party, generates the first party's secret fragments, and performs data processing based on the first party's secret fragments and the second party's secret fragments.
Reduces the number of encryption calculations, improves encryption efficiency, and ensures privacy and security during data processing.
Smart Images

Figure CN118869371B_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present specification relate to the field of computer technology, and in particular to a data processing method based on multi-party fully anonymous secure computing. Background Art
[0002] With the rapid development of cloud computing and big data analysis technology, data security and privacy protection have become increasingly important. Data sharing and computing between multiple parties has become a common requirement. Privacy computing, as the most commonly used method, ensures the data security of each participant in the multi-party data computing process by performing statistical calculations and machine learning on data scattered among multiple parties.
[0003] Currently, privacy intersection techniques are widely used in multi-party data alignment. These techniques protect samples outside the intersection from being exposed. However, the existing privacy intersection processing methods require the current participant and all other participants to perform a calculation once, which puts a lot of pressure on the network and causes low encryption efficiency due to too many calculations during encryption. In order to solve the above problems, a data processing method based on multi-party fully anonymous secure computing is needed. Summary of the invention
[0004] In view of this, the embodiments of this specification provide a data processing method based on multi-party fully anonymous secure computing applied to a first participant, and a data processing method based on multi-party fully anonymous secure computing applied to a second participant. This specification also involves a data processing device based on multi-party fully anonymous secure computing applied to the first participant, a data processing device based on multi-party fully anonymous secure computing applied to the second participant, a data processing system based on multi-party fully anonymous secure computing, a computing device, and a computer-readable storage medium, a computer program product, to solve the technical defects existing in the prior art.
[0005] According to a first aspect of an embodiment of this specification, a data processing method based on multi-party fully anonymous secure computing is provided, which is applied to a first participant, wherein the first participant includes at least one first data index information and a first data value corresponding to each first data index information, and the method includes:
[0006] Receiving at least one second secret information, wherein each second secret information is sent by at least one second participant, the second secret information is generated by at least one second data index information in the second participant and a second data value corresponding to each second data index information, and the second data index information in the second participant corresponds to at least one second secret information;
[0007] Acquire target first data index information and a target first data value corresponding to the target first data index information, wherein the target first data index information is any one of the first data index information;
[0008] Determine, according to the target first data index information and each second secret information, the first party second data secret sub-fragment corresponding to each second participant in the target first data index information;
[0009] The first party secret fragments corresponding to the target first data index information are generated according to the target first data index information, the first data value corresponding to the target first data index information, and the first party second data secret sub-fragments corresponding to the target first data index information, so as to determine the data processing result corresponding to the target first data index information according to the first party secret fragments corresponding to the target first data index information and the second party secret fragments corresponding to each second participant, wherein the second party secret fragments are generated by each second participant according to the second data index information.
[0010] According to a second aspect of an embodiment of this specification, a data processing method based on multi-party fully anonymous secure computing is provided, which is applied to a target second participant, wherein the target second participant includes at least one second data index information and a second data value corresponding to each second data index information, and the method includes:
[0011] Determine target second data index information and a second data value corresponding to the target second data index information, wherein the target second data index information is any one of the second data index information;
[0012] At least one second secret information and at least one second party secret fragment corresponding to the target second data index information are generated according to the target second data index information and the second data value corresponding to the target second data index information.
[0013] According to a third aspect of the embodiments of this specification, there is provided a data processing system based on multi-party fully anonymous secure computing, the system comprising a first participant, a data computing party and at least one second participant; wherein the first participant comprises at least one first data index information and a first data value corresponding to each first data index information, and the second participant comprises at least one second data index information and a second data value corresponding to each second data index information;
[0014] The target second participant is configured to determine the target second data index information and the second data value corresponding to the target second data index information; generate at least one second secret information and at least one second party secret fragment corresponding to the target second data index information according to the target second data index information and the second data value corresponding to the target second data index information, wherein the target second participant is any one of the second participants, and the target second data index information is any one of the second data index information of the target second participant;
[0015] The first participant is configured to receive each second secret information sent by each second participant; obtain target first data index information and target first data value corresponding to the target first data index information; determine the first party second data secret sub-fragment corresponding to each second participant of the target first data index information according to the target first data index information and each second secret information; generate the first party secret fragment corresponding to the target first data index information according to the target first data index information, the first data value corresponding to the target first data index information, and each first party second data secret sub-fragment corresponding to the target first data index information, wherein the target first data index information is any one of the first data index information, and the second party secret fragment is generated by each second participant according to the second data index information;
[0016] The data calculation party is configured to determine the data processing result corresponding to the target first data index information according to the first party secret fragments corresponding to the target first data index information and the second party secret fragments corresponding to each second participant.
[0017] According to a fourth aspect of an embodiment of this specification, a computing device is provided, including:
[0018] Memory and processor;
[0019] The memory is used to store computer-executable instructions, and the processor is used to execute the computer-executable instructions. When the computer-executable instructions are executed by the processor, the steps of the data processing method based on multi-party fully anonymous secure computing applied to the first participant and the data processing method based on multi-party fully anonymous secure computing applied to the second participant are implemented.
[0020] According to the fifth aspect of the embodiments of this specification, a computer-readable storage medium is provided, which stores computer-executable instructions, which, when executed by a processor, implement the steps of the above-mentioned data processing method based on multi-party fully anonymous secure computing applied to the first participant and the data processing method based on multi-party fully anonymous secure computing applied to the second participant.
[0021] According to the sixth aspect of the embodiments of this specification, a computer program product is provided, including a computer program / instruction, which, when executed by a processor, implements the steps of the above-mentioned data processing method based on multi-party fully anonymous secure computing applied to the first participant and the data processing method based on multi-party fully anonymous secure computing applied to the second participant.
[0022] An embodiment of the present specification is implemented and applied to a first participant, wherein the first participant includes at least one first data index information and a first data value corresponding to each first data index information; receives at least one second secret information, wherein each second secret information is sent by at least one second participant, and the second secret information is generated by at least one second data index information in the second participant and a second data value corresponding to each second data index information, and the second data index information in the second participant corresponds to at least one second secret information; obtains target first data index information and a target first data value corresponding to the target first data index information, wherein the target first data index information is any one of the first data index information; according to the The target first data index information and each second secret information determine the first party second data secret sub-fragment of the target first data index information corresponding to each second participant; the first party secret fragment corresponding to the target first data index information is generated according to the target first data index information, the first data value corresponding to the target first data index information, and each first party second data secret sub-fragment corresponding to the target first data index information, so as to determine the data processing result corresponding to the target first data index information according to the first party secret fragment corresponding to the target first data index information and the second party secret fragment corresponding to each second participant, wherein the second party secret fragment is generated by each second participant according to the second data index information.
[0023] By applying the scheme of the embodiments of the present specification, the first party receives the first party secret fragments generated by the second secret information sent by each second party, and performs data processing based on the above-mentioned first party secret fragments and the second party secret fragments generated by each second party based on its own data. Since the second party secret fragments used when obtaining the data processing results are generated by each second party only based on its own second data index information, it is achieved that when encrypting data, there is no need for data interaction between the second parties, and there is no need to perform encryption calculations between the second parties, thereby reducing the number of calculations during encryption and improving encryption efficiency. BRIEF DESCRIPTION OF THE DRAWINGS
[0024] Figure 1 It is a flow chart of a data processing method based on multi-party fully anonymous secure computing applied to a first participant provided by an embodiment of this specification;
[0025] Figure 2 It is a flow chart of a data processing method based on multi-party fully anonymous secure computing applied to a second participant provided by an embodiment of this specification;
[0026] Figure 3 This is an architecture diagram of a data processing system based on multi-party fully anonymous secure computing provided by an embodiment of this specification;
[0027] Figure 4 It is a schematic diagram of the processing flow of each party in a data processing system based on multi-party fully anonymous secure computing provided by an embodiment of this specification;
[0028] Figure 5 It is a processing flow chart of a multi-party data summation method provided by an embodiment of this specification;
[0029] Figure 6 It is a structural schematic diagram of a data processing device based on multi-party fully anonymous secure computing applied to a first participant provided by an embodiment of this specification;
[0030] Figure 7 It is a structural schematic diagram of a data processing device based on multi-party fully anonymous secure computing applied to a second participant provided by an embodiment of this specification;
[0031] Figure 8 It is a structural block diagram of a computing device provided by an embodiment of this specification. DETAILED DESCRIPTION
[0032] Many specific details are described in the following description to facilitate a full understanding of this specification. However, this specification can be implemented in many other ways than those described herein, and those skilled in the art can make similar generalizations without violating the connotation of this specification, so this specification is not limited to the specific implementation disclosed below.
[0033] The terms used in one or more embodiments of this specification are only for the purpose of describing specific embodiments, and are not intended to limit one or more embodiments of this specification. The singular forms of "a", "said" and "the" used in one or more embodiments of this specification and the appended claims are also intended to include plural forms, unless the context clearly indicates other meanings. It should also be understood that the term "and / or" used in one or more embodiments of this specification refers to and includes any or all possible combinations of one or more associated listed items.
[0034] It should be understood that although the terms first, second, etc. may be used to describe various information in one or more embodiments of this specification, this information should not be limited to these terms. These terms are only used to distinguish the same type of information from each other. For example, without departing from the scope of one or more embodiments of this specification, the first may also be referred to as the second, and similarly, the second may also be referred to as the first. Depending on the context, the word "if" as used herein may be interpreted as "at the time of" or "when" or "in response to determining".
[0035] In addition, it should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in one or more embodiments of this specification are all information and data authorized by the user or fully authorized by all parties, and the collection,
[0036] First, the terms involved in one or more embodiments of this specification are explained.
[0037] Secure Multi-Party Computation (MPC): Secure multi-party computation is a cryptographic technique that allows multiple participants to perform computations without exposing private inputs. The core goal of MPC is to ensure privacy and security in the process of sharing information between multiple parties. Secret sharing is one of the key technologies to implement MPC, which allows participants to split their private inputs into multiple parts and distribute them to other participants so that the original input can only be reconstructed under legal conditions during the computation. This process is also called secret sharing, and each party holds the secret sharing fragments. The main advantage of this technology is that it can ensure that the results of the computation remain private and correct even if some participants may be untrustworthy or there are malicious participants.
[0038] Private Information Retrieval (PIR): Also known as privacy information retrieval, it means that the query party hides the keywords or customer ID information of the query object, and the data service provider provides matching query results but cannot know which specific query object it corresponds to.
[0039] Cuckoo Hash Table: Cuckoo hash table is a hash table structure that uses two or more hash functions to insert elements into the table. Whenever a position is already occupied, the new element "kicks out" the existing element and tries to insert it at another position. This process may be repeated many times until an empty position is found or rehashing is triggered. This method improves search and insertion efficiency by reducing conflicts and is suitable for scenarios that require fast search.
[0040] Private Set Intersection (PSI) is a cryptographic protocol that allows multiple parties to find the intersection of data sets without revealing their respective data sets. PSI ensures that no other data except the intersection will be exposed, thereby protecting the privacy of the participants. It is widely used in scenarios where data sharing is required but data privacy must be protected, such as medical data analysis, financial data processing, etc. Through PSI, all parties can perform effective data comparison and analysis while retaining data privacy.
[0041] RSA (Rivest-Shamir-Adleman): is a public key encryption algorithm used to securely transmit data over an open and insecure network. Its security is based on the mathematical problem of factoring large numbers, and data encryption and decryption are achieved by using a pair of public and private keys. The public key is used to encrypt data, and the private key is used to decrypt data, ensuring that only the party holding the private key can read the encrypted information. In addition, RSA is also used for digital signatures to verify the source and integrity of data.
[0042] Oblivious Transfer (OT) is a cryptographic protocol that allows a sender to transmit multiple messages to a receiver, but the receiver can only choose one of the messages, and the sender does not know which message the receiver has chosen. OT has important applications in privacy protection and secure computing, such as ensuring the privacy of inputs of all parties in multi-party computing. Through the OT protocol, participants can exchange data and perform calculations securely without exposing their choices or inputs.
[0043] Oblivious Programmable Pseudo-Random Function (OPPRF): is a cryptographic technique used for secure computation between multiple parties, where one party can selectively program the function output without revealing the actual programming content or function input. This technique protects data privacy by ensuring that the correct result is output only under certain conditions, and is particularly suitable for scenarios such as privacy intersection and secure multi-party computation.
[0044] In this specification, a data processing method based on multi-party fully anonymous secure computing applied to a first participant and a data processing method based on multi-party fully anonymous secure computing applied to a second participant are provided. This specification also involves a data processing device based on multi-party fully anonymous secure computing applied to the first participant, a data processing device based on multi-party fully anonymous secure computing applied to the second participant, a data processing system based on multi-party fully anonymous secure computing, a computing device, a computer-readable storage medium, and a computer program product, which are described in detail one by one in the following embodiments.
[0045] In today's information age, data security and privacy protection have become the focus of widespread attention. With the rapid development of cloud computing and big data analysis technology, the demand for data sharing and collaborative computing between multiple organizations or institutions is increasing. In this context, how to conduct effective collaborative computing without leaking each other's data has become an urgent problem to be solved. In order to ensure the data security of each participant in the multi-party data computing process, privacy computing has become a common and important means. Privacy computing achieves data protection and utilization by combining data scattered among multiple participants for statistical computing and machine learning.
[0046] However, before performing privacy computing, samples shared by multiple parties must be determined first. The traditional security approach is to use PSI (Private Set Intersection) for data alignment. PSI allows multiple parties to find their intersection without exposing their respective data sets. At present, the PSI commonly used in the industry is mainly based on different technical routes such as RSA (Rivest-Shamir-Adleman) and OT (Oblivious Transfer). The common feature of these technologies is to protect samples outside the intersection from being exposed, but require that user IDs within the intersection must be synchronized among all participants. However, in many cases, this intersection information itself is sensitive information and should not be leaked to other participants. This has caused the traditional PSI processing method to have obvious shortcomings in actual business scenarios due to the high sensitivity of privacy data such as personal information, and it cannot meet these requirements. As a result, the traditional PSI processing method is often not suitable for highly sensitive business scenarios. When using external services, business parties often do not want to disclose their business information, and the intersection information is also sensitive information, which may bring potential risks. In traditional PSI processing, the general calculation logic and models provided by the business party may contain business means and trade secrets, which should not be disclosed to third parties.
[0047] Although there are some solutions that support fully anonymous computing, such as 2PC (Two-Party Computation) that only supports fully anonymous computing between two parties, in real data fusion computing scenarios, the number of parties involved in the computing is often more than two. Simply using the multiple 2PC method, for each additional participant, a 2PC needs to be performed with all other participants, resulting in a computational and communication complexity of O(n²). In addition, when the intersection data is secretly shared among n parties, it is necessary to ensure that any participant cannot obtain the data of other participants even if multiple participants collude without disclosing their own secret sharing, which results in huge computational and communication overheads and certain security risks.
[0048] See also Figure 1 , Figure 1 A flowchart of a data processing method based on multi-party fully anonymous secure computing and applied to a first participant is shown according to an embodiment of the present specification, wherein the first participant includes at least one first data index information and each first data index information corresponds to a first data value, specifically including the following steps.
[0049] It should be noted that in one or more embodiments described in this specification, there are at least two participants participating in the data processing method based on multi-party fully anonymous secure computing. There is no specific way to confirm the first participant among the participants. Any participant can be designated as the first participant, and the other participants can be the second participants. The participants can also be sorted according to the time point of participating in the target business, and the participant with the first place in the ranking can be determined as the first participant. The participants can also be sorted according to the hardware performance of each participant, and the participant with the first place in the ranking can be the first participant. This specification does not impose any limitation on the method of confirming the first participant and the second participant.
[0050] Step 102: Receive at least one second secret information, wherein each second secret information is sent by at least one second participant, the second secret information is generated by at least one second data index information in the second participant and a second data value corresponding to each second data index information, and the second data index information in the second participant corresponds to at least one second secret information.
[0051] In actual applications, the first participant is the participant ranked first after sorting all the participants, the second participant is the participant other than the first participant among all the participants, the first data index information is the index corresponding to the data value stored in the first participant, the first data value is the value of the data stored in the first participant, the second data index information is the index corresponding to the data value stored in the second participant, the second data value is the value of the data stored in the second participant, and the second secret information is the information related to the data stored therein transmitted by the second participant in an encrypted form.
[0052] In an embodiment provided in the present specification, there are three participants, participant 1 has data (X, A), participant 2 has data (Y, B), and participant 3 has data (Z, C). X, Y, and Z are user-exclusive ID sets. In the systems of each participant, the IDs corresponding to the users are the same and each user has a different ID. A, B, and C are data sets corresponding to each user. In this embodiment, participant 1 is determined to be the first participant, and participants 2 and 3 are determined to be the second participants. Then X is the first data index information set, in which the multiple x's included are the first data index information, A is the first data value set, in which the multiple a's included are the first data values, Y and Z are both second data index information sets, and B and C are also second data value sets. The second secret information of participant 2 as the second participant after encryption is (y`, b`), in which y` is the encrypted information obtained by encrypting y, and b` is the encrypted information obtained by encrypting b.
[0053] Considering that the encrypted data needs to be restored after encryption, and the data restoration needs to include an encryption seed with an associated relationship on the restorer, that is, data with an associated relationship between the first participant and each second participant is required, before receiving at least one second secret information, the method further includes:
[0054] Generate a subsequent participant random seed corresponding to each second participant;
[0055] Sending a subsequent participant random seed corresponding to the target second participant to a target second participant, so that the target second participant generates second secret information according to the subsequent participant random seed, wherein the target second participant is any one of the second participants.
[0056] In practical applications, the random seed of the subsequent participant is the random seed sent by the current participant to the subsequent participant after the participants are sorted. The random seed is a parameter corresponding to the pseudo-random function used to generate secret fragments and secret information.
[0057] Specifically, the random seed can be understood as the same random number generated by encrypting the same data using the same random number seed, for example, a random seed, a random number generation function, etc. This specification does not impose any limitation on this.
[0058] In an embodiment provided in the present application, there are three participants, and the participants are sorted as Party 1, Party 2, and Party 3. In this embodiment, polynomial parameters are used as random seeds. Party 1, as the first participant, sends polynomial parameters S12 and S13 to subsequent Party 2 and Party 3, respectively, where S12 is the polynomial parameter corresponding to Party 2, and S13 is the polynomial parameter corresponding to Party 3.
[0059] By providing random seeds to subsequent participants, the subsequent second participants can generate second secret information, which enhances the flexibility and scalability of the system and enables multiple participants to work together without leaking each other's information. At the same time, since each participant only knows part of the information it has generated, the risk of overall data leakage is reduced, thereby improving the security of the computing process. In addition, by providing random seeds to subsequent participants, the subsequent second participants can generate second secret information, which also helps to implement more complex multi-party computing protocols, thereby achieving effective data sharing and collaboration in application scenarios with high requirements for data privacy and security.
[0060] Step 104: Obtain target first data index information and a target first data value corresponding to the target first data index information, wherein the target first data index information is any one of the first data index information.
[0061] By selecting the target first data index information from each first data index information, the first data index information and its corresponding data value are encrypted one by one, which can significantly improve the security and privacy protection level of the data. The one-by-one processing method ensures that each data index information and data value are processed independently during the encryption process, avoiding the risk of overall data exposure. In addition, this fine-grained encryption method helps to accurately control and manage the security of each data unit, which facilitates subsequent access control and data management. This process can also effectively prevent unauthorized access to data during transmission and storage, thereby improving the overall security and reliability of the system while ensuring data encryption efficiency.
[0062] Step 106: Determine the first party second data secret sub-fragment corresponding to each second participant in the target first data index information according to the target first data index information and each second secret information.
[0063] In practical applications, the secret sub-fragment of the second data of the first party is a secret sub-fragment for the second data value in the second party stored in the first party.
[0064] Specifically, the first-party second data secret sub-fragment can be understood as being used to perform operations with the second-party second data secret sub-fragments stored in other second parties to restore the secret fragments corresponding to the second data values. The second-party second data secret sub-fragments include the secret sub-fragments corresponding to the second data values of the second party itself stored in the second party and the secret sub-fragments corresponding to the second data values of other second parties stored in the second party.
[0065] It should be noted that the first party's second data secret sub-fragment can be part of the data carried in the second secret information, or it can be data encrypted using the characteristics of the first party based on the part of the data carried in the second secret information. This specification does not impose any restrictions on this.
[0066] It should be noted that the method for determining the target first data index information for the first party second data secret sub-fragment corresponding to each second participant can be through OPPRF (Oblivious Programmable The OPPRF is used to determine the secret sub-fragment of the first party's second data, and the first party's second data secret sub-fragment ... confirmed random number secret sub-fragment is used to determine the secret sub-fragment of the second data, and the confirmed random number secret sub-fragment is used to determine the secret sub-fragment of the second party's second data, and the confirmed random number secret sub-fragment is used to determine the secret sub-fragment of the first party's second data, and the confirmed random number secret sub-fragment is used to determine the secret sub-fragment of the first party's second data, and the confirmed random number secret sub-fragment is used to determine the secret sub-fragment of the first party's second data, and the confirmed random number secret sub-fragment is used to determine the secret sub-fragment of the first party's second data, and the confirmed random number secret sub-fragment is used to determine the hash value of the first data index information. If so, the first party's second data secret sub-fragment included in the corresponding second secret information is obtained. If not, a random number secret sub-fragment is randomly generated, and the like. This specification does not impose any restrictions on this.
[0067] In an embodiment provided in the present specification, there are participants 1, 2, and 3. The data index information x1 in participant 1 corresponds to the data value b1 in participant 2. After encryption processing, it is determined that participant 1 has the first party's second data secret sub-fragment b1i1, participant 2 has the second party's second data secret sub-fragment b2i1, and participant 3 has the second party's second data secret sub-fragment b3i1. When subsequent data processing is performed, the restored data b1 can be obtained by combining the secret sub-fragments b1i1, b2i1, and b3i1.
[0068] By determining the first-party second data secret sub-fragment stored in the first participant, and combining it with the second-party second data secret sub-fragment stored in other second participants for the same data value in subsequent data processing, the original data value can be restored, thereby realizing a highly secure data protection mechanism, ensuring that a single participant cannot access the complete data independently, effectively preventing the risk of data leakage, and requiring the collaboration of multiple participants to restore the original information, thereby improving the privacy and security of the data processing process, and further enhancing the system's anti-attack capability, ensuring that even if some participants are threatened, the overall data remains secure.
[0069] Further, determining the first party second data secret sub-fragments corresponding to each second participant of the target first data index information according to the target first data index information and each second secret information includes:
[0070] Determine reference second secret information, and parse the reference second secret information to obtain secret key information and secret value information, wherein the reference second secret information is any one of the second secret information;
[0071] Determine a relationship between the reference second secret information and the target first data index information according to the target first data index information and the secret key information;
[0072] In the case where the reference second secret information is the second secret information corresponding to the target first data index information, the first party second data secret sub-fragment corresponding to the target first data index information is determined according to the secret value information, and the step of determining the reference second secret information is returned, wherein the first party second data secret sub-fragment is generated by a reference second data value in a reference second party, the reference second party is the second party that sends the reference second secret information, and the reference second data value is any one of the second data values in the reference second party;
[0073] In a case where the reference second secret information is not the second secret information corresponding to the target first data index information, returning to the step of determining the reference second secret information;
[0074] Until the number of second secret information corresponding to the target first data index information is the same as the number of second parties.
[0075] In actual applications, the second secret information is a key-value pair information including secret key information and secret value information corresponding to the secret key information. The secret key information is information used to confirm that the first data index information corresponds to the second secret information, and the secret value information is information used to generate the first party's second data secret sub-fragment.
[0076] Specifically, the secret key information can be understood as the information generated by encrypting the second data index information of the second party, and the secret value information can be understood as the information generated by encrypting the second data value of the second party. The second data index information and the second data value that generate the same second secret information correspond to each other.
[0077] It should be noted that the method for determining the relationship between the reference second secret information and the target first data index information based on the target first data index information and the secret key information may be to determine whether the target first data index information and the secret key information are the same. If they are the same, it is considered that the target first data index information and the reference second secret information correspond to each other. It may also be to verify the degree of match between the two through an encryption algorithm, or to use a hash function to calculate and compare their hash values to determine their consistency, etc. This specification does not impose any limitation on the method for determining whether each reference second secret information is the first data index information based on the first data index information and the secret key information.
[0078] It should be noted that determining the first party second data secret sub-fragment corresponding to the target first data index information according to the secret value information can be understood as obtaining the encrypted data of the data value of the target first data index information in the corresponding second participant. The method of determining the first party second data secret sub-fragment corresponding to the target first data index information can be to directly determine the secret value information as the first party second data secret sub-fragment, or to parse the secret value information to obtain the first party second data secret sub-fragment carried in the secret value information, etc. This specification does not impose any restrictions on this.
[0079] In one embodiment provided in the present specification, the target first data index information is x1, and the reference second secret information is (y1`, b1`), wherein y1` is the secret key information, and b1` is the secret value information. When x1 matches y1`, the reference second secret information is determined to be the second secret information corresponding to x1, and then the first party's second data secret sub-fragment b1i1 stored in the first party corresponding to the second data value b1 stored by the second party is obtained according to b1`.
[0080] By determining the reference second secret information corresponding to the target first data index information, the first party second data secret sub-fragment stored in the first participant corresponding to the second data value b1 stored by the second participant is determined, and the joint calculation and verification of multi-party data is realized, thereby ensuring the integrity and security of the data. In this process, through interaction and verification, it is ensured that only the correct secret sub-fragment can restore the original data value, which increases the security and confidentiality of data processing and effectively prevents data leakage and unauthorized access. In addition, this method promotes collaboration between participants, ensures that the data contribution of each party is protected, and improves the privacy protection level and computing efficiency of the entire system.
[0081] Further, determining the relationship between the reference second secret information and the target first data index information according to the target first data index information and the secret key information includes:
[0082] Obtaining a first hash value corresponding to the target first data index information, wherein the first hash value is determined by a first hash table construction rule, and the first hash table construction rule includes a hash value calculation rule;
[0083] In a case where the first hash value is the same as the secret key information, determining that the reference second secret information is the second secret information corresponding to the target first data index information;
[0084] When the first hash value is different from the secret key information, it is determined that the reference second secret information is not the second secret information corresponding to the target first data index information.
[0085] In actual applications, the first hash value is the hash value corresponding to the first data index information in the first hash table constructed by the first party based on the first data index information, the first hash table construction rule is the rule used by the first party to construct the first hash table based on each first data index information, and the hash value calculation rule is the rule used to calculate the first hash value corresponding to each first data index information.
[0086] Specifically, the hash value calculation rule includes at least one hash calculation function. Taking into account the efficiency of the search and insertion operations, and the need for each first data index value in the first participant to have a single first hash value as a basis for determining that the first data index value corresponds to the second secret information, it is preferred to have a hash value calculation rule including multiple hash calculation functions to implement the first hash table construction rule. Each row in the first hash table obtained by the first hash table construction rule stores only one hash value, that is, each row in the first hash table corresponds to one first data index information, and it can be determined that each first data index information of the first participant corresponds to only one number of rows in the hash table (first hash index information), such as a Cuckoo hash table, etc. This specification does not impose any restrictions on this.
[0087] Taking into account the need to verify whether the second secret information sent by the second participant corresponds, the secret key information in the second secret information is also determined by a hash value calculation rule including multiple hash calculation functions, and because the data included in the second participant may not be included in the first participant, that is, the set composed of the second data index information included in the second participant may be different from the set composed of the first data index information in the first participant, and the first and second parties are not clear about which data index information is included. Therefore, in order to ensure that the situation where the data index information in the second participant is the same as the data index information in the first participant will not be omitted, when constructing the second hash table in the second participant, a row of the hash table can store multiple hash values, and a plurality of second hash values obtained by calculating a certain second data index information through multiple hash calculation functions in the hash value calculation rule are stored in the second participant, and each second hash value is used as key information to generate multiple second secret information, so that it can be determined that the second data index information in the second participant corresponds to multiple second secret information.
[0088] Step 108: Generate first party secret fragments corresponding to the target first data index information based on the target first data index information, the first data value corresponding to the target first data index information, and each first party second data secret sub-fragment corresponding to the target first data index information, so as to determine the data processing result corresponding to the target first data index information based on the first party secret fragments corresponding to the target first data index information and the second party secret fragments corresponding to each second participant, wherein the second party secret fragments are generated by each second participant according to the second data index information.
[0089] In practical applications, the data processing result is the result obtained by processing the data provided by each participant. The data processing result corresponding to the first data index information can be understood as the result obtained by processing the data value corresponding to the same data index information in each participant. Taking data summation as an example, the first data index information is the user ID, and the sum of the corresponding values of Zhang San in institutions A, B and C is the result of data processing. Taking federated learning as an example, the first data index information is the patient ID. For example, patient Wang Wu has records in institutions A, B and C. Each institution calculates the model update based on local data, and hospitals A, B and C respectively calculate the contribution value of Wang Wu's relevant data to the model, which is the data value stored in each institution (participant). Then, each hospital summarizes and averages these contribution values to obtain the global model update result corresponding to Wang Wu, which is the data processing result.
[0090] Data processing is performed through the first party secret fragments of the first participant and each second party secret fragment, ensuring that data processing is achieved without leaking the private data stored by each participant.
[0091] Further, generating a first party secret fragment corresponding to the target first data index information according to the target first data index information, the first data value corresponding to the target first data index information, and each first party second data secret sub-fragment corresponding to the target first data index information includes:
[0092] Obtaining first hash index information corresponding to the target first data index information, wherein the first hash index information is determined by the target first data index information according to a first hash table construction rule;
[0093] Generate a first party first data secret sub-fragment according to the first hash index information and the first data value;
[0094] Generate first-party data index secret sub-fragments according to each second secret information corresponding to the target first data index information;
[0095] Based on the first party first data secret sub-fragment, the first party data index secret sub-fragment and each first party second data secret sub-fragment, a first party secret fragment corresponding to the target first data index information is generated.
[0096] In practical applications, the first hash index information is the index information of the data index information in the first hash table, and the first party's first data secret sub-fragment is the secret sub-fragment of the first data value stored by the first participant for itself.
[0097] Specifically, the first hash index information can be understood as a first hash table in which each row corresponds to a single hash value after processing each first data index information using a first hash table construction rule, and the row where the hash value is located is the first hash index information corresponding to the hash value.
[0098] It should be noted that since each participant does not know the information stored by other participants, and each participant obtains the hash value by calculating the data index information through the same hash calculation function to obtain the hash value corresponding to each data index information, and the same hash value corresponds to the same number of rows in the hash table (that is, the hash index value), therefore, the first data secret sub-fragment of the first party generated according to the first hash index information can be used to restore the first data value according to the second first data secret sub-fragments of the second participant during subsequent data processing to achieve subsequent data processing.
[0099] Further, generating a first party first data secret sub-fragment according to the first hash index information and the first data value includes:
[0100] Obtain the subsequent participant random seeds corresponding to each second participant;
[0101] Obtaining a first secret fragment random value corresponding to the random seed of each subsequent participant according to the first hash index information and the random seed of each subsequent participant;
[0102] Generate a first party first data secret sub-fragment according to the first data value and the first secret fragment random value corresponding to the random seed of each subsequent participant.
[0103] In actual applications, the random seed of the subsequent participants corresponding to each second participant is the random seed sent by the first participant to each second participant, and the random value of the first secret fragment corresponding to each random seed is to construct a random function based on each random seed, and use the first hash index information as the independent variable of the polynomial to obtain the value of the polynomial.
[0104] In one embodiment provided in this specification, Party 1 as the first participant sends random seeds S12 (2, 4, 7, 7) and S13 (9, 8, 7, 9) to subsequent Party 2 and Party 3, respectively, where S12 is the subsequent random seed corresponding to Party 2, S13 is the subsequent random seed corresponding to Party 3, and the first hash index information is 5. Therefore, the random number generation function for Party 2 with the first hash index information of 5 is 2+4×5+7×5 2 +7×5, the corresponding first secret fragment random value of participant 2 is calculated to be 1072 3(For the convenience of subsequent description, it is recorded as F(S12, 5)), the random number generation function for participant 3 with the first hash index information of 5 is 9+8×5+7×5 2 +9×5 3 , calculate and determine that the corresponding first secret fragment random value of participant 3 is 1349 (for the convenience of subsequent description, it is recorded as F (S13, 5)), and then the above two random values and the first data value 78455 corresponding to the first hash index information 5 are reversibly fused (for example, a reversible fusion processing method of exclusive OR (XOR), which fuses the two above together so that the original data can be restored from the fused data by applying the same exclusive OR operation again) to generate the first party's first data secret sub-fragment.
[0105] It should be noted that the first party first data secret sub-fragments obtained based on the above method can, during data processing, successfully restore the first data value by reversibly fusion processing the second party first data secret sub-fragments of the first data of each second reference party, thereby subsequently implementing data processing to obtain data processing results.
[0106] Further, generating first-party data index secret sub-fragments according to each second secret information corresponding to the target first data index information includes:
[0107] Parsing each second secret information corresponding to the target first data index information, and determining secret value information corresponding to each second secret information;
[0108] Parse the secret value information corresponding to each second secret information to obtain a second hash index random number corresponding to each second secret information, wherein the second hash index random number is determined by the second hash index information, and the second hash index information is determined by processing each second data index information by a second hash table construction rule;
[0109] Generate a first-party data index secret sub-shard based on each second hash index random number.
[0110] In practical applications, the second hash index random number is a random number corresponding to each second hash index value, and the first-party data index secret sub-fragment is a data value after the second hash index random numbers of each second party are merged.
[0111] Specifically, the data processing result obtained by combining the first-party secret fragments including the first-party data index secret sub-fragments, the first-party first data secret sub-fragments and the first-party second data secret sub-fragments corresponding to each second participant with the second-party data index secret sub-fragments, the second-party first data secret sub-fragments and the second-party second data secret sub-fragments corresponding to each second participant can be understood as first determining the secret sub-fragments corresponding to the data values with the same data index information in each participant based on the first-party data index secret sub-fragments and the second-party data index secret sub-fragments corresponding to each second participant. Since the first-party data index secret sub-fragments are data values after being merged according to the second hash index random numbers corresponding to each second participant, the second-party data index secret sub-fragments generated by the second hash index random numbers corresponding to the second participants are merged in the same way and then judged with the first-party data index secret sub-fragments to determine the secret fragments corresponding to the same data index in each party.
[0112] In one embodiment of the present specification, there are participants 1, 2, and 3. The data index information x1 in participant 1 corresponds to a data value a1 in participant 1, a data value b1 in participant 2, and a data value c1 in participant 3. After encryption processing, the first hash index information corresponding to the first data index information x1 is determined to be i through a first hash table construction rule including three hash functions H1(), H2(), and H3().
[0113] The first data index information x1 and the first secret fragment corresponding to the participant 1 include the first party data index secret sub-fragment r1i1=r2i1⊕r3i1, the first party first data secret sub-fragment a1i1=a1⊕F(S12, i)⊕F(S13, i), the first party second data secret sub-fragment b1i1=b1⊕F(S22, i)⊕F(S23, i) and the first party second data secret sub-fragment c1i1=c1⊕F(S23, i)⊕F(S33, i).
[0114] The first data index information x1 and the second secret fragment corresponding to the participant 2 include the second party data index secret sub-fragment r2i1=r2i1, the second party first data secret sub-fragment a2i1= F(S12, i), the second party second data secret sub-fragment b2i1= F(S22, i) and the second party second data secret sub-fragment c2i1= F(S23, i).
[0115] The first data index information x1 and the second secret fragment corresponding to the participant 3 include the second party data index secret sub-fragment r3i1=r3i1, the second party first data secret sub-fragment a3i1= F(S13, i), the second party second data secret sub-fragment b3i1= (S23, i) and the second party second data secret sub-fragment c3i1= F(S33, i).
[0116] When performing subsequent calculations to obtain the sum of a1, b1, and c1 corresponding to x1 in each participant, the corresponding data processing result can be determined as (r1i1==r2i1⊕r3i1)?·(a1i1⊕a2i1⊕a3i1)+(b1i1⊕b2i1⊕b3i1)+(c1i1⊕c2i1⊕c3i1), where (r1i1==r2i1⊕r3i1)? This ensures that only data with the same data index value can have data output. If they are different, the confirmation result is zero. It can also be understood as determining the secret fragments of each second party corresponding to the target first data index to obtain the data processing result. Since the XOR process (⊕) is a reversible fusion process (a1i1⊕a2i1⊕a3i1) can restore the data a1. Similarly, (b1i1⊕b2i1⊕b3i1) can restore the data b1, and (c1i1⊕c2i1⊕c3i1) can restore the data c1. This means that data processing can be achieved through various secret fragments without transmitting the data itself.
[0117] In another embodiment of the present specification, take two participants as an example, including participant 1 and participant 2, the data index information x1 in participant 1 corresponds to the data value a1 in participant 1, and corresponds to the data value b1 in participant 2, then after encryption processing, the first hash index information corresponding to the first data index information x1 is determined to be i through the first hash table construction rule including three hash functions H1(), H2() and H3(). The first data index information x1 and the first secret fragment corresponding to participant 1 include the first party data index secret sub-fragment r1i1=r2i1, the first party first data secret sub-fragment a1i1=a1⊕F(S12,i), and the first party second data secret sub-fragment b1i1=b1⊕F(S22,i). The first data index information x1 and the second secret fragment corresponding to the participant 2 include the second party data index secret sub-fragment r2i1=r2i1, the second party first data secret sub-fragment a2i1= F(S12, i), and the second party second data secret sub-fragment b2i1= F(S22, i). When performing subsequent calculations to obtain the sum of a1 and b1 corresponding to x1 in each participant, the corresponding data processing result can be determined as (r1i1==r2i1)?·(a1i1⊕a2i1)+(b1i1⊕b2i1)+(c1i1⊕c2i1).
[0118] In another embodiment of the present specification, taking four participants as an example, including participant 1, participant 2, participant 3 and participant 4, the data index information x1 in participant 1 corresponds to the data value a1 in participant 1, corresponds to the data value b1 in participant 2, corresponds to the data value c1 in participant 3, and corresponds to the data value d1 in participant 4. After encryption processing, the first hash index information corresponding to the first data index information x1 is determined to be i through the first hash table construction rule including three hash functions H1(), H2() and H3().
[0119] The first data index information x1 and the first secret fragment corresponding to participant 1 include the first party data index secret sub-fragment r1i1=r2i1⊕r3i1⊕r4i1, the first party first data secret sub-fragment a1i1=a1⊕F(S12, i)⊕F(S13, i)⊕F(S14, i), the first party second data secret sub-fragment b1i1=b1⊕F(S22, i)⊕F(S23, i)⊕F(S24, i), the first party second data secret sub-fragment c1i1=c1⊕F(S23, i)⊕F(S33, i)⊕F(S34, i), and another first party second data secret sub-fragment d1i1=c1⊕F(S24, i)⊕F(S34, i)⊕F(S44, i).
[0120] The first data index information x1 and the second secret fragment corresponding to the participant 2 include the second party data index secret sub-fragment r2i1=r2i1, the second party first data secret sub-fragment a2i1= F(S12, i), the second party second data secret sub-fragment b2i1= F(S22, i), the second party second data secret sub-fragment c2i1= F(S23, i) and another second party second data secret sub-fragment d2i1= F(S24, i).
[0121] The first data index information x1 and the second secret fragment corresponding to the participant 3 include the second party data index secret sub-fragment r3i1=r3i1, the second party first data secret sub-fragment a3i1= F(S13, i), the second party second data secret sub-fragment b3i1= F(S23, i), the second party second data secret sub-fragment c3i1= F(S33, i) and another second party second data secret sub-fragment d3i1= F(S34, i).
[0122] The first data index information x1 corresponds to the second secret fragment of participant 4, including the second party data index secret sub-fragment r4i1=r4i1, the second party first data secret sub-fragment a4i1= F(S14, i), the second party second data secret sub-fragment b4i1= F(S24, i), the second party second data secret sub-fragment c4i1= F(S34, i) and another second party second data secret sub-fragment d4i1= F(S44, i).
[0123] When performing subsequent calculations to obtain the sum of a1, b1, c1, and d1 corresponding to x1 in each participant, the corresponding data processing result can be determined as (r1i1==r2i1⊕r3i1⊕r4i1)?·(a1i1⊕a2i1⊕a3i1⊕a4i1)+(b1i1⊕b2i1⊕b3i1⊕b4i1)+(c1i1⊕c2i1⊕c3i1⊕c4i1)+(d1i1⊕d2i1⊕d3i1⊕d4i1).
[0124] It should be noted that when each second participant generates multiple second secret information and second secret fragments corresponding to the target second data index, it can be understood as determining the target second data index to obtain multiple target hash values according to the hash calculation function, and then determining the second secret information and second secret fragments corresponding to each target hash value. For a certain target hash value, the hash index value corresponding to the target hash value can be determined and the hash index random number corresponding to the hash index value can be confirmed. Then, each random value is generated in combination with the random seed related to the second participant, and the data value corresponding to the target second data index is combined with the above-mentioned random values and the hash index random number to generate a second secret value. After that, the above-mentioned hash index random number is determined as the second party data index secret sub-fragment, and the random value obtained by determining each data corresponding to the random seed is determined as each data secret sub-fragment.
[0125] Take three parties as an example, there are three parties, party 1, party 2, and party 3, party 1 is the first party, and the sorting results are party 1, party 2, and party 3. Party 2 includes data index information y1 and data value b1. Three different hash calculation functions are used to determine that the data index information y1 corresponds to three hash values H1(y1), H2(y1), and H3(y1). H1(y1) corresponds to hash index α, H2(y1) corresponds to hash index β, and H3(y1) corresponds to hash index θ. The three hash values also correspond to three second secret information and second party secret fragments, respectively. The random numbers r2α1 corresponding to α, r2β1 corresponding to β, and r2θ1 corresponding to θ are generated respectively, and the previous random value S12 sent by party 1 is received, and its own random value S22 and the subsequent random value S23 sent to party 3 are generated.
[0126] Taking hash index α1 as an example, its corresponding second secret value is (H1(y1), r2α1||b1⊕F(S22, i)⊕F(S23, i)⊕F(S24, i)) and its corresponding second secret fragments include the second party data index secret sub-fragment r2α1=r2α1, the second party first data secret sub-fragment a2α1= F(S12, α), the second party second data secret sub-fragment b2i1= F(S22, α) and the second party second data secret sub-fragment c2i1= F(S23, α), where “||” represents splicing.
[0127] By applying the scheme of the embodiments of this specification, the first party receives the first party secret fragments generated by the second secret information sent by each second party, and performs data processing based on the above-mentioned first party secret fragments and the second party secret fragments generated by each second party based on its own data. Since the second party secret fragments used when obtaining the data processing results are generated by each second party only based on its own second data index information, it is achieved that when encrypting data, there is no need for data interaction between the second parties, and there is no need to perform encryption calculations between the second parties, thereby reducing the number of calculations during encryption and improving encryption efficiency.
[0128] Moreover, when processing data, each secret fragment is used to obtain the processing result of the data, ensuring that the secret value of each participant will not be obtained by other colluding parties. Even if there is collusion, the original data can only be obtained by voluntarily disclosing one's own secret fragment, effectively preventing the threat of collusion to data security, and thus ensuring data security while improving encryption efficiency.
[0129] Corresponding to the above method embodiment, this specification also provides a data processing method embodiment based on multi-party fully anonymous secure computing applied to the second participant, see Figure 2 , Figure 2 A flowchart of a data processing method based on multi-party fully anonymous secure computing applied to a second participant is shown according to an embodiment of the present specification, wherein the second participant includes at least one second data index information and a second data value corresponding to each second data index information, and specifically includes the following steps.
[0130] Step 202: Determine target second data index information and a second data value corresponding to the target second data index information, wherein the target second data index information is any one of the second data index information.
[0131] Step 204: Generate at least one second secret information and at least one second party secret fragment corresponding to the target second data index information according to the target second data index information and the second data value corresponding to the target second data index information.
[0132] Furthermore, before generating at least one second secret information and at least one second party secret fragment corresponding to the target second data index information according to the target second data index information and the second data value corresponding to the target second data index information, the method further includes:
[0133] Receive at least one predecessor random seed and a first-party random seed, wherein the predecessor random seed is a subsequent random seed for the target second party and sent by each second party before the target second party, and the first-party random seed is a subsequent random seed for the target second party and sent by the first party;
[0134] Generate a subsequent participant random seed corresponding to at least one subsequent second participant and a self-random seed corresponding to the second participant;
[0135] Correspondingly, generating at least one second secret information and at least one second party secret fragment corresponding to the target second data index information according to the target second data index information and the second data value corresponding to the target second data index information includes:
[0136] Generate at least one second hash index information according to the target second data index information, wherein the second hash index information is generated according to a second hash table construction rule;
[0137] Determine the target second hash index information, and determine the second secret information and the second party secret fragment corresponding to the target second hash index information of the target second data index information according to each random seed and the target second hash index information, wherein the target second hash index information is any one of the second hash index information, and the random seeds include the random seeds of each predecessor participant, the random seeds of each subsequent participant, the own random seed and the first party random seed.
[0138] Further, determining the target second hash index information, and determining the second secret information and the second party secret fragment corresponding to the target second data index information for the target second hash index information according to each random seed and the target second hash index information, including:
[0139] Generate at least one secret information random value corresponding to the target second Hash index information according to the random seeds of each predecessor participant, the random seeds of each subsequent participant, the own random seed and the target second Hash index information, and generate the second secret information corresponding to the target second Hash index information for the target second data index information based on the target second data index information, the second data value and the random values of each secret information;
[0140] According to each random seed and the target second hash index information, generate at least one second secret fragment random value corresponding to the target second hash index information, and based on the target second data index information and each second secret fragment random value, generate the second secret fragment corresponding to the target second hash index information for the target second data index information.
[0141] In practical applications, the second secret fragment random value includes the first data secret fragment random value and the second data secret fragment random value.
[0142] Further, based on the target second data index information and the random value of each second secret fragment, generating the second secret fragment corresponding to the target second data index information for the target second hash index information includes:
[0143] Generate a second hash index random number according to the target second hash index information, and determine the second hash index random number as a second-party data index secret sub-shard;
[0144] Determine the first data secret fragment random value as the second party's first data secret sub-fragment, wherein the first data secret fragment random value is generated by the first party's random seed;
[0145] Determine a random value of each second data secret fragment, which is a second party second data secret sub-fragment corresponding to each second party for the target second party;
[0146] Based on the second party data index secret sub-fragment, the second party first data secret sub-fragment and each second party second data secret sub-fragment, determine the second secret fragment corresponding to the target second data index information for the target second hash index information.
[0147] The above is a schematic scheme of a data processing method based on multi-party fully anonymous secure computing applied to the second participant in this embodiment. It should be noted that the technical scheme of the data processing method based on multi-party fully anonymous secure computing applied to the second participant and the technical scheme of the data processing method based on multi-party fully anonymous secure computing applied to the first participant belong to the same concept. The details of the technical scheme of the data processing method based on multi-party fully anonymous secure computing applied to the second participant that are not described in detail can all be referred to the description of the technical scheme of the data processing method based on multi-party fully anonymous secure computing applied to the first participant.
[0148] By applying the scheme of the embodiments of this specification, the first party receives the first party secret fragments generated by the second secret information sent by each second party, and performs data processing based on the above-mentioned first party secret fragments and the second party secret fragments generated by each second party based on its own data. Since the second party secret fragments used when obtaining the data processing results are generated by each second party only based on its own second data index information, it is achieved that when encrypting data, there is no need for data interaction between the second parties, and there is no need to perform encryption calculations between the second parties, thereby reducing the number of calculations during encryption and improving encryption efficiency.
[0149] Moreover, when processing data, each secret fragment is used to obtain the processing result of the data, ensuring that the secret value of each participant will not be obtained by other colluding parties. Even if there is collusion, the original data can only be obtained by voluntarily disclosing one's own secret fragment, effectively preventing the threat of collusion to data security, and thus ensuring data security while improving encryption efficiency.
[0150] See also Figure 3 , Figure 3 The diagram shows an architecture diagram of a data processing system based on multi-party fully anonymous secure computing provided by an embodiment of the present specification. The data processing system based on multi-party fully anonymous secure computing may include a first participant 100, a second participant 200, and a data computing party 300;
[0151] The target second participant 2002 is used to determine the target second data index information and the second data value corresponding to the target second data index information; generate at least one second secret information and at least one second party secret fragment corresponding to the target second data index information according to the target second data index information and the second data value corresponding to the target second data index information, wherein the target second participant is any one of the second participants, and the target second data index information is any one of the second data index information of the target second participants; and send the second secret information to the first participant 100 and send the second party secret fragment to the data calculation party 300;
[0152] The first participant 100 is used to receive each second secret information sent by the target second participant 2002; obtain the target first data index information and the target first data value corresponding to the target first data index information; determine the first party second data secret sub-fragment corresponding to each second participant of the target first data index information according to the target first data index information and each second secret information; generate the first party secret fragment corresponding to the target first data index information according to the target first data index information, the first data value corresponding to the target first data index information, and each first party second data secret sub-fragment corresponding to the target first data index information, wherein the target first data index information is any one of the first data index information, and the second party secret fragment is generated by each second participant according to the second data index information;
[0153] The data calculation party 300 is used to receive the first party secret fragments corresponding to the target first data index information sent by the first participant 100 and the second party secret fragments sent by each second participant 200; determine the data processing result corresponding to the target first data index information according to the first party secret fragments corresponding to the target first data index information and the second party secret fragments corresponding to each second participant, and send the data processing result to the first participant 100 and each second participant 200.
[0154] By applying the scheme of the embodiments of this specification, the first party receives the first party secret fragments generated by the second secret information sent by each second party, and performs data processing based on the above-mentioned first party secret fragments and the second party secret fragments generated by each second party based on its own data. Since the second party secret fragments used when obtaining the data processing results are generated by each second party only based on its own second data index information, it is achieved that when encrypting data, there is no need for data interaction between the second parties, and there is no need to perform encryption calculations between the second parties, thereby reducing the number of calculations during encryption and improving encryption efficiency.
[0155] Moreover, when processing data, each secret fragment is used to obtain the processing result of the data, ensuring that the secret value of each participant will not be obtained by other colluding parties. Even if there is collusion, the original data can only be obtained by voluntarily disclosing one's own secret fragment, effectively preventing the threat of collusion to data security, and thus ensuring data security while improving encryption efficiency.
[0156] The data processing system based on multi-party fully anonymous secure computing may include a single first participant 100 and multiple second participants 200. The first participant 100 and multiple second participants 200 may establish a communication connection, and each second participant 200 may not establish a communication connection. The data computing party 300 establishes a communication connection with each participant. In the data processing scenario based on multi-party fully anonymous secure computing, the data computing party 300 is used to provide data processing services based on multi-party fully anonymous secure computing between the participants. Multiple participants can select any one as the first participant 100 and the rest as the second participants 200. The data computing party 300 can be selected from the various participants or another server with computing power can be selected as the data computing party.
[0157] The first participant 100 and each second participant 200, and the data computing party 300 and each participant are connected through a network. The network provides a medium for communication links for each computing device. The network may include various connection types, such as wired or wireless communication links or optical fiber cables, etc. The data transmitted between each computing device may need to be encoded, transcoded, compressed, etc. before being released to the computing device receiving the data.
[0158] The data calculation party 300 may include servers that provide various computing services, such as a server that uses secret fragments provided by multiple participants to train a deep learning model, or a server that uses secret fragments provided by multiple participants to calculate the sum of a user's data stored on each participant, and so on.
[0159] It should be noted that each participant and the data computing party 300 can be implemented as a distributed server cluster composed of multiple servers, or as a single server. The server can also be a server of a distributed system, or a server combined with a blockchain. The server can also be a cloud server for basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content distribution networks (CDN, Content Delivery Network), and big data and artificial intelligence platforms, or an intelligent cloud computing server or intelligent cloud host with artificial intelligence technology.
[0160] refer to Figure 4 , Figure 4 A schematic diagram of the processing flow of each party in a data processing system based on multi-party fully anonymous secure computing provided by an embodiment of the present specification is shown. In this embodiment, a participant having n is taken as an example to illustrate the steps performed by each participant.
[0161] Participant 1 is selected as the first participant to perform data processing based on multi-party fully anonymous secure computing. It first receives the second secret information sent by the remaining second participants, determines the first party secret fragments based on each second secret information and the data value and data index stored in itself, and sends the first party secret fragments to participant 2 responsible for data calculation.
[0162] Party 2 is the second party and is selected to be responsible for data calculation. It performs data processing based on multi-party fully anonymous secure computing. It first calculates the second secret information based on its own data value and data index, and sends the second secret information to Party 1 selected as the first party. It then calculates the second party secret fragments based on its own data index, and then receives the first party secret fragments sent by the first party and the second party secret fragments sent by each second party, and obtains the data processing result based on the first party secret fragments of the first party and its own and each second party secret fragment of the remaining second parties.
[0163] Participant 3-n, as the second participant, performs data processing based on multi-party fully anonymous secure computing. It first calculates the second secret information based on its own data value and data index, and sends the second secret information to participant 1 selected as the first participant. It then calculates the second party secret fragments based on its own data index, and sends the second party secret fragments to participant 2 responsible for data calculation.
[0164] The following combination Figure 5 Taking the application of the data processing method based on multi-party fully anonymous secure computing provided in this specification in multi-party data summation as an example, the data processing method based on multi-party fully anonymous secure computing is further explained. Figure 5 A processing flow chart of a multi-party data summing method provided in an embodiment of the present specification is shown, which specifically includes the following steps.
[0165] Step 502: Obtain the ranking information of each participant, and determine the current participant according to the ranking information.
[0166] Step 504: Generate a random seed for the current participant corresponding to the current participant's data, and generate a random seed for subsequent participants with a sorting information greater than that of the current participant corresponding to the current participant's data.
[0167] In one embodiment provided in this specification, the self-random seed is a random seed pointing to itself (such as S11, S22), and the subsequent participant random seed is a random seed pointing to the subsequent participant (such as S12, S13, S23, etc.).
[0168] Step 506: Determine the participant whose sorting information is the first as the first participant, and enable the first participant to construct a first hash table according to the first data index information x corresponding to each first data information a in the first participant.
[0169] In one embodiment provided in this specification, three hash functions H1(), H2(), and H3() (hereinafter referred to as H3() for convenience of description) are used to construct the first hash table. α () for illustration) The first hash index information i in the first hash table corresponds to a first hash value H1(x) or H2(x) or H3(x) (hereinafter referred to as H for convenience of description) α (x) for explanation).
[0170] Step 508: Determine the first hash value H corresponding to the first data information a according to the first data index information corresponding to each first data information a in the first hash table. α (x), and each first hash value H α (x) The corresponding first hash index information i.
[0171] Step 510: The target second participant constructs a second hash table according to the second data index information y corresponding to each second data information b in the two participants.
[0172] In one embodiment provided in this specification, the target second participant is any one of the second participants, and the second hash index information j in the second hash table corresponds to multiple second hash values H α (y) The multiple hash calculation functions used to construct the second hash table are the same as the multiple hash calculation functions used to construct the first hash table.
[0173] Step 512: Generate the second hash index random number r2j corresponding to each second hash index information j according to the preset random number bit number, and calculate the random value corresponding to each second hash index information j for each random seed according to its own random seed and the random seed of the subsequent participant.
[0174] In one embodiment provided in the present specification, taking the random seed S12 as an example, the random value corresponding to the random seed S12 of the second hash index information j is F(S12, j).
[0175] Step 514: For each H α(y) Determine the corresponding second hash index information j and second data information b, perform XOR calculation on the second data information b and each second hash index information j according to the random value corresponding to each random seed, and obtain the encrypted data information b` corresponding to the second data information b.
[0176] In one embodiment provided in this specification, the random seed here includes the second participant's own random seed, all subsequent participants' random seeds, and the remaining random seeds received except those sent by the first participant.
[0177] Step 516: H α (y) The corresponding second hash index random number r2j is concatenated with the encrypted data information b' as a secret value. α (y) is generated as a secret key, H α (y) (also the second data index information y and the second data information b corresponding to y) corresponding to the secret information L2.
[0178] Step 518: The first participant receives multiple secret information L2 sent by other participants and performs OPPRF. For each secret information L2, the first participant obtains secret fragment calculation information z according to the algorithm properties of OPPRF.
[0179] It should be noted that due to the nature of the OPPRF algorithm, it is not clear whether the H in L2 exists in the first party when data encryption is performed. α (y) Equal H α (x), therefore, this step can be understood as determining whether there is H in L2 α (y) Equal H α (x) , if yes, get H in L2 α (y) The corresponding encrypted data information b' is used as the secret fragment to calculate the information z. If not, randomly generate H in L2 α (y) The random number of the same length as the corresponding encrypted data information b` is used as the secret fragment to calculate the information z.
[0180] Step 520: The first party cuts the calculation information z according to the preset random number, obtains the data index random number and the first party's second data secret sub-fragment, and converts H α (x) The corresponding multiple data index random numbers are XORed to obtain the first-party data index secret sub-fragment.
[0181] Step 522: Perform an XOR calculation on the first data information a and each first hash index information i according to the random value corresponding to each random seed, obtain the first-party first data secret sub-fragment corresponding to the first data information a, and use the first-party data index secret sub-fragment, the first-party first data secret sub-fragment and each first-party second data secret sub-fragment as the first-party secret fragment.
[0182] Step 524: The second participant sends H α (y) The corresponding second hash index random number r2j, the second party data index secret sub-fragment, and the random value corresponding to the random seed of the second hash index information j is used as the second party first data secret sub-fragment corresponding to the data information a, and the random value corresponding to the random seed of the second hash index information j is used as the second party second data secret sub-fragment corresponding to the data information b.
[0183] In one embodiment provided in the present specification, the random seed used to obtain the second party's first data secret sub-fragment is the random seed sent by the first party to the second party, and the random seed used to obtain the second party's second data secret sub-fragment is the random seed between the second party holding the data information b and the second party (if the second party has only one party, the random seed here is the second party's own random seed).
[0184] Step 526: The second party uses the second party data index secret sub-fragment, the second party first data secret sub-fragment and each second party second data secret sub-fragment as the second party secret fragment.
[0185] Step 528: Each participant shares its corresponding secret fragments, and uses the data calculation server to perform data calculation on the secret fragments shared by each secret participant according to the needs.
[0186] Step 530: The data computing server receives the secret fragments of each party, and determines the target first-party secret fragment corresponding to the first participant and the target second-party secret fragment corresponding to each second participant from each secret fragment.
[0187] It should be noted that the target first-party secret fragment is any one of the first-party secret fragments corresponding to the first participant, and the target second-party secret fragment is any one of the second-party secret fragments corresponding to the second participant.
[0188] Step 532: Calculate whether the XOR calculation result of the second party data index secret sub-fragment in each target second party secret fragment is equal to the first party data index secret sub-fragment in the target first party secret fragment, and obtain the data index calculation result.
[0189] Step 534: The data calculation server performs an XOR calculation on the first party's first data secret sub-fragment and each of the second party's first data secret sub-fragments to obtain a first data estimate value a^, and performs an XOR calculation on the first party's second data secret sub-fragment and each of the second party's second data secret sub-fragments to obtain a second data estimate value b^. The data calculation server calculates a^+b^ to obtain data sub-fragment calculation result information.
[0190] Step 536: The data calculation server determines that the data index calculation result multiplied by the data sub-fragment calculation result information is an initial calculation result corresponding to the target first-party secret fragment.
[0191] Step 538: Determine that the non-zero initial calculation results among the initial calculation results corresponding to the target first-party secret fragments are the calculation results corresponding to the target first-party secret fragments.
[0192] In one embodiment provided in this specification, the calculation result corresponding to the target first-party secret fragment is the sum of the corresponding data of the target with the same index in each participating party, such as the total amount of money stored by Zhang San in different banks.
[0193] By applying the scheme of the embodiments of this specification, the first party receives the first party secret fragments generated by the second secret information sent by each second party, and the second party secret fragments generated by each second party based on its own data, to obtain the sum of the corresponding data of the same data index in each party. Since the second party secret fragments used when obtaining the data processing results are generated by each second party only based on its own second data index information, it is achieved that when encrypting data, there is no need for data interaction between the second parties, and there is no need to perform encryption calculations between the second parties, thereby reducing the number of calculations during encryption and improving encryption efficiency.
[0194] Moreover, when processing data, each secret fragment is used to obtain the processing result of the data, ensuring that the secret value of each participant will not be obtained by other colluding parties. Even if there is collusion, the original data can only be obtained by voluntarily disclosing one's own secret fragment, effectively preventing the threat of collusion to data security, and thus ensuring data security while improving encryption efficiency.
[0195] Corresponding to the above method embodiment, this specification also provides a data processing device embodiment based on multi-party fully anonymous secure computing applied to a first participant, Figure 6 FIG. 1 shows a schematic diagram of a data processing device based on multi-party fully anonymous secure computing applied to a first participant provided by an embodiment of the present specification. Figure 6As shown, the device is applied to a first participant, wherein the first participant includes at least one first data index information and a first data value corresponding to each first data index information, including:
[0196] The first party receiving module 602 is configured to receive at least one second secret information, wherein each second secret information is sent by at least one second participant, the second secret information is generated by at least one second data index information in the second participant and a second data value corresponding to each second data index information, and the second data index information in the second participant corresponds to at least one second secret information;
[0197] The first party acquisition module 604 is configured to acquire target first data index information and a target first data value corresponding to the target first data index information, wherein the target first data index information is any one of the first data index information;
[0198] The first party determination module 606 is configured to determine the first party second data secret sub-fragment corresponding to each second party of the target first data index information according to the target first data index information and each second secret information;
[0199] The first-party generation module 608 is configured to generate the first-party secret fragments corresponding to the target first data index information based on the target first data index information, the first data value corresponding to the target first data index information, and each first-party second data secret sub-fragment corresponding to the target first data index information, so as to determine the data processing result corresponding to the target first data index information based on the first-party secret fragments corresponding to the target first data index information and the second-party secret fragments corresponding to each second participant, wherein the second-party secret fragments are generated by each second participant according to the second data index information.
[0200] Optionally, the data processing device based on multi-party fully anonymous secure computing further includes a first participant random seed sending module configured to:
[0201] Generate a subsequent participant random seed corresponding to each second participant;
[0202] Sending a subsequent participant random seed corresponding to the target second participant to a target second participant, so that the target second participant generates second secret information according to the subsequent participant random seed, wherein the target second participant is any one of the second participants.
[0203] Optionally, the first party determination module 606 is further configured to:
[0204] Determine reference second secret information, and parse the reference second secret information to obtain secret key information and secret value information, wherein the reference second secret information is any one of the second secret information;
[0205] Determine a relationship between the reference second secret information and the target first data index information according to the target first data index information and the secret key information;
[0206] In the case where the reference second secret information is the second secret information corresponding to the target first data index information, the first party second data secret sub-fragment corresponding to the target first data index information is determined according to the secret value information, and the step of determining the reference second secret information is returned, wherein the first party second data secret sub-fragment is generated by a reference second data value in a reference second party, the reference second party is the second party that sends the reference second secret information, and the reference second data value is any one of the second data values in the reference second party;
[0207] In a case where the reference second secret information is not the second secret information corresponding to the target first data index information, returning to the step of determining the reference second secret information;
[0208] Until the number of second secret information corresponding to the target first data index information is the same as the number of second parties.
[0209] Optionally, the secret key information is determined by a preset hash value calculation rule;
[0210] The first party determination module 606 is further configured to:
[0211] Obtaining a first hash value corresponding to the target first data index information, wherein the first hash value is determined by a first hash table construction rule, and the first hash table construction rule includes a hash value calculation rule;
[0212] In a case where the first hash value is the same as the secret key information, determining that the reference second secret information is the second secret information corresponding to the target first data index information;
[0213] When the first hash value is different from the secret key information, it is determined that the reference second secret information is not the second secret information corresponding to the target first data index information.
[0214] Optionally, the first party generating module 608 is further configured to:
[0215] Obtaining first hash index information corresponding to the target first data index information, wherein the first hash index information is determined by the target first data index information according to a first hash table construction rule;
[0216] Generate a first party first data secret sub-fragment according to the first hash index information and the first data value;
[0217] Generate first-party data index secret sub-fragments according to each second secret information corresponding to the target first data index information;
[0218] Based on the first party first data secret sub-fragment, the first party data index secret sub-fragment and each first party second data secret sub-fragment, a first party secret fragment corresponding to the target first data index information is generated.
[0219] Optionally, the first party generating module 608 is further configured to:
[0220] Obtain the subsequent participant random seeds corresponding to each second participant;
[0221] Obtaining a first secret fragment random value corresponding to the random seed of each subsequent participant according to the first hash index information and the random seed of each subsequent participant;
[0222] Generate a first party first data secret sub-fragment according to the first data value and the first secret fragment random value corresponding to the random seed of each subsequent participant.
[0223] Optionally, the first party generating module 608 is further configured to:
[0224] Parsing each second secret information corresponding to the target first data index information, and determining secret value information corresponding to each second secret information;
[0225] Parse the secret value information corresponding to each second secret information to obtain a second hash index random number corresponding to each second secret information, wherein the second hash index random number is determined by the second hash index information, and the second hash index information is determined by processing each second data index information by a second hash table construction rule;
[0226] Generate a first-party data index secret sub-shard based on each second hash index random number.
[0227] By applying the scheme of the embodiments of this specification, the first party receives the first party secret fragments generated by the second secret information sent by each second party, and the second party secret fragments generated by each second party based on its own data, to obtain the sum of the corresponding data of the same data index in each party. Since the second party secret fragments used when obtaining the data processing results are generated by each second party only based on its own second data index information, it is achieved that when encrypting data, there is no need for data interaction between the second parties, and there is no need to perform encryption calculations between the second parties, thereby reducing the number of calculations during encryption and improving encryption efficiency.
[0228] Moreover, when processing data, each secret fragment is used to obtain the processing result of the data, ensuring that the secret value of each participant will not be obtained by other colluding parties. Even if there is collusion, the original data can only be obtained by voluntarily disclosing one's own secret fragment, effectively preventing the threat of collusion to data security, and thus ensuring data security while improving encryption efficiency.
[0229] The above is a schematic scheme of a data processing device based on multi-party fully anonymous secure computing applied to the first participant in this embodiment. It should be noted that the technical scheme of the data processing device based on multi-party fully anonymous secure computing applied to the first participant and the technical scheme of the data processing method based on multi-party fully anonymous secure computing applied to the first participant belong to the same concept. The details of the technical scheme of the data processing device based on multi-party fully anonymous secure computing applied to the first participant that are not described in detail can all be referred to the description of the technical scheme of the data processing method based on multi-party fully anonymous secure computing applied to the first participant.
[0230] Corresponding to the above method embodiment, this specification also provides a data processing device embodiment based on multi-party fully anonymous secure computing applied to a second participant, Figure 7 FIG. 1 shows a schematic diagram of a data processing device based on multi-party fully anonymous secure computing applied to a second participant provided by an embodiment of the present specification. Figure 7 As shown, the device is applied to a target second participant, wherein the target second participant includes at least one second data index information and a second data value corresponding to each second data index information, including:
[0231] The second party determination module 702 is configured to determine target second data index information and a second data value corresponding to the target second data index information, wherein the target second data index information is any one of the second data index information;
[0232] The second party generation module 704 is configured to generate at least one second secret information and at least one second party secret fragment corresponding to the target second data index information according to the target second data index information and the second data value corresponding to the target second data index information.
[0233] Optionally, the data processing device based on multi-party fully anonymous secure computing further includes a second participant random seed processing module configured to:
[0234] Receive at least one predecessor random seed and a first-party random seed, wherein the predecessor random seed is a subsequent random seed for the target second party and sent by each second party before the target second party, and the first-party random seed is a subsequent random seed for the target second party and sent by the first party;
[0235] Generate a subsequent participant random seed corresponding to at least one subsequent second participant and a self-random seed corresponding to the second participant;
[0236] Correspondingly, generating at least one second secret information and at least one second party secret fragment corresponding to the target second data index information according to the target second data index information and the second data value corresponding to the target second data index information includes:
[0237] Generate at least one second hash index information according to the target second data index information, wherein the second hash index information is generated according to a second hash table construction rule;
[0238] Determine the target second hash index information, and determine the second secret information and the second party secret fragment corresponding to the target second hash index information of the target second data index information according to each random seed and the target second hash index information, wherein the target second hash index information is any one of the second hash index information, and the random seeds include the random seeds of each predecessor participant, the random seeds of each subsequent participant, the own random seed and the first party random seed.
[0239] Optionally, the random seed processing module of the second participant is further configured to:
[0240] Generate at least one secret information random value corresponding to the target second Hash index information according to the random seeds of each predecessor participant, the random seeds of each subsequent participant, the own random seed and the target second Hash index information, and generate the second secret information corresponding to the target second Hash index information for the target second data index information based on the target second data index information, the second data value and the random values of each secret information;
[0241] According to each random seed and the target second hash index information, generate at least one second secret fragment random value corresponding to the target second hash index information, and based on the target second data index information and each second secret fragment random value, generate the second secret fragment corresponding to the target second hash index information for the target second data index information.
[0242] Optionally, the second secret fragment random value includes the first data secret fragment random value and the second data secret fragment random value;
[0243] The random seed processing module of the second participant is further configured to:
[0244] Generate a second hash index random number according to the target second hash index information, and determine the second hash index random number as a second-party data index secret sub-shard;
[0245] Determine the first data secret fragment random value as the second party's first data secret sub-fragment, wherein the first data secret fragment random value is generated by the first party's random seed;
[0246] Determine a random value of each second data secret fragment, which is a second party second data secret sub-fragment corresponding to each second party for the target second party;
[0247] Based on the second party data index secret sub-fragment, the second party first data secret sub-fragment and each second party second data secret sub-fragment, determine the second secret fragment corresponding to the target second data index information for the target second hash index information.
[0248] By applying the scheme of the embodiments of this specification, the first party receives the first party secret fragments generated by the second secret information sent by each second party, and the second party secret fragments generated by each second party based on its own data, to obtain the sum of the corresponding data of the same data index in each party. Since the second party secret fragments used when obtaining the data processing results are generated by each second party only based on its own second data index information, it is achieved that when encrypting data, there is no need for data interaction between the second parties, and there is no need to perform encryption calculations between the second parties, thereby reducing the number of calculations during encryption and improving encryption efficiency.
[0249] Moreover, when processing data, each secret fragment is used to obtain the processing result of the data, ensuring that the secret value of each participant will not be obtained by other colluding parties. Even if there is collusion, the original data can only be obtained by voluntarily disclosing one's own secret fragment, effectively preventing the threat of collusion to data security, and thus ensuring data security while improving encryption efficiency.
[0250] The above is a schematic scheme of a data processing device based on multi-party fully anonymous secure computing applied to the second participant in this embodiment. It should be noted that the technical scheme of the data processing device based on multi-party fully anonymous secure computing applied to the second participant and the technical scheme of the data processing method based on multi-party fully anonymous secure computing applied to the second participant belong to the same concept. The details of the technical scheme of the data processing device based on multi-party fully anonymous secure computing applied to the second participant that are not described in detail can all be referred to the description of the technical scheme of the data processing method based on multi-party fully anonymous secure computing applied to the second participant.
[0251] Figure 8 The block diagram of a computing device 800 according to an embodiment of the present specification is shown. The components of the computing device 800 include but are not limited to a memory 810 and a processor 820. The processor 820 is connected to the memory 810 via a bus 830, and a database 850 is used to store data.
[0252] The computing device 800 also includes an access device 840 that enables the computing device 800 to communicate via one or more networks 860. Examples of these networks include a public switched telephone network (PSTN), a local area network (LAN), a wide area network (WAN), a personal area network (PAN), or a combination of communication networks such as the Internet. The access device 840 may include one or more of any type of network interface (e.g., a network interface card (NIC)) of wired or wireless, such as an IEEE 802.11 wireless local area network (WLAN) wireless interface, a world-wide interoperability for microwave access (Wi-MAX) interface, an Ethernet interface, a universal serial bus (USB) interface, a cellular network interface, a Bluetooth interface, and a near field communication (NFC).
[0253] In one embodiment of the present specification, the above components of the computing device 800 and Figure 8 Other components not shown in the figure may also be connected to each other, for example, via a bus. It should be understood that Figure 8The computing device structure block diagram shown is only for the purpose of illustration, and is not intended to limit the scope of this specification. Those skilled in the art can add or replace other components as needed.
[0254] The computing device 800 may be any type of stationary or mobile computing device, including a mobile computer or mobile computing device (e.g., a tablet computer, a personal digital assistant, a laptop computer, a notebook computer, a netbook, etc.), a mobile phone (e.g., a smart phone), a wearable computing device (e.g., a smart watch, smart glasses, etc.), or other types of mobile devices, or a stationary computing device such as a desktop computer or a personal computer (PC). The computing device 800 may also be a mobile or stationary server.
[0255] Among them, the processor 820 is used to execute the following computer executable instructions, which, when executed by the processor, implement the steps of the above-mentioned data processing method based on multi-party fully anonymous secure computing applied to the first participant.
[0256] The above is a schematic scheme of a computing device of this embodiment. It should be noted that the technical scheme of the computing device and the technical scheme of the data processing method based on multi-party fully anonymous secure computing applied to the first participant and the data processing method based on multi-party fully anonymous secure computing applied to the target second participant belong to the same concept. For the details not described in detail in the technical scheme of the computing device, please refer to the description of the technical scheme of the data processing method based on multi-party fully anonymous secure computing applied to the first participant and the data processing method based on multi-party fully anonymous secure computing applied to the target second participant.
[0257] An embodiment of the present specification also provides a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, implement the steps of the above-mentioned data processing method based on multi-party fully anonymous secure computing applied to the first participant and the data processing method based on multi-party fully anonymous secure computing applied to the target second participant.
[0258] The above is a schematic scheme of a computer-readable storage medium of this embodiment. It should be noted that the technical scheme of the storage medium and the technical scheme of the data processing method based on multi-party fully anonymous secure computing applied to the first participant and the data processing method based on multi-party fully anonymous secure computing applied to the target second participant belong to the same concept. For details not described in detail in the technical scheme of the storage medium, please refer to the description of the technical scheme of the data processing method based on multi-party fully anonymous secure computing applied to the first participant and the data processing method based on multi-party fully anonymous secure computing applied to the target second participant.
[0259] An embodiment of the present specification also provides a computer program product, including a computer program / instruction, which, when executed by a processor, implements the steps of the above-mentioned data processing method based on multi-party fully anonymous secure computing applied to the first participant and the data processing method based on multi-party fully anonymous secure computing applied to the target second participant.
[0260] The above is a schematic scheme of a computer program of this embodiment. It should be noted that the technical scheme of the computer program and the technical scheme of the data processing method based on multi-party fully anonymous secure computing applied to the first participant and the data processing method based on multi-party fully anonymous secure computing applied to the target second participant belong to the same concept. For details not described in detail in the technical scheme of the computer program, please refer to the description of the technical scheme of the data processing method based on multi-party fully anonymous secure computing applied to the first participant and the data processing method based on multi-party fully anonymous secure computing applied to the target second participant.
[0261] The above is a description of a specific embodiment of the specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recorded in the claims can be performed in an order different from that in the embodiments and still achieve the desired results. In addition, the processes depicted in the drawings do not necessarily require the specific order or continuous order shown to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
[0262] The computer instructions include computer program codes, which may be in source code form, object code form, executable files or some intermediate forms, etc. The computer-readable medium may include: any entity or device capable of carrying the computer program code, recording medium, USB flash drive, mobile hard disk, magnetic disk, optical disk, computer memory, read-only memory (ROM), random access memory (RAM), electric carrier signal, telecommunication signal and software distribution medium, etc. It should be noted that the content contained in the computer-readable medium may be appropriately increased or decreased according to the requirements of patent practice. For example, in some regions, according to patent practice, computer-readable media do not include electric carrier signals and telecommunication signals.
[0263] It should be noted that, for the above-mentioned method embodiments, for the sake of simplicity of description, they are all expressed as a series of action combinations, but those skilled in the art should be aware that the embodiments of this specification are not limited by the order of the actions described, because according to the embodiments of this specification, some steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily required by the embodiments of this specification.
[0264] In the above embodiments, the description of each embodiment has its own emphasis. For parts that are not described in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0265] The preferred embodiments of this specification disclosed above are only used to help explain this specification. The optional embodiments do not describe all the details in detail, nor do they limit the invention to only the specific implementation methods described. Obviously, many modifications and changes can be made according to the content of the embodiments of this specification. This specification selects and specifically describes these embodiments in order to better explain the principles and practical applications of the embodiments of this specification, so that technicians in the relevant technical field can well understand and use this specification. This specification is only limited by the claims and their full scope and equivalents.
Claims
1. A data processing method based on multi-party fully anonymous secure computing, characterized in that: Applied to a first participant, the first participant includes at least one first data index information and a first data value corresponding to each first data index information, the method includes: Receiving at least one second secret information, wherein each second secret information is sent by at least one second participant, the second secret information is generated by at least one second data index information in the second participant and a second data value corresponding to each second data index information, and the second data index information in the second participant corresponds to at least one second secret information; Acquire target first data index information and a target first data value corresponding to the target first data index information, wherein the target first data index information is any one of the first data index information; Determine, according to the target first data index information and each second secret information, the first party second data secret sub-fragment corresponding to each second participant in the target first data index information; The first party secret fragments corresponding to the target first data index information are generated according to the target first data index information, the first data value corresponding to the target first data index information, and the first party second data secret sub-fragments corresponding to the target first data index information, so as to determine the data processing result corresponding to the target first data index information according to the first party secret fragments corresponding to the target first data index information and the second party secret fragments corresponding to each second participant, wherein the second party secret fragments are generated by each second participant according to the second data index information.
2. The method according to claim 1, characterized in that Before receiving at least one second secret information, the method further comprises: Generate a subsequent participant random seed corresponding to each second participant; Sending a subsequent participant random seed corresponding to the target second participant to a target second participant, so that the target second participant generates second secret information according to the subsequent participant random seed, wherein the target second participant is any one of the second participants.
3. The method according to claim 1, characterized in that Determining the first party second data secret sub-fragments corresponding to each second participant in the target first data index information according to the target first data index information and each second secret information includes: Determine reference second secret information, and parse the reference second secret information to obtain secret key information and secret value information, wherein the reference second secret information is any one of the second secret information; Determine a relationship between the reference second secret information and the target first data index information according to the target first data index information and the secret key information; In the case where the reference second secret information is the second secret information corresponding to the target first data index information, the first party second data secret sub-fragment corresponding to the target first data index information is determined according to the secret value information, and the step of determining the reference second secret information is returned, wherein the first party second data secret sub-fragment is generated by a reference second data value in a reference second party, the reference second party is the second party that sends the reference second secret information, and the reference second data value is any one of the second data values in the reference second party; In a case where the reference second secret information is not the second secret information corresponding to the target first data index information, returning to the step of determining the reference second secret information; Until the number of second secret information corresponding to the target first data index information is the same as the number of second parties.
4. The method according to claim 1, characterized in that Generating a first party secret fragment corresponding to the target first data index information according to the target first data index information, a first data value corresponding to the target first data index information, and each first party second data secret sub-fragment corresponding to the target first data index information, comprising: Obtaining first hash index information corresponding to the target first data index information, wherein the first hash index information is determined by the target first data index information according to a first hash table construction rule; Generate a first party first data secret sub-fragment according to the first hash index information and the first data value; Generate first-party data index secret sub-fragments according to each second secret information corresponding to the target first data index information; Based on the first party first data secret sub-fragment, the first party data index secret sub-fragment and each first party second data secret sub-fragment, a first party secret fragment corresponding to the target first data index information is generated.
5. A data processing method based on multi-party fully anonymous secure computing, characterized in that: Applied to a target second participant, the target second participant includes at least one second data index information and a second data value corresponding to each second data index information, the method includes: Determine target second data index information and a second data value corresponding to the target second data index information, wherein the target second data index information is any one of the second data index information; According to the target second data index information and the second data value corresponding to the target second data index information, at least one second secret information and at least one second-party secret fragment corresponding to the target second data index information are generated, so that the first participant generates the first-party secret fragments according to the second secret information sent by each second participant, and the data calculation party determines the data processing result according to the first-party secret fragments and the second-party secret fragments sent by each second participant.
6. The method according to claim 5, characterized in that Before generating at least one second secret information and at least one second party secret fragment corresponding to the target second data index information according to the target second data index information and the second data value corresponding to the target second data index information, the method further includes: Receive at least one previous random seed and a random seed of party f, wherein the previous random seed is a random seed of a subsequent party sent by each second party before the target second party and is targeted at the target second party, and the first random seed is a random seed of a subsequent party sent by the first party and is targeted at the target second party; Generate a subsequent participant random seed corresponding to at least one subsequent second participant and a self-random seed corresponding to the second participant; Correspondingly, generating at least one second secret information and at least one second party secret fragment corresponding to the target second data index information according to the target second data index information and the second data value corresponding to the target second data index information includes: Generate at least one second hash index information according to the target second data index information, wherein the second hash index information is generated according to a second hash table construction rule; Determine the target second hash index information, and determine the second secret information and the second party secret fragment corresponding to the target second hash index information of the target second data index information according to each random seed and the target second hash index information, wherein the target second hash index information is any one of the second hash index information, and the random seeds include the random seeds of each predecessor participant, the random seeds of each subsequent participant, the own random seed and the first party random seed.
7. A data processing system based on multi-party fully anonymous secure computing, characterized in that: The system includes a first participant, a data computing party and at least one second participant; wherein the first participant includes at least one first data index information and a first data value corresponding to each first data index information, and the second participant includes at least one second data index information and a second data value corresponding to each second data index information; The target second participant is configured to determine the target second data index information and the second data value corresponding to the target second data index information; generate at least one second secret information and at least one second party secret fragment corresponding to the target second data index information according to the target second data index information and the second data value corresponding to the target second data index information, wherein the target second participant is any one of the second participants, and the target second data index information is any one of the second data index information of the target second participant; The first participant is configured to receive each second secret information sent by each second participant; obtain target first data index information and target first data value corresponding to the target first data index information; determine the first party second data secret sub-fragment corresponding to each second participant of the target first data index information according to the target first data index information and each second secret information; generate the first party secret fragment corresponding to the target first data index information according to the target first data index information, the first data value corresponding to the target first data index information, and each first party second data secret sub-fragment corresponding to the target first data index information, wherein the target first data index information is any one of the first data index information, and the second party secret fragment is generated by each second participant according to the second data index information; The data calculation party is configured to determine the data processing result corresponding to the target first data index information according to the first party secret fragments corresponding to the target first data index information and the second party secret fragments corresponding to each second participant.
8. A computing device, characterized in that include: Memory and processor; The memory is used to store computer programs / instructions, and the processor is used to execute the computer programs / instructions. When the computer program / instructions are executed by the processor, the steps of the method according to any one of claims 1 to 6 are implemented.
9. A computer-readable storage medium storing a computer program / instruction, characterized in that: When the computer program / instructions are executed by a processor, the steps of the method according to any one of claims 1 to 6 are implemented.
10. A computer program product comprising a computer program / instructions, characterized in that When the computer program / instructions are executed by a processor, the steps of the method according to any one of claims 1 to 6 are implemented.
Citation Information
Patent Citations
Secure multi-party computing method, device and system and storage medium
CN112751665A
Privacy set intersection method and device based on multi-party security calculation, and storage medium
CN114826580A