Data processing method, device, medium, equipment and product for secure computing

By using pseudo-random numbers to generate data and performing security calculations in multi-party security calculations, the target data is converted from Boolean copy secret sharing form to arithmetic copy secret sharing form, which solves the problem of large data traffic in the prior art and realizes more efficient security calculations.

CN118282636BActive Publication Date: 2025-04-18BEIJING VOLCANO ENGINE TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202410362890.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-03-27
Publication Date
2025-04-18
Estimated Expiration
2044-03-27

AI Technical Summary

Technical Problem

In the multi-party security calculation process, when converting the target data from the Boolean copy secret sharing form to the arithmetic copy secret sharing form, the existing technology has a large data traffic, which affects efficiency.

Method used

By obtaining pseudo-random numbers, generating data and performing secure calculations, the target data is converted between three parties, and only one masking data interaction and one and one and secure computing interaction are required to reduce data traffic.

Benefits of technology

In scenarios such as model training and SQL query, data traffic is reduced, business processing efficiency of secure computing is improved, and private data is protected.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118282636B_ABST
    Figure CN118282636B_ABST
Patent Text Reader

Abstract

The present disclosure relates to a data processing method, device, medium, equipment and product for secure computing. The method applied to the first target party includes: generating first data according to a first pseudo-random number and a target slice; securely calculating the sum of the first data and the second data with the other parties in the three parties to obtain two arithmetic replica slices of the sum, and the second data is generated by the second target party based on the second pseudo-random number and the target slice; generating two arithmetic replica slices of the target data according to the first masked data, the two arithmetic replica slices of the sum held by itself and the target slice, and the first masked data is generated by a third party based on the first pseudo-random number, the second pseudo-random number and the two Boolean replica slices of the target data held by itself; executing data processing tasks based on the two arithmetic replica slices of the target data. In scenarios such as model training and SQL query, this solution can greatly reduce data communication volume and improve business processing efficiency while protecting privacy data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of secure multi-party computing, and in particular, to a data processing method, apparatus, medium, equipment and product for secure computing. Background Art

[0002] Secure multi-party computing is also called multi-party secure computing. Multiple parties can jointly calculate the result of a function without disclosing the input data of each party in the function. The result of the calculation is made public to one or more of the parties. Typical applications of secure multi-party computing include joint statistical analysis of multi-party data with privacy protection, machine learning, etc. The function here is a statistical operation function, a machine learning algorithm, etc.

[0003] In the process of multi-party secure computing, in order to prevent the disclosure of data and intermediate computing results of each party, the data or intermediate results can be held by each party in a shared form. A single party holds a data shard, and the shards held by each party are merged together to restore the corresponding data. Usually, the calculation is kept in a shared state. In this way, the number of data communications and the amount of communication in multi-party secure computing are important factors affecting the efficiency of secure computing. Summary of the invention

[0004] This summary is provided to introduce concepts in a brief form that will be described in detail in the detailed description below. This summary is not intended to identify key features or essential features of the claimed technical solution, nor is it intended to limit the scope of the claimed technical solution.

[0005] In a first aspect, the present disclosure provides a data processing method for secure computing, wherein the secure computing is used to convert a Boolean replication secret sharing form of target data among three parties into an arithmetic replication secret sharing form, wherein the three parties include a first party, a second party, and a third party, wherein the method is applied to a first target party, wherein the first target party is one of the first party and the second party, and wherein the method includes:

[0006] Obtaining a first pseudo-random number, and generating first data according to the first pseudo-random number and a target shard, wherein the target shard is a Boolean copy shard of the target data held jointly by the first party and the second party;

[0007] securely calculating, with other parties among the three parties, a sum of the first data and second data held by a second target party, to obtain two arithmetic replica slices of the sum, wherein the second data is generated by the second target party based on a second pseudo-random number and the target slice, and the second target party is the other of the first party and the second party;

[0008] generating two arithmetic replica slices of the target data according to first masked data received from the third party, two arithmetic replica slices of the sum held by the first target party, and the target slice, wherein the first masked data is generated by the third party based on the first pseudo-random number, the second pseudo-random number, and the two Boolean replica slices of the target data held by the third party;

[0009] A data processing task is performed based on two arithmetic replica shards of the target data held by the first target party.

[0010] In a second aspect, the present disclosure provides a data processing method for secure computing, wherein the secure computing is used to convert a target data in a Boolean replication secret sharing form among three parties into an arithmetic replication secret sharing form, wherein the three parties include a first party, a second party, and a third party, and the method is applied to the third party, and the method includes:

[0011] Obtain a first pseudo-random number and a second pseudo-random number;

[0012] generating first masked data according to the first pseudo-random number, the second pseudo-random number, and two Boolean replicas of the target data held by the third party, and sending the first masked data to the first party and the second party;

[0013] securely calculating the sum of first data and second data with other parties among the three parties to obtain two arithmetic replica slices of the sum, wherein the first data is generated by a first target party based on the first pseudo-random number and the target slice, and the second data is generated by a second target party based on the second pseudo-random number and the target slice, the first target party is one of the first party and the second party, and the second target party is the other of the first party and the second party;

[0014] Determine two arithmetic replica slices of the sum held by the third party as two arithmetic replica slices of the target data;

[0015] A data processing task is performed based on two arithmetic replica slices of the target data held by the third party.

[0016] In a third aspect, the present disclosure provides a data processing device for secure computing, wherein the secure computing is used to convert a Boolean replication secret sharing form of target data among three parties into an arithmetic replication secret sharing form, wherein the three parties include a first party, a second party, and a third party, wherein the device is applied to a first target party, wherein the first target party is one of the first party and the second party, and wherein the device includes:

[0017] A first generating module, configured to obtain a first pseudo-random number, and generate first data according to the first pseudo-random number and a target shard, wherein the target shard is a Boolean copy shard of the target data held jointly by the first party and the second party;

[0018] a first secure computing module, configured to securely compute, with other parties among the three parties, a sum of the first data and second data held by a second target party, to obtain two arithmetic replica slices of the sum, wherein the second data is generated by the second target party based on a second pseudo-random number and the target slice, and the second target party is the other of the first party and the second party;

[0019] a second generating module, configured to generate two arithmetic replica slices of the target data according to first masked data received from the third party, two arithmetic replica slices of the sum held by the first target party, and the target slice, wherein the first masked data is generated by the third party based on the first pseudo-random number, the second pseudo-random number, and the two Boolean replica slices of the target data held by the third party;

[0020] The first execution module is used to execute a data processing task based on two arithmetic replica shards of the target data held by the first target party.

[0021] In a fourth aspect, the present disclosure provides a data processing device for secure computing, wherein the secure computing is used to convert a target data in a Boolean replication secret sharing form among three parties into an arithmetic replication secret sharing form, wherein the three parties include a first party, a second party, and a third party, and the device is applied to the third party, and the device includes:

[0022] An acquisition module, used to acquire a first pseudo-random number and a second pseudo-random number;

[0023] a third generating module, configured to generate first masked data according to the first pseudo-random number, the second pseudo-random number, and two Boolean replica fragments of the target data held by the third party, and send the first masked data to the first party and the second party;

[0024] a second secure computing module, configured to securely compute the sum of first data and second data with other parties among the three parties to obtain two arithmetic replica slices of the sum, wherein the first data is generated by a first target party based on the first pseudo-random number and the target slice, and the second data is generated by a second target party based on the second pseudo-random number and the target slice, the first target party is one of the first party and the second party, and the second target party is the other of the first party and the second party;

[0025] A determination module, configured to determine the two arithmetic replica slices of the sum held by the third party as the two arithmetic replica slices of the target data;

[0026] The second execution module is used to execute a data processing task according to the two arithmetic replica slices of the target data held by the third party.

[0027] In a fifth aspect, the present disclosure provides a computer-readable medium having a computer program stored thereon, which, when executed by a processing device, implements the steps of the data processing method for secure computing provided in the first aspect of the present disclosure or the steps of the data processing method for secure computing provided in the second aspect of the present disclosure.

[0028] In a sixth aspect, the present disclosure provides an electronic device, including:

[0029] a storage device having a computer program stored thereon;

[0030] A processing device is used to execute the computer program in the storage device to implement the steps of the data processing method for secure computing provided in the first aspect of the present disclosure or the steps of the data processing method for secure computing provided in the second aspect of the present disclosure.

[0031] In a seventh aspect, the present disclosure provides a computer program product, comprising a computer program, which, when executed by a processor, implements the steps of the data processing method for secure computing provided in the first aspect of the present disclosure or the steps of the data processing method for secure computing provided in the second aspect of the present disclosure.

[0032] In the above technical solution, when converting the target data from the Boolean copy secret sharing form to the arithmetic copy secret sharing form, the first party and the second party generate the first data and the second data respectively, and then the three parties securely calculate the sum of the first data and the second data through interactive security, and obtain two arithmetic copy slices of the sum respectively; at the same time, after the third party generates the first mask data, it sends it to the first party and the second party, so that the first party and the second party respectively generate two Boolean copy slices of the target data based on the first mask data and the two arithmetic copy slices of the sum held by themselves, and the process involves one mask data interaction, that is, the third party sends the first mask data to the first party and the second party; the third party determines the two arithmetic copy slices of the sum held by itself as the two arithmetic copy slices of the target data. In this way, the entire sharing form conversion only requires one mask data interaction and one secure calculation interaction (that is, the three parties securely calculate the sum of the first data and the second data through interactive security), so that in scenarios such as model training and SQL query, this solution can greatly reduce the data communication volume of converting the target data from the Boolean copy secret sharing form to the arithmetic copy secret sharing form while protecting privacy data, and improve the business processing efficiency of secure calculation.

[0033] Other features and advantages of the present disclosure will be described in detail in the following detailed description. BRIEF DESCRIPTION OF THE DRAWINGS

[0034] The above and other features, advantages and aspects of the embodiments of the present disclosure will become more apparent with reference to the following detailed description in conjunction with the accompanying drawings. Throughout the drawings, the same or similar reference numerals represent the same or similar elements. It should be understood that the drawings are schematic and the originals and elements are not necessarily drawn to scale. In the drawings:

[0035] Figure 1 The invention is a flowchart showing a data processing method for secure computing applied to a first target party according to an exemplary embodiment.

[0036] Figure 2 is a data interaction diagram of secure computing according to an exemplary embodiment.

[0037] Figure 3 is a data interaction diagram of secure computing according to another exemplary embodiment.

[0038] Figure 4 The invention is a flowchart showing a data processing method for secure computing applied to a third party according to an exemplary embodiment.

[0039] Figure 5 The invention is a block diagram showing a data processing device for secure computing applied to a first target party according to an exemplary embodiment.

[0040] Figure 6 The invention is a block diagram showing a data processing device for secure computing applied to a third party according to an exemplary embodiment.

[0041] Figure 7 The diagram is a schematic structural diagram of an electronic device according to an exemplary embodiment. DETAILED DESCRIPTION

[0042] Before introducing the specific embodiments of the present disclosure, the terms involved in the present disclosure and the specific application scenarios of multi-party secure computing are first introduced and explained.

[0043] Ring: refers to a set that defines two operations, addition and multiplication, and forms a commutative group (i.e., Abelian group) for addition, a semigroup for multiplication for elements other than 0, and multiplication satisfies the distributive law for addition. Among them, common rings are as follows:

[0044] Integer Ring Among them, addition and multiplication refer to addition and multiplication in the usual sense;

[0045] Residual ring A ring of addition and multiplication is defined above, where addition is defined as integer addition modulo (mod) N, and multiplication is defined as integer multiplication mod N, where N is an integer greater than 1.

[0046] Secret Sharing is also called secret splitting or secret sharing. Its basic principle is to split a secret (such as a key, private data, etc.) into multiple shares and give them to different data parties for safekeeping. Only when parties exceeding a threshold number merge their shards can the secret be restored; Shares obtained from parties less than the threshold number cannot restore any information of the secret. In multi-party secure computing, the threshold number is usually the same as the number of participants, and the shares into which the secret is split can also be called shards.

[0047] Replicated Secret Sharing (RSS), also known as repetitive secret sharing, is an instance of secret sharing that ensures that secret values ​​are shared among multiple entities and remain secure when any of them fails or is attacked. In RSS, the original secret is divided into multiple parts and distributed to multiple entities. Each entity has a partial replica of the original secret, and the original secret value can only be restored when at least a certain number of entities exist at the same time. In this way, if one of the entities fails or is attacked, the other entities can still restore the original secret value through the replicas they each hold. The original secret value can be shared in the form of arithmetic replicated secret sharing between multiple entities; it can also be shared in the form of arithmetic replicated secret sharing. Among them, when the replica shard belongs to the N-th power space modulo 2, that is, the value range of the replica shard is [0, 2 N -1], the original secret value constitutes an arithmetic replication secret sharing form among multiple entities; when the replication shard belongs to the modulo 2 space, that is, the value of the replication shard is 0 or 1, the original secret value constitutes a Boolean replication secret sharing form among multiple entities.

[0048] For example, in a three-party secure computing scenario, using replicated secret sharing, a secret value s can be split into three secret shares (also called replicated shards) e, g, and h, so that s = (e+g+h) mod p (p is the size of the computing ring), where the first participant holds replicated shard e and replicated shard g, the second participant holds replicated shard g and replicated shard h, and the third participant holds replicated shard e and replicated shard h. The secret value s can only be restored when any two of the three participants merge their replicated shards.

[0049] Private Set Intersection (PSI) is a proprietary protocol in the field of secure multi-party computing, which allows both parties to input private sets to jointly calculate the intersection of sets, and ensures that no additional element information is leaked except the set intersection result.

[0050] Communication volume: Since the data of the participants in secure computing are on different machines, they need to interact through network communication. During the calculation process, encrypted data will be transmitted on the network, and the amount of data transmitted is the communication volume.

[0051] In practical applications, for the purpose of privacy protection, multi-party secure computing algorithms are usually black box algorithms, and the data transmission behavior between the computing nodes equipped with multi-party secure computing algorithms is opaque. As discussed in the background technology, typical applications of multi-party secure computing include machine learning, among which multi-party secure computing technology can be used to protect privacy data during the reasoning and training stages of machine learning, mainly involving the protection of model parameters and the protection of the data of each participant during the training process.

[0052] At present, common privacy-preserving machine learning solutions based on secure multi-party computing include: privacy-preserving machine learning protocols based on obfuscated circuits, oblivious transmission and other technologies, and executing secure multi-party computing protocols to complete nonlinear operation calculations such as activation functions. Based on secret sharing technology, multiple parties are allowed to participate in machine learning network model training or prediction, and the process will not disclose data or model information.

[0053] In addition to the above application areas, multi-party secure computing can also be applied to privacy-protected network security detection, joint statistical analysis of privacy-protected multi-party data, spam cleaning and filtering of encrypted emails, advertising conversion and other fields.

[0054] Among them, three-party secure computing is usually used for joint statistical analysis of two-party data with privacy protection, that is, to query across the two-party databases while protecting the private data of the two parties.

[0055] For example, consider the following Structure Query Language (SQL) statement:

[0056] select if(A.x+By>5,5,0)from a join b on a.id=b.id

[0057] This SQL statement is used to align Table A and Table B according to the id column, and then execute if(A.x+By>5,5,0) for each row in the aligned table, where the if conditional clause "if(A.x+By>5,5,0)" is used to determine whether A.x+By is greater than 5. If A.x+By is greater than 5, 5 is output, otherwise 0 is output. Table A is stored in the first data owner, and Table B is stored in the second data owner. The three participants (i.e., computing participants) perform SQL queries through three-party secure computing technology. The computing participant may be the data owner or not. When the computing participant is not the data owner, the three participants implement the query of the above SQL statement through the following steps (a1) to (a6):

[0058] Step (a1): The three participants use PSI to align the data in Table A and Table B according to the id column, and split Ax and By into replicated secret sharing forms and store them in the three participants;

[0059] Step (a2): The three participants calculate A.x+By using secure computing technology, and the calculation result is stored in the form of replicated secret sharing among the three participants;

[0060] Step (a3): the three participants jointly execute the comparison protocol to calculate the value of (A.x+By>5) to obtain a first calculation result, wherein the first calculation result constitutes a Boolean replicated secret sharing form among the three participants, that is, each participant holds two Boolean replicated shares of the first calculation result;

[0061] Step (a4): the three participants convert the Boolean replication secret sharing form of the first calculation result of the three participants into an arithmetic replication secret sharing form, that is, each participant holds two arithmetic replication fragments of the first calculation result;

[0062] Step (a5): The three participants use the plaintext multiplication sharding protocol to calculate 5*[(A.x+By>5)] A , and obtain the second calculation result, where each participant holds two arithmetic replica shards of the second calculation result and uses them as the arithmetic replica shards of the query result, where [(A.x+By>5)] A Represents the value of the first calculation result (A.x+By>5) in the N-th power space modulo 2;

[0063] Step (a6): The three participants respectively feed back the arithmetic replica shards of the query result to the query party, and the query party merges the three arithmetic replica shards of the query result to obtain the final query result.

[0064] Here, we are concerned with how to convert the Boolean copy secret sharing form of the data among the three parties into the arithmetic copy secret sharing form in the above step (a4). At this stage, using ABY3's a[b] B =[ab] A The communication volume involved in this process is 4N bits and the number of communication rounds is 2, or the communication volume is 6N bits and the number of communication rounds is 1. The communication overhead of this method is relatively large. How to reduce the communication volume during the conversion of sharing forms is of great significance to improving the efficiency of SQL query task execution.

[0065] In view of this, the present disclosure provides a data processing method, apparatus, medium, device and product for secure computing.

[0066] Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although certain embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be construed as being limited to the embodiments described herein, which are instead provided for a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are only for exemplary purposes and are not intended to limit the scope of protection of the present disclosure.

[0067] It should be understood that the various steps described in the method embodiments of the present disclosure may be performed in different orders and / or in parallel. In addition, the method embodiments may include additional steps and / or omit the steps shown. The scope of the present disclosure is not limited in this respect.

[0068] The term "including" and its variations used herein are open inclusions, i.e., "including but not limited to". The term "based on" means "based at least in part on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". The relevant definitions of other terms will be given in the following description.

[0069] It should be noted that the concepts such as "first" and "second" mentioned in the present disclosure are only used to distinguish different devices, modules or units, and are not used to limit the order or interdependence of the functions performed by these devices, modules or units.

[0070] It should be noted that the modifications of "one" and "plurality" mentioned in the present disclosure are illustrative rather than restrictive, and those skilled in the art should understand that unless otherwise clearly indicated in the context, it should be understood as "one or more".

[0071] The names of the messages or information exchanged between multiple devices in the embodiments of the present disclosure are only used for illustrative purposes and are not used to limit the scope of these messages or information.

[0072] It is understandable that before using the technical solutions disclosed in the embodiments of the present disclosure, the types, scope of use, usage scenarios, etc. of the personal information involved in the present disclosure should be informed to the user and the user's authorization should be obtained in an appropriate manner in accordance with relevant laws and regulations.

[0073] For example, in response to receiving an active request from a user, a prompt message is sent to the user to clearly prompt the user that the operation requested to be performed will require obtaining and using the user's information. Thus, the user can autonomously choose whether to provide information to software or hardware such as an electronic device, application, server, or storage medium that performs the operation of the technical solution of the present disclosure according to the prompt message.

[0074] As an optional but non-limiting implementation, in response to receiving an active request from the user, the prompt information may be sent to the user in the form of a pop-up window, in which the prompt information may be presented in text form. In addition, the pop-up window may also carry a selection control for the user to choose "agree" or "disagree" to provide information to the electronic device.

[0075] It is understandable that the above notification and the process of obtaining user authorization are merely illustrative and do not constitute a limitation on the implementation of the present disclosure. Other methods that meet the relevant laws and regulations may also be applied to the implementation of the present disclosure.

[0076] At the same time, it is understandable that the data involved in this technical solution (including but not limited to the data itself, the acquisition or use of the data) shall comply with the requirements of relevant laws, regulations and relevant provisions.

[0077] Figure 1 FIG. 1 is a flow chart showing a data processing method for secure computing applied to a first target party according to an exemplary embodiment. Figure 1 As shown, the method may include S101 to S104.

[0078] In S101, a first pseudo-random number is obtained, and first data is generated according to the first pseudo-random number and a target slice.

[0079] In the present disclosure, secure computing is used to convert the target data from a Boolean copy secret sharing form among three parties into an arithmetic copy secret sharing form, wherein the three parties include a first party, a second party, and a third party, all of which are computing participants. The target data originally constitutes a Boolean copy secret sharing form among the three parties, and the purpose of the present disclosure is to convert the target data from a Boolean copy secret sharing form into an arithmetic copy secret sharing form, that is, to make the target data constitute an arithmetic copy secret sharing form among the three parties. It can be understood that the target data in the present disclosure can be any data that is not convenient for disclosure, and can include but is not limited to model parameters of a machine learning model, etc.

[0080] The first target party is one of the first party and the second party, and the second target party is the other of the first party and the second party. In one embodiment, the first target party is the first party and the second target party is the second party; in another embodiment, the first target party is the second party and the second target party is the first party. The second target party obtains two arithmetic replica slices of the target data in a similar manner to the first target party.

[0081] The target shard is a Boolean replica shard of the target data held jointly by the first party and the second party.

[0082] For example, the target data X includes three Boolean replication fragments, namely b 01, b 20 and b 12 , and b 01 , b 20 , b 12 ∈R, ring R is a ring Among them, the first party holds b 01 , b 20 , the second party holds b 01 , b 12 , a third party holds b 12 , b 20 , the first party and the second party jointly hold b 01 , then the target fragment is b 01 .

[0083] The first pseudo-random number and the first data both belong to the N-th power space of modulo 2, that is, the value range of the first pseudo-random number and the first data is [0, 2 N -1].

[0084] In S102, the sum of the first data and the second data held by the second target party is securely calculated with other parties among the three parties to obtain two arithmetic replica fragments of the sum of the first data and the second data.

[0085] In the present disclosure, the second data is generated by the second target party based on the second pseudo-random number and the target shard, wherein the second pseudo-random number and the second data both belong to the N-th power space of modulo 2, that is, the value range of the second pseudo-random number and the second data is [0, 2 N -1].

[0086] Specifically, the second target party can first obtain the second pseudo-random number, and then generate the second data based on the second pseudo-random number and the target shard. It can be seen that the first data is the private data of the first target party, and the second data is the private data of the second target party. Afterwards, the three parties securely calculate the sum of the two private data (i.e., the sum of the first data and the second data), and obtain two arithmetic replica shards of the sum of the first data and the second data respectively.

[0087] In S103, two arithmetic copy slices of the target data are generated according to the first mask data received from the third party, two arithmetic copy slices of the sum of the first data and the second data held by the first target party, and the target slice.

[0088] In the present disclosure, the first mask data is generated by a third party based on a first pseudo-random number, a second pseudo-random number, and two Boolean replica slices of the target data held by the third party. Specifically, the third party can first obtain the first pseudo-random number and the second pseudo-random number, and then generate the first mask data according to the first pseudo-random number, the second pseudo-random number, and the two Boolean replica slices of the target data held by the third party, and send the first mask data to the first party and the second party (i.e., the first target party and the second target party). After receiving the first mask data sent by the third party, the first target party generates two arithmetic replica slices of the target data according to the first mask data, the two arithmetic replica slices of the sum of the first data and the second data held by the first target party, and the target slice; at the same time, after receiving the first mask data sent by the third party, the second target party generates two arithmetic replica slices of the target data according to the first mask data, the two arithmetic replica slices of the sum of the first data and the second data held by the second target party, and the target slice; the third party can determine the two arithmetic replica slices of the sum of the first data and the second data held by itself as the two arithmetic replica slices of the target data. At this time, the target data is shared in the form of an arithmetic replication secret among three parties, and each participant holds two arithmetic replication fragments of the target data.

[0089] For example, the first target party is the first party, and the second target party is the second party. The first party can generate the first data according to the first pseudo-random number and the target slice obtained, and the second party can generate the second data according to the second pseudo-random number and the target slice obtained at the same time; the third party can generate the first mask data according to the first pseudo-random number, the second pseudo-random number, and the two Boolean replica slices of the target data held by the third party, and send the first mask data to the first party and the second party. After receiving the first mask data sent by the third party, the first party generates two arithmetic replica slices of the target data according to the first mask data, the two arithmetic replica slices of the sum of the first data and the second data held by the first party, and the target slice; at the same time, after receiving the first mask data sent by the third party, the second party generates two arithmetic replica slices of the target data according to the first mask data, the two arithmetic replica slices of the sum of the first data and the second data held by the second party, and the target slice; the third party can determine the two arithmetic replica slices of the sum of the first data and the second data held by itself as the two arithmetic replica slices of the target data.

[0090] In S104, a data processing task is performed based on two arithmetic replica slices of the target data held by the first target.

[0091] In the present disclosure, the above-mentioned data processing task may be a SQL query task or a machine learning model training task.

[0092] In one embodiment, when the above-mentioned data processing task is an SQL query task, the three parties can collaboratively perform SQL queries based on the two arithmetic replica shards of the target data held by each party to respectively obtain arithmetic replica shards of the query results. Afterwards, the three parties respectively feed back the arithmetic replica shards of the query results obtained by each party to the query party; after the query party receives the arithmetic replica shards of the query results sent by the three parties, it merges the three arithmetic replica shards of the query results to obtain the final query result.

[0093] In another embodiment, when the above-mentioned data processing task is a machine learning model training task, the three parties can use the target data in the form of arithmetic replication secret sharing to calculate the activation function of the model to complete the model training. At this time, the target data is the model parameters of the machine learning model.

[0094] In the above technical solution, when converting the target data from the Boolean copy secret sharing form to the arithmetic copy secret sharing form, the first party and the second party generate the first data and the second data respectively, and then the three parties securely calculate the sum of the first data and the second data through interactive security, and obtain two arithmetic copy slices of the sum respectively; at the same time, after the third party generates the first mask data, it sends it to the first party and the second party, so that the first party and the second party respectively generate two Boolean copy slices of the target data based on the first mask data and the two arithmetic copy slices of the sum held by themselves, and the process involves one mask data interaction, that is, the third party sends the first mask data to the first party and the second party; the third party determines the two arithmetic copy slices of the sum held by itself as the two arithmetic copy slices of the target data. In this way, the entire sharing form conversion only requires one mask data interaction and one secure calculation interaction (that is, the three parties securely calculate the sum of the first data and the second data through interactive security), so that in scenarios such as model training and SQL query, this solution can greatly reduce the data communication volume of converting the target data from the Boolean copy secret sharing form to the arithmetic copy secret sharing form while protecting privacy data, and improve the business processing efficiency of secure calculation.

[0095] The specific implementation of obtaining the first pseudo-random number in S101 above is described in detail below.

[0096] In one implementation, the third party can generate a first pseudo-random number and a second pseudo-random number locally, and send the first pseudo-random number and the first masked data to the first target party, and send the second pseudo-random number and the first masked data to the second target party. The communication volume involved in this process is 2N+2 bits, and the communication round is 1 round.

[0097] like Figure 2 As shown, the first target party is the first party, the second target party is the second party, and the third party generates a first pseudo-random number u t0and the second pseudo-random number u 12 , then, the first pseudo-random number u 20 and the first masked data v 01 sent to the first party together with the second pseudo-random number u 12 and the first masked data v 01 Sent to the second party.

[0098] In another embodiment, in order to reduce the amount of data communication, the first pseudo-random number and the second pseudo-random number can be generated locally at the first target party and the second target party, respectively. Specifically, the first target party can generate the first pseudo-random number based on the first seed, and the third party can synchronously generate the first pseudo-random number based on the first seed; at the same time, the second target party can generate the second pseudo-random number based on the second seed, and the third party can synchronously generate the second pseudo-random number based on the second seed. In this way, each pseudo-random number is generated locally, and the three parties do not need to interact with each other in pseudo-random numbers, but only need to interact with the first masked data. At this time, the amount of communication involved is 2N bits, and the number of communication rounds is 1 round.

[0099] like Figure 3 As shown, the first target party is the first party, and the second target party is the second party; the first party and the third party generate a first pseudo-random number u based on the first seed respectively. 20 , the second party and the third party generate a second pseudo-random number u based on the second seed 12 , so that the third party only needs to first mask the data v 01 Sent to the first party and the second party respectively.

[0100] The specific implementation of generating the first data according to the first pseudo-random number and the target slice in the above S101 is described in detail below.

[0101] Specifically, if the target fragment is 0, the first pseudo-random number is determined as the first data; if the target fragment is 1, the opposite number of the first pseudo-random number is determined as the first data.

[0102] For example, the first data may be generated according to the first pseudo-random number and the target slice by the following equation (1):

[0103]

[0104] Wherein, a1 is the first data; b 01 The target shard.

[0105] Similarly, the second target party may generate second data according to the first pseudo-random number and the target fragment in the following manner:

[0106] If the target fragment is 0, the second pseudo-random number is determined as the second data; if the target fragment is 1, the opposite number of the second pseudo-random number is determined as the second data.

[0107] For example, the first data may be generated according to the second pseudo-random number and the target slice by the following equation (2):

[0108]

[0109] Among them, b1 is the second data.

[0110] The following is a detailed description of the specific implementation method of securely calculating the sum of the first data and the second data held by the second target party with the other parties in the three parties in S102 to obtain two arithmetic replicas of the sum. Specifically, it can be achieved by the following steps (21) to (24):

[0111] Step (21): Obtain a third pseudo-random number in the Nth power space modulo 2.

[0112] Step (22): masking the first data using a third pseudo-random number to obtain second masked data, and sending the second masked data to a second target party.

[0113] For example, the third pseudo-random number may be used to mask the first data using the following equation (3) to obtain the second masked data:

[0114] a′=a1-r 20 (3)

[0115] Wherein, a′ is the second mask data; r 20 is the third pseudo-random number.

[0116] Step (23): receiving third mask data sent by the second target party, wherein the third mask data is generated by the second target party based on the second data.

[0117] In the present disclosure, after generating the first data, the first target party can use the third pseudo-random number to mask the first data, obtain the second masked data, and send it to the second target party; at the same time, after generating the second data, the second target party can use the fourth pseudo-random number to mask the second data, obtain the third masked data, and send it to the first target party. The data communication volume involved in this process is 2N bits, where the second masked data and the third masked data are both N bits.

[0118] For example, the fourth pseudo-random number can be used to mask the second data using the following equation (4) to obtain the third masked data:

[0119] b′=b1-r12 (4)

[0120] Wherein, b′ is the third mask data; r 12 is the fourth pseudo-random number.

[0121] Step (24): Determine the second masked data and the third masked data and the third pseudo-random number as two arithmetic replicas of the sum.

[0122] In the present disclosure, after receiving the third mask data sent by the second target party, the first target party calculates the sum of the local second mask data and the third mask data received from the second target party, and then determines the sum of the second mask data and the third mask data and the third pseudo-random number as two arithmetic replica slices of the sum of the first data and the second data; at the same time, after receiving the second mask data sent by the first target party, the second target party calculates the sum of the local third mask data and the second mask data received from the first target party, and then determines the sum of the second mask data and the third mask data and the fourth pseudo-random number as two arithmetic replica slices of the sum of the first data and the second data; and the third party determines the third pseudo-random number and the fourth pseudo-random number as two arithmetic replica slices of the sum of the first data and the second data.

[0123] For example, the first target party is the first party, and the second target party is the second party, such as Figure 2 and Figure 3 As shown, the first party uses the third pseudo-random number r 20 The first data a1 is masked to obtain the second masked data a′, and the second data a′ is sent to the second party; the second party uses the fourth pseudo-random number r 12 The second data b1 is masked to obtain the third masked data b′, and the third masked data b′ is sent to the first party; then, the first party converts a′+b′, r 20 Determine the two arithmetic replicas of the sum of the first data and the second data, and the second party converts a′+b′, r 12 The two arithmetic replicas of the sum of the first data and the second data are determined. 20 、r 12 Two arithmetic replica slices of the sum of the first data and the second data are determined.

[0124] The specific implementation method of obtaining the third pseudo-random number in the Nth power space modulo 2 in the above step (21) is described in detail below.

[0125] In one implementation, the third party can generate a third pseudo-random number and a fourth pseudo-random number locally, and send the third pseudo-random number together with the first masked data and the first pseudo-random number to the first target party, and send the fourth pseudo-random number together with the first masked data and the second pseudo-random number to the second target party. The communication volume involved in this process is 2N+4 bits, and the communication volume involved in the interaction process between the second masked data and the third masked data is 2N bits. The actual total communication volume of the entire shared conversion is 4N+4 bits, and the communication round is 1 round. This communication volume is relative to the above-mentioned a[b] B =[ab] A When the protocol is implemented, the communication volume of one round (i.e. 6N bits, one round of communication) is reduced by nearly 1 / 3, which is comparable to the above-mentioned a[b] B =[ab] A When the protocol is implemented, the communication round of 2 rounds (i.e. 4N bits, 2 communication rounds) is reduced by 1 round.

[0126] like Figure 2 As shown, the first target party is the first party, the second target party is the second party, and the third party generates a first pseudo-random number u 20 , the second pseudo-random number u 12 , the third pseudo-random number r 20 and the fourth pseudo-random number r 12 , then, the first pseudo-random number u 20 , the third pseudo-random number r 20 , the first mask data v 01 sent to the first party together with the second pseudo-random number u 12 , the fourth pseudo-random number r 12 , the first mask data v 01 Sent to the second party.

[0127] In another embodiment, in order to reduce the amount of data communication, the third pseudo-random number and the fourth pseudo-random number can be generated locally at the first target party and the second target party, respectively. Specifically, the first target party can generate the third pseudo-random number based on the third seed, and the third party can synchronously generate the third pseudo-random number based on the third seed; at the same time, the second target party can generate the fourth pseudo-random number based on the fourth seed, and the third party can synchronously generate the fourth pseudo-random number based on the fourth seed. In this way, each pseudo-random number is generated locally, and the three parties do not need to interact with each other in pseudo-random numbers, but only need to interact with the first masked data. At this time, the amount of communication involved is 2N bits, and the number of communication rounds is 1. This amount of communication is relatively large compared to the above-mentioned method using a[b] B =[ab] A When the protocol is implemented, the communication volume of one round (i.e. 6Nbit, communication round is 1 round) is reduced by 1 / 3, which is different from the above-mentioned a[b] B=[ab] A When the protocol is implemented, the communication rounds of 2 rounds (i.e. 4Nbit, 2 communication rounds) are reduced by 1 round.

[0128] like Figure 3 As shown, the first target party is the first party, and the second target party is the second party; the first party and the third party generate a third pseudo-random number r based on a third seed respectively. 20 , the second party and the third party generate a fourth pseudo-random number r based on the fourth seed respectively 12 , so that the third party only needs to first mask the data v 01 Sent to the first party and the second party respectively.

[0129] The following describes in detail a specific implementation of generating two arithmetic replica slices of the target data according to the first mask data received from the third party, the two arithmetic replica slices of the sum held by the first target party, and the target slice in S103.

[0130] Specifically, the first target may generate an arithmetic copy slice of the target data according to the target slice, the first arithmetic copy slice and the first mask data, and determine the second arithmetic copy slice as another arithmetic copy slice of the target data.

[0131] In the present disclosure, the two arithmetic replication slices of and held by the first target party include a first arithmetic replication slice and a second arithmetic replication slice, wherein the first arithmetic replication slice is jointly held by the first party and the second party.

[0132] For example, the first target is the first party, the second target is the second party, and the two arithmetic replicas of the sum of the first data and the second data held by the first party are a′+b′, r 20 The two arithmetic replicas of the sum of the first data and the second data held by the second party are a′+b′ and r 12 , then the first arithmetic copy slice is a′+b′, and the second arithmetic copy slice is r 20 .

[0133] For example, the first target may generate an arithmetic replica slice of the target data according to the target slice, the first arithmetic replica slice and the first mask data by using the following equation (5):

[0134]

[0135] Among them, y 01 is an arithmetic copy slice of the target data; x 01 is the first arithmetic replication slice, and, and x 01 =a′+b′; f(b 01 ) is the value of the target fragment in the power space modulo 2.

[0136] Among them, the definition function Make f(0)=0, f(1)=1. This function is used to convert 1-bit Boolean data into 64-bit arithmetic data, that is, convert the data in the modulo 2 space into the modulo 2 power space.

[0137] The following describes in detail a specific implementation method for the second target party to generate two arithmetic replica slices of the target data based on the first mask data, two arithmetic replica slices of the sum of the first data and the second data held by the second target party, and the target slice.

[0138] Specifically, the second target may generate an arithmetic copy slice of the target data according to the target slice, the first arithmetic copy slice and the first mask data, and determine the third arithmetic copy slice as another arithmetic copy slice of the target data.

[0139] The two arithmetic replication slices of the sum of the first data and the second data held by the second target party include a first arithmetic replication slice and a third arithmetic replication slice.

[0140] For example, the first target is the first party, the second target is the second party, and the two arithmetic replicas of the sum of the first data and the second data held by the first party are a′+b′, r 20 The two arithmetic replicas of the sum of the first data and the second data held by the second party are a′+b′ and r 12 , then the first arithmetic copy slice is a′+b′, and the third arithmetic copy slice is r 12 .

[0141] For example, the second target may generate an arithmetic replica slice of the target data according to the target slice, the first arithmetic replica slice and the first mask data by using the above equation (5).

[0142] In addition, the third party may generate the first masked data according to the first pseudo-random number, the second pseudo-random number, and two Boolean replica fragments of the target data held by the third party through the following equation (6):

[0143]

[0144] in, It is the value of the XOR result of two Boolean replicas of the target data held by the third party in the modulo 2 power space.

[0145] In summary, the two replica shards of the target data held by the first target party are x 01 、r 20 The two replica shards of the target data held by the second target party are y01 、r 12 The two replica shards of the target data held by the third party are r 12 、r 20 ,in,

[0146] The correctness of the above shared form conversion is guaranteed by the following equation:

[0147]

[0148] Figure 4 FIG. 1 is a flow chart showing a data processing method for secure computing applied to a third party according to an exemplary embodiment. Figure 4 As shown, the method includes S201 to S205.

[0149] In S201, a first pseudo-random number and a second pseudo-random number are obtained.

[0150] In the present disclosure, secure computing is used to convert a Boolean replication secret sharing form of target data among three parties into an arithmetic replication secret sharing form, where the three parties include a first party, a second party, and a third party.

[0151] In S202, first masked data is generated according to the first pseudo-random number, the second pseudo-random number, and two Boolean replicas of the target data held by the third party, and the first masked data is sent to the first party and the second party.

[0152] In S203, the sum of the first data and the second data is securely calculated with other parties among the three parties to obtain two arithmetic replicas of the sum.

[0153] Among them, the first data is generated by the first target party based on the first pseudo-random number and the target shard, the second data is generated by the second target party based on the second pseudo-random number and the target shard, the first data and the second data both belong to the Nth power space modulo 2, the first target party is one of the first party and the second party, and the second target party is the other of the first party and the second party.

[0154] In S204, two arithmetic replication slices of and held by the third party are determined as two arithmetic replication slices of the target data.

[0155] In S205, a data processing task is executed according to two arithmetic replica slices of the target data held by a third party.

[0156] In the above technical solution, when converting the target data from the Boolean copy secret sharing form to the arithmetic copy secret sharing form, the first party and the second party generate the first data and the second data respectively, and then the three parties securely calculate the sum of the first data and the second data through interactive security, and obtain two arithmetic copy slices of the sum respectively; at the same time, after the third party generates the first mask data, it sends it to the first party and the second party, so that the first party and the second party respectively generate two Boolean copy slices of the target data based on the first mask data and the two arithmetic copy slices of the sum held by themselves, and the process involves one mask data interaction, that is, the third party sends the first mask data to the first party and the second party; the third party determines the two arithmetic copy slices of the sum held by itself as the two arithmetic copy slices of the target data. In this way, the entire sharing form conversion only requires one mask data interaction and one secure calculation interaction (that is, the three parties securely calculate the sum of the first data and the second data through interactive security), so that in scenarios such as model training and SQL query, this solution can greatly reduce the data communication volume of converting the target data from the Boolean copy secret sharing form to the arithmetic copy secret sharing form while protecting privacy data, and improve the business processing efficiency of secure calculation.

[0157] In a possible implementation manner, the generating of the first masked data according to the first pseudo-random number, the second pseudo-random number, and two Boolean replica fragments of the target data held by a third party includes:

[0158] The first masked data is generated by the above equation (6) according to the first pseudo-random number, the second pseudo-random number and two Boolean replica pieces of the target data held by the third party.

[0159] In a possible implementation, securely calculating the sum of the first data and the second data with the other party in the three parties to obtain two arithmetic replicas of the sum includes:

[0160] Obtain a third pseudo-random number and a fourth pseudo-random number in the N-th power space modulo 2;

[0161] The third pseudo-random number and the fourth pseudo-random number are determined as two arithmetic replicas of the sum.

[0162] In a possible implementation, the above data processing task is a structured query language query task or a machine learning model training task.

[0163] The specific implementation methods of each step in the data processing method for secure computing applied to a third party according to an embodiment of the present disclosure have been described in detail in the data processing method for secure computing applied to the first target party according to an embodiment of the present disclosure, and will not be repeated here.

[0164] Figure 51 is a block diagram of a data processing device for secure computing applied to a first target party according to an exemplary embodiment. The secure computing is used to convert the target data in a Boolean copy secret sharing form among three parties, the three parties including the first party, the second party and the third party. Figure 5 As shown, the data processing device 300 for secure computing applied to the first target party includes:

[0165] A first generating module 301 is configured to obtain a first pseudo-random number, and generate first data according to the first pseudo-random number and a target shard, wherein the target shard is a Boolean copy shard of the target data held jointly by the first party and the second party;

[0166] A first secure computing module 302 is configured to securely compute, with other parties among the three parties, a sum of the first data and second data held by a second target party, to obtain two arithmetic replica slices of the sum, wherein the second data is generated by the second target party based on a second pseudo-random number and the target slice, and the second target party is the other of the first party and the second party;

[0167] A second generating module 303 is configured to generate two arithmetic replica slices of the target data according to first masked data received from the third party, two arithmetic replica slices of the sum held by the first target party, and the target slice, wherein the first masked data is generated by the third party based on the first pseudo-random number, the second pseudo-random number, and the two Boolean replica slices of the target data held by the third party;

[0168] The first execution module 304 is used to execute a data processing task based on two arithmetic replica slices of the target data held by the first target party.

[0169] In the above technical solution, when converting the target data from the Boolean copy secret sharing form to the arithmetic copy secret sharing form, the first party and the second party generate the first data and the second data respectively, and then the three parties securely calculate the sum of the first data and the second data through interactive security, and obtain two arithmetic copy slices of the sum respectively; at the same time, after the third party generates the first mask data, it sends it to the first party and the second party, so that the first party and the second party respectively generate two Boolean copy slices of the target data based on the first mask data and the two arithmetic copy slices of the sum held by themselves, and the process involves one mask data interaction, that is, the third party sends the first mask data to the first party and the second party; the third party determines the two arithmetic copy slices of the sum held by itself as the two arithmetic copy slices of the target data. In this way, the entire sharing form conversion only requires one mask data interaction and one secure calculation interaction (that is, the three parties securely calculate the sum of the first data and the second data through interactive security), so that in scenarios such as model training and SQL query, this solution can greatly reduce the data communication volume of converting the target data from the Boolean copy secret sharing form to the arithmetic copy secret sharing form while protecting privacy data, and improve the business processing efficiency of secure calculation.

[0170] Optionally, the first pseudo-random number and the second pseudo-random number both belong to a power-of-N space modulo 2;

[0171] The second generating module 303 includes:

[0172] A generating submodule, configured to generate an arithmetic replica slice of the target data according to the target slice, the first arithmetic replica slice and the first mask data;

[0173] A first determining submodule, configured to determine the second arithmetic replication slice as another arithmetic replication slice of the target data;

[0174] The two arithmetic replication slices of the sum held by the first target party include the first arithmetic replication slice and the second arithmetic replication slice, and the first arithmetic replication slice is jointly held by the first party and the second party.

[0175] Optionally, the first determining submodule is used to generate an arithmetic replica slice of the target data according to the target slice, the first arithmetic replica slice and the first mask data by using the following formula:

[0176]

[0177] Among them, y 01 is an arithmetic copy slice of the target data; x 01 b is the first arithmetic replication slice; 01 is the target shard; 01is the first mask data; f(b 01 ) is the value of the target fragment in the modulo 2 power space.

[0178] Optionally, the first data and the second data both belong to the N-th power space modulo 2;

[0179] The first security calculation module 302 includes:

[0180] A first acquisition submodule is used to acquire a third pseudo-random number in the N-th power space modulo 2;

[0181] a masking processing submodule, configured to perform masking processing on the first data using the third pseudo-random number to obtain second masked data, and send the second masked data to the second target party;

[0182] a receiving submodule, configured to receive third mask data sent by the second target party, wherein the third mask data is generated by the second target party based on the second data;

[0183] The second determining submodule is used to determine the sum of the second masked data and the third masked data and the third pseudo-random number as two arithmetic replicas of the sum.

[0184] Optionally, the first pseudo-random number and the first data both belong to a power-of-N space modulo 2;

[0185] The first generating module 301 includes:

[0186] a third determining submodule, configured to determine the first pseudo-random number as the first data if the target slice is 0;

[0187] The fourth determination submodule is used to determine the opposite number of the first pseudo-random number as the first data if the target fragment is 1.

[0188] Optionally, the data processing task is a structured query language query task or a machine learning model training task.

[0189] Figure 6 The block diagram of a data processing device for secure computing applied to a third party is shown according to an exemplary embodiment. The secure computing is used to convert the target data in the Boolean copy secret sharing form of three parties into the arithmetic copy secret sharing form, and the three parties include the first party, the second party and the third party. Figure 5 As shown, the data processing device 400 for secure computing applied to a third party includes:

[0190] An acquisition module 401 is used to acquire a first pseudo-random number and a second pseudo-random number;

[0191] A third generating module 402 is configured to generate first masked data according to the first pseudo-random number, the second pseudo-random number, and two Boolean replica fragments of the target data held by the third party, and send the first masked data to the first party and the second party;

[0192] A second secure computing module 403 is configured to securely compute the sum of first data and second data with other parties among the three parties to obtain two arithmetic replica slices of the sum, wherein the first data is generated by a first target party based on the first pseudo-random number and the target slice, and the second data is generated by a second target party based on the second pseudo-random number and the target slice, the first target party is one of the first party and the second party, and the second target party is the other of the first party and the second party;

[0193] A determination module 404, configured to determine the two arithmetic replica slices of the sum held by the third party as the two arithmetic replica slices of the target data;

[0194] The second execution module 405 is used to execute a data processing task according to the two arithmetic replica slices of the target data held by the third party.

[0195] In the above technical solution, when converting the target data from the Boolean copy secret sharing form to the arithmetic copy secret sharing form, the first party and the second party generate the first data and the second data respectively, and then the three parties securely calculate the sum of the first data and the second data through interactive security, and obtain two arithmetic copy slices of the sum respectively; at the same time, after the third party generates the first mask data, it sends it to the first party and the second party, so that the first party and the second party respectively generate two Boolean copy slices of the target data based on the first mask data and the two arithmetic copy slices of the sum held by themselves, and the process involves one mask data interaction, that is, the third party sends the first mask data to the first party and the second party; the third party determines the two arithmetic copy slices of the sum held by itself as the two arithmetic copy slices of the target data. In this way, the entire sharing form conversion only requires one mask data interaction and one secure calculation interaction (that is, the three parties securely calculate the sum of the first data and the second data through interactive security), so that in scenarios such as model training and SQL query, this solution can greatly reduce the data communication volume of converting the target data from the Boolean copy secret sharing form to the arithmetic copy secret sharing form while protecting privacy data, and improve the business processing efficiency of secure calculation.

[0196] Optionally, the first pseudo-random number and the second pseudo-random number both belong to a power-of-N space modulo 2;

[0197] The third generating module 402 is used to generate first masked data according to the first pseudo-random number, the second pseudo-random number and two Boolean replica fragments of the target data held by the third party by using the following formula, including:

[0198]

[0199] Among them, v 01 is the first mask data; 20 is the first pseudo-random number; 12 is the second pseudo-random number; b 12 , b 20 two Boolean replica shards of the target data held by the third party; It is the value of the XOR result of two Boolean replica fragments of the target data held by the third party in the power space modulo 2.

[0200] Optionally, the first data and the second data both belong to the N-th power space modulo 2;

[0201] The second security calculation module 403 includes:

[0202] A second acquisition submodule, used to acquire a third pseudo-random number and a fourth pseudo-random number in the N-th power space modulo 2;

[0203] The fifth determining submodule is used to determine the third pseudo-random number and the fourth pseudo-random number as two arithmetic replicas of the sum.

[0204] Optionally, the data processing task is a structured query language query task or a machine learning model training task.

[0205] The present disclosure also provides a computer-readable medium having a computer program stored thereon, which, when executed by a processing device, implements the steps of the data processing method for secure computing applied to the first target party or the steps of the data processing method for secure computing applied to a third party provided by the present disclosure.

[0206] The present disclosure also provides a computer program product, including a computer program, which, when executed by a processor, implements the steps of the data processing method for secure computing applied to the first target party or the steps of the data processing method for secure computing applied to a third party provided by the present disclosure.

[0207] Reference below Figure 7, which shows a schematic diagram of the structure of an electronic device (such as a terminal device or a server) 600 suitable for implementing the embodiment of the present disclosure. The terminal device in the embodiment of the present disclosure may include but is not limited to mobile terminals such as mobile phones, notebook computers, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), vehicle-mounted terminals (such as vehicle-mounted navigation terminals), etc., and fixed terminals such as digital TVs, desktop computers, etc. Figure 7 The electronic device shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present disclosure.

[0208] like Figure 7 As shown, the electronic device 600 may include a processing device (e.g., a central processing unit, a graphics processing unit, etc.) 601, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 602 or a program loaded from a storage device 608 into a random access memory (RAM) 603. In the RAM 603, various programs and data required for the operation of the electronic device 600 are also stored. The processing device 601, the ROM 602, and the RAM 603 are connected to each other via a bus 604. An input / output (I / O) interface 605 is also connected to the bus 604.

[0209] Typically, the following devices may be connected to the I / O interface 605: an input device 606 including, for example, a touch screen, a touch pad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; an output device 607 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; a storage device 608 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 609. The communication device 609 may allow the electronic device 600 to communicate with other devices wirelessly or by wire to exchange data. Although Figure 7 The electronic device 600 is shown with various devices, but it should be understood that it is not required to implement or possess all the devices shown. More or fewer devices may be implemented or possessed instead.

[0210] In particular, according to an embodiment of the present disclosure, the process described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present disclosure includes a computer program product, which includes a computer program carried on a non-transitory computer-readable medium, and the computer program contains program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network through a communication device 609, or installed from a storage device 608, or installed from a ROM 602. When the computer program is executed by the processing device 601, the above-mentioned functions defined in the method of the embodiment of the present disclosure are executed.

[0211] It should be noted that the computer-readable medium disclosed above may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present disclosure, a computer-readable storage medium may be any tangible medium containing or storing a program that may be used by or in combination with an instruction execution system, device or device. In the present disclosure, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, in which a computer-readable program code is carried. This propagated data signal may take a variety of forms, including but not limited to an electromagnetic signal, an optical signal, or any suitable combination of the above. The computer readable signal medium may also be any computer readable medium other than a computer readable storage medium, which may send, propagate or transmit a program for use by or in conjunction with an instruction execution system, apparatus or device. The program code contained on the computer readable medium may be transmitted using any suitable medium, including but not limited to: wires, optical cables, RF (radio frequency), etc., or any suitable combination of the above.

[0212] In some embodiments, the client and the server may communicate using any currently known or future developed network protocol such as HTTP (HyperText Transfer Protocol), and may be interconnected with any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network ("LAN"), a wide area network ("WAN"), an internet (e.g., the Internet), and a peer-to-peer network (e.g., an ad hoc peer-to-peer network), as well as any currently known or future developed network.

[0213] The computer-readable medium may be included in the electronic device, or may exist independently without being incorporated into the electronic device.

[0214] The computer-readable medium carries one or more programs. When the one or more programs are executed by the electronic device, the electronic device: obtains a first pseudo-random number, and generates first data based on the first pseudo-random number and a target slice, wherein the target slice is a Boolean copy slice of the target data jointly held by the first party and the second party; securely calculates the sum of the first data and the second data held by the second target party with the other parties among the three parties to obtain two arithmetic copy slices of the sum, wherein the second data is generated by the second target party based on the second pseudo-random number and the target slice, and the second target party is the other of the first party and the second party; generates two arithmetic copy slices of the target data based on the first masked data received from the third party, the two arithmetic copy slices of the sum held by the first target party, and the target slice, wherein the first masked data is generated by the third party based on the first pseudo-random number, the second pseudo-random number, and the two Boolean copy slices of the target data held by the third party; performs a data processing task based on the two arithmetic copy slices of the target data held by the first target party.

[0215] Alternatively, the computer-readable medium carries one or more programs, and when the one or more programs are executed by the electronic device, the electronic device: obtains a first pseudo-random number and a second pseudo-random number; generates first masked data based on the first pseudo-random number, the second pseudo-random number and two Boolean replica slices of the target data held by the third party, and sends the first masked data to the first party and the second party; securely calculates the sum of the first data and the second data with the other parties among the three parties to obtain two arithmetic replica slices of the sum, wherein the first data is generated by the first target party based on the first pseudo-random number and the target slice, and the second data is generated by the second target party based on the second pseudo-random number and the target slice, the first target party is one of the first party and the second party, and the second target party is the other of the first party and the second party; determines the two arithmetic replica slices of the sum held by the third party as the two arithmetic replica slices of the target data; and performs a data processing task based on the two arithmetic replica slices of the target data held by the third party.

[0216] Computer program code for performing the operations of the present disclosure may be written in one or more programming languages ​​or a combination thereof, including, but not limited to, object-oriented programming languages, such as Java, Smalltalk, C++, and conventional procedural programming languages, such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0217] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present disclosure. In this regard, each square box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some implementations as replacements, the functions marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two square boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0218] The modules involved in the embodiments described in the present disclosure may be implemented by software or hardware. The name of a module does not limit the module itself in some cases. For example, an acquisition module may also be described as a "module for acquiring a first pseudo-random number and a second pseudo-random number".

[0219] The functions described above herein may be performed at least in part by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include: field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), and the like.

[0220] In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0221] According to one or more embodiments of the present disclosure, Example 1 provides a data processing method for secure computing, wherein the secure computing is used to convert a Boolean replication secret sharing form of target data among three parties into an arithmetic replication secret sharing form, wherein the three parties include a first party, a second party, and a third party, wherein the method is applied to a first target party, wherein the first target party is one of the first party and the second party, and wherein the method includes:

[0222] Obtaining a first pseudo-random number, and generating first data according to the first pseudo-random number and a target shard, wherein the target shard is a Boolean copy shard of the target data held jointly by the first party and the second party;

[0223] securely calculating, with other parties among the three parties, a sum of the first data and second data held by a second target party, to obtain two arithmetic replica slices of the sum, wherein the second data is generated by the second target party based on a second pseudo-random number and the target slice, and the second target party is the other of the first party and the second party;

[0224] generating two arithmetic replica slices of the target data according to first masked data received from the third party, two arithmetic replica slices of the sum held by the first target party, and the target slice, wherein the first masked data is generated by the third party based on the first pseudo-random number, the second pseudo-random number, and the two Boolean replica slices of the target data held by the third party;

[0225] A data processing task is performed based on two arithmetic replica shards of the target data held by the first target party.

[0226] According to one or more embodiments of the present disclosure, Example 2 provides the method of Example 1, wherein the first pseudo-random number and the second pseudo-random number both belong to the N-th power space modulo 2;

[0227] The step of generating two arithmetic replica slices of the target data according to the first masked data received from the third party, the two arithmetic replica slices of the sum held by the first target party, and the target slice comprises:

[0228] Based on the target slice, the first arithmetic copy slice and the first mask data, an arithmetic copy slice of the target data is generated, and the second arithmetic copy slice is determined as another arithmetic copy slice of the target data, wherein the two arithmetic copy slices of the sum held by the first target party include the first arithmetic copy slice and the second arithmetic copy slice, and the first arithmetic copy slice is jointly held by the first party and the second party.

[0229] According to one or more embodiments of the present disclosure, Example 3 provides the method of Example 2, wherein generating an arithmetic copy slice of the target data according to the target slice, the first arithmetic copy slice, and the first mask data includes:

[0230] According to the target slice, the first arithmetic copy slice and the first mask data, an arithmetic copy slice of the target data is generated by the following formula:

[0231]

[0232] Among them, y 01 is an arithmetic copy slice of the target data; x 01 b is the first arithmetic replication slice; 01 is the target shard; 01 is the first mask data; f(b 01 ) is the value of the target fragment in the modulo 2 power space.

[0233] According to one or more embodiments of the present disclosure, Example 4 provides the method of Example 1, wherein the first data and the second data both belong to the N-th power space modulo 2;

[0234] The securely calculating the sum of the first data and the second data held by the second target party with the other parties among the three parties to obtain two arithmetic replica fragments of the sum, including:

[0235] Obtain the third pseudo-random number in the N-power space modulo 2;

[0236] Using the third pseudo-random number to mask the first data to obtain second masked data, and sending the second masked data to the second target party;

[0237] receiving third mask data sent by the second target party, wherein the third mask data is generated by the second target party based on the second data;

[0238] The second masked data and the third masked data and the third pseudo-random number are determined as two arithmetic replicas of the sum.

[0239] According to one or more embodiments of the present disclosure, Example 5 provides the method of Example 1, wherein the first pseudo-random number and the first data both belong to the N-th power space of modulo 2;

[0240] The step of generating first data according to the first pseudo-random number and the target slice includes:

[0241] If the target fragment is 0, determining the first pseudo-random number as the first data;

[0242] If the target fragment is 1, the opposite number of the first pseudo-random number is determined as the first data.

[0243] According to one or more embodiments of the present disclosure, Example 6 provides a method of any one of Examples 1-5, wherein the data processing task is a structured query language query task or a machine learning model training task.

[0244] According to one or more embodiments of the present disclosure, Example 7 provides a data processing method for secure computing, wherein the secure computing is used to convert a Boolean replication secret sharing form of target data among three parties into an arithmetic replication secret sharing form, wherein the three parties include a first party, a second party, and a third party, and the method is applied to the third party, and the method includes:

[0245] Obtain a first pseudo-random number and a second pseudo-random number;

[0246] generating first masked data according to the first pseudo-random number, the second pseudo-random number, and two Boolean replicas of the target data held by the third party, and sending the first masked data to the first party and the second party;

[0247] securely calculating the sum of first data and second data with other parties among the three parties to obtain two arithmetic replica slices of the sum, wherein the first data is generated by a first target party based on the first pseudo-random number and the target slice, and the second data is generated by a second target party based on the second pseudo-random number and the target slice, the first target party is one of the first party and the second party, and the second target party is the other of the first party and the second party;

[0248] Determine two arithmetic replica slices of the sum held by the third party as two arithmetic replica slices of the target data;

[0249] A data processing task is performed based on two arithmetic replica slices of the target data held by the third party.

[0250] According to one or more embodiments of the present disclosure, Example 8 provides the method of Example 7, wherein the first pseudo-random number and the second pseudo-random number both belong to the N-th power space modulo 2;

[0251] The step of generating first masked data according to the first pseudo-random number, the second pseudo-random number, and two Boolean replica fragments of the target data held by the third party includes:

[0252] The first masking data is generated by the following formula according to the first pseudo-random number, the second pseudo-random number and the two Boolean replica fragments of the target data held by the third party, including:

[0253]

[0254] Among them, v 01 is the first mask data; 20 is the first pseudo-random number; 12 is the second pseudo-random number; b 12 , b 20 two Boolean replica shards of the target data held by the third party; It is the value of the XOR result of two Boolean replica fragments of the target data held by the third party in the power space modulo 2.

[0255] According to one or more embodiments of the present disclosure, Example 9 provides the method of Example 7, wherein both the first data and the second data belong to the N-th power space modulo 2;

[0256] The securely calculating the sum of the first data and the second data with the other parties among the three parties to obtain two arithmetic replicas of the sum, including:

[0257] Obtain a third pseudo-random number and a fourth pseudo-random number in the N-th power space modulo 2;

[0258] The third pseudo-random number and the fourth pseudo-random number are determined as two arithmetic replicas of the sum.

[0259] According to one or more embodiments of the present disclosure, Example 10 provides the method of any one of Examples 7-9, wherein the data processing task is a structured query language query task or a machine learning model training task.

[0260] According to one or more embodiments of the present disclosure, Example 11 provides a data processing device for secure computing, wherein the secure computing is used to convert a Boolean replication secret sharing form of target data among three parties into an arithmetic replication secret sharing form, wherein the three parties include a first party, a second party, and a third party, wherein the device is applied to a first target party, wherein the first target party is one of the first party and the second party, and wherein the device includes:

[0261] A first generating module, configured to obtain a first pseudo-random number, and generate first data according to the first pseudo-random number and a target shard, wherein the target shard is a Boolean copy shard of the target data held jointly by the first party and the second party;

[0262] a first secure computing module, configured to securely compute, with other parties among the three parties, a sum of the first data and second data held by a second target party, to obtain two arithmetic replica slices of the sum, wherein the second data is generated by the second target party based on a second pseudo-random number and the target slice, and the second target party is the other of the first party and the second party;

[0263] a second generating module, configured to generate two arithmetic replica slices of the target data according to first masked data received from the third party, two arithmetic replica slices of the sum held by the first target party, and the target slice, wherein the first masked data is generated by the third party based on the first pseudo-random number, the second pseudo-random number, and the two Boolean replica slices of the target data held by the third party;

[0264] The first execution module is used to execute a data processing task based on two arithmetic replica shards of the target data held by the first target party.

[0265] According to one or more embodiments of the present disclosure, Example 12 provides a data processing device for secure computing, wherein the secure computing is used to convert a target data in a three-party Boolean replication secret sharing form into an arithmetic replication secret sharing form, wherein the three parties include a first party, a second party, and a third party, and the device is applied to the third party, and the device includes:

[0266] An acquisition module, used to acquire a first pseudo-random number and a second pseudo-random number;

[0267] a third generating module, configured to generate first masked data according to the first pseudo-random number, the second pseudo-random number, and two Boolean replica fragments of the target data held by the third party, and send the first masked data to the first party and the second party;

[0268] a second secure computing module, configured to securely compute the sum of first data and second data with other parties among the three parties to obtain two arithmetic replica slices of the sum, wherein the first data is generated by a first target party based on the first pseudo-random number and the target slice, and the second data is generated by a second target party based on the second pseudo-random number and the target slice, the first target party is one of the first party and the second party, and the second target party is the other of the first party and the second party;

[0269] A determination module, configured to determine the two arithmetic replica slices of the sum held by the third party as the two arithmetic replica slices of the target data;

[0270] The second execution module is used to execute a data processing task according to the two arithmetic replica slices of the target data held by the third party.

[0271] According to one or more embodiments of the present disclosure, Example 13 provides a computer-readable medium having a computer program stored thereon, which implements the steps of any of the methods described in Examples 1-10 when executed by a processing device.

[0272] According to one or more embodiments of the present disclosure, Example 14 provides an electronic device, including:

[0273] a storage device having a computer program stored thereon;

[0274] A processing device is used to execute the computer program in the storage device to implement the steps of the method described in any one of Examples 1-10.

[0275] According to one or more embodiments of the present disclosure, Example 15 provides a computer program product, including a computer program, which implements the steps of any one of the methods of Examples 1-10 when executed by a processor.

[0276] The above description is only a preferred embodiment of the present disclosure and an explanation of the technical principles used. Those skilled in the art should understand that the scope of disclosure involved in the present disclosure is not limited to the technical solutions formed by a specific combination of the above technical features, but should also cover other technical solutions formed by any combination of the above technical features or their equivalent features without departing from the above disclosed concept. For example, the above features are replaced with the technical features with similar functions disclosed in the present disclosure (but not limited to) by each other to form a technical solution.

[0277] In addition, although each operation is described in a specific order, this should not be understood as requiring these operations to be performed in the specific order shown or in a sequential order. Under certain circumstances, multitasking and parallel processing may be advantageous. Similarly, although some specific implementation details are included in the above discussion, these should not be interpreted as limiting the scope of the present disclosure. Some features described in the context of a separate embodiment can also be implemented in a single embodiment in combination. On the contrary, the various features described in the context of a single embodiment can also be implemented in multiple embodiments individually or in any suitable sub-combination mode.

[0278] Although the subject matter has been described in language specific to structural features and / or method logic actions, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or actions described above. On the contrary, the specific features and actions described above are merely example forms of implementing the claims. Regarding the device in the above embodiment, the specific manner in which each module performs the operation has been described in detail in the embodiment related to the method, and will not be elaborated here.

Claims

1. A data processing method for secure computing, wherein the secure computing is used to convert a target data in a Boolean replication secret sharing form among three parties into an arithmetic replication secret sharing form, wherein the three parties include a first party, a second party, and a third party, wherein: The method is applied to a first target party, where the first target party is one of the first party and the second party, and the method includes: Obtaining a first pseudo-random number, and generating first data according to the first pseudo-random number and a target shard, wherein the target shard is a Boolean copy shard of the target data held jointly by the first party and the second party; securely calculating, with other parties among the three parties, a sum of the first data and second data held by a second target party, to obtain two arithmetic replica slices of the sum, wherein the second data is generated by the second target party based on a second pseudo-random number and the target slice, and the second target party is the other of the first party and the second party; generating two arithmetic replica slices of the target data according to first masked data received from the third party, two arithmetic replica slices of the sum held by the first target party, and the target slice, wherein the first masked data is generated by the third party based on the first pseudo-random number, the second pseudo-random number, and the two Boolean replica slices of the target data held by the third party; A data processing task is performed based on two arithmetic replica shards of the target data held by the first target party.

2. The method according to claim 1, characterized in that The first pseudo-random number and the second pseudo-random number both belong to the N-th power space modulo 2; The step of generating two arithmetic replica slices of the target data according to the first masked data received from the third party, the two arithmetic replica slices of the sum held by the first target party, and the target slice comprises: Based on the target slice, the first arithmetic copy slice and the first mask data, an arithmetic copy slice of the target data is generated, and the second arithmetic copy slice is determined as another arithmetic copy slice of the target data, wherein the two arithmetic copy slices of the sum held by the first target party include the first arithmetic copy slice and the second arithmetic copy slice, and the first arithmetic copy slice is jointly held by the first party and the second party.

3. The method according to claim 2, characterized in that The step of generating an arithmetic copy slice of the target data according to the target slice, the first arithmetic copy slice and the first mask data comprises: According to the target slice, the first arithmetic copy slice and the first mask data, an arithmetic copy slice of the target data is generated by the following formula: in, is an arithmetic replica slice of the target data; Replicate the shards for the first arithmetic; Slice the target; The first masking data; is the value of the target fragment in the modulo 2 power space.

4. The method according to claim 1, characterized in that The first data and the second data both belong to the N-th power space modulo 2; The securely calculating the sum of the first data and the second data held by the second target party with the other parties among the three parties to obtain two arithmetic replica fragments of the sum, including: Obtain the third pseudo-random number in the N-power space modulo 2; Using the third pseudo-random number to mask the first data to obtain second masked data, and sending the second masked data to the second target party; receiving third mask data sent by the second target party, wherein the third mask data is generated by the second target party based on the second data; The second masked data and the third masked data and the third pseudo-random number are determined as two arithmetic replicas of the sum.

5. The method according to claim 1, characterized in that The first pseudo-random number and the first data both belong to the N-power space modulo 2; The step of generating first data according to the first pseudo-random number and the target slice includes: If the target fragment is 0, determining the first pseudo-random number as the first data; If the target fragment is 1, the opposite number of the first pseudo-random number is determined as the first data.

6. The method according to any one of claims 1 to 5, characterized in that The data processing task is a structured query language query task or a machine learning model training task.

7. A data processing method for secure computing, wherein the secure computing is used to convert a target data in a Boolean replication secret sharing form among three parties into an arithmetic replication secret sharing form, wherein the three parties include a first party, a second party, and a third party, wherein: The method is applied to the third party, and the method includes: Obtain a first pseudo-random number and a second pseudo-random number; generating first masked data according to the first pseudo-random number, the second pseudo-random number, and two Boolean replicas of the target data held by the third party, and sending the first masked data to the first party and the second party; Securely calculating the sum of first data and second data with other parties among the three parties to obtain two arithmetic replica shards of the sum, wherein the first data is generated by a first target party based on the first pseudo-random number and a target shard, the second data is generated by a second target party based on the second pseudo-random number and the target shard, the first target party is one of the first party and the second party, the second target party is the other of the first party and the second party, and the target shard is a Boolean replica shard of the target data held jointly by the first party and the second party; Determine two arithmetic replica slices of the sum held by the third party as two arithmetic replica slices of the target data; A data processing task is performed based on two arithmetic replica slices of the target data held by the third party.

8. The method according to claim 7, characterized in that The first pseudo-random number and the second pseudo-random number both belong to the N-th power space modulo 2; The step of generating first masked data according to the first pseudo-random number, the second pseudo-random number, and two Boolean replica fragments of the target data held by the third party includes: The first masking data is generated by the following formula according to the first pseudo-random number, the second pseudo-random number and the two Boolean replica fragments of the target data held by the third party, including: in, The first masking data; is the first pseudo-random number; is the second pseudo-random number; , two Boolean replica shards of the target data held by the third party; It is the value of the XOR result of two Boolean replica fragments of the target data held by the third party in the power space modulo 2.

9. The method according to claim 7, characterized in that: The first data and the second data both belong to the N-th power space modulo 2; The securely calculating the sum of the first data and the second data with the other parties among the three parties to obtain two arithmetic replicas of the sum, including: Obtain a third pseudo-random number and a fourth pseudo-random number in the N-th power space modulo 2; The third pseudo-random number and the fourth pseudo-random number are determined as two arithmetic replicas of the sum.

10. The method according to any one of claims 7 to 9, characterized in that: The data processing task is a structured query language query task or a machine learning model training task.

11. A data processing device for secure computing, wherein the secure computing is used to convert a target data in a Boolean replication secret sharing form among three parties into an arithmetic replication secret sharing form, wherein the three parties include a first party, a second party, and a third party, wherein: The device is applied to a first target party, where the first target party is one of the first party and the second party, and the device includes: A first generating module, configured to obtain a first pseudo-random number, and generate first data according to the first pseudo-random number and a target shard, wherein the target shard is a Boolean copy shard of the target data held jointly by the first party and the second party; a first secure computing module, configured to securely compute, with other parties among the three parties, a sum of the first data and second data held by a second target party, to obtain two arithmetic replica slices of the sum, wherein the second data is generated by the second target party based on a second pseudo-random number and the target slice, and the second target party is the other of the first party and the second party; a second generating module, configured to generate two arithmetic replica slices of the target data according to first masked data received from the third party, two arithmetic replica slices of the sum held by the first target party, and the target slice, wherein the first masked data is generated by the third party based on the first pseudo-random number, the second pseudo-random number, and the two Boolean replica slices of the target data held by the third party; The first execution module is used to execute a data processing task based on two arithmetic replica shards of the target data held by the first target party.

12. A data processing device for secure computing, wherein the secure computing is used to convert a target data in a Boolean copy secret sharing form among three parties into an arithmetic copy secret sharing form, wherein the three parties include a first party, a second party, and a third party, wherein: The device is applied to the third party, and the device includes: An acquisition module, used to acquire a first pseudo-random number and a second pseudo-random number; a third generating module, configured to generate first masked data according to the first pseudo-random number, the second pseudo-random number, and two Boolean replica fragments of the target data held by the third party, and send the first masked data to the first party and the second party; A second secure computing module is configured to securely compute the sum of first data and second data with other parties among the three parties to obtain two arithmetic replica shards of the sum, wherein the first data is generated by a first target party based on the first pseudo-random number and a target shard, and the second data is generated by a second target party based on the second pseudo-random number and the target shard, the first target party is one of the first party and the second party, the second target party is the other of the first party and the second party, and the target shard is a Boolean replica shard of the target data held jointly by the first party and the second party; A determination module, configured to determine the two arithmetic replica slices of the sum held by the third party as the two arithmetic replica slices of the target data; The second execution module is used to execute a data processing task according to the two arithmetic replica slices of the target data held by the third party.

13. A computer readable medium having a computer program stored thereon, characterized in that: When the program is executed by a processing device, the steps of the method described in any one of claims 1 to 10 are implemented.

14. An electronic device, characterized in that: include: a storage device having a computer program stored thereon; A processing device, configured to execute the computer program in the storage device to implement the steps of the method according to any one of claims 1 to 10.

15. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 10 are implemented.

Citation Information

Patent Citations

  • Method and device for carrying out security operation on private data

    CN111523145A

  • Data processing method and device for security computing, medium and electronic equipment

    CN117556441A