Data processing method and device based on secret sharing
By performing parallel operations through a parallel prefix network, the problem of high communication overhead in traversing large data tables is solved, achieving more efficient data processing.
Patent Information
- Application Number
- CN202210153130.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-02-18
- Publication Date
- 2025-09-16
- Estimated Expiration
- 2042-02-18
AI Technical Summary
In multi-party secure computing, when traversing and processing a data table with large amounts of data, the existing technology requires multiple rounds of sequential operations, resulting in high communication overhead and affecting processing efficiency.
A parallel prefix network is used for parallel computing. Through the network characteristics of the parallel prefix network, the traversal task is split into multiple rounds of parallel computing, reducing the number of traversal processing rounds.
The communication time of traversal processing is reduced and the data processing efficiency is improved.
Smart Images

Figure CN114546645B_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of multi-party secure computing technology, and in particular to a data processing method and device based on secret sharing. Background Art
[0002] With the rapid development of computer technology, big data-based data analysis has provided a foundation for the development of various fields. Multi-party secure computation is a computing mechanism that enables the joint operation of data from multiple parties without disclosing the input data of any computing participants. Traversing data tables is a common processing step in multi-party secure computation tasks.
[0003] In existing traversal calculations, operations must be performed sequentially on each row of data in a data table. This results in the number of processing rounds being proportional to the number of rows in the table. When the number of rows is large, multiple rounds of processing result in significant communication overhead, severely impacting data processing efficiency. Summary of the Invention
[0004] The embodiments of the present application provide a data processing method and device based on secret sharing.
[0005] In a first aspect, an embodiment of the present application provides a data processing method based on secret sharing, the method being applied to a data processing system based on secret sharing, the data processing system including multiple computing participants;
[0006] The data processing method includes: when it is determined that the current security computing task includes a traversal task of a data table to be traversed, each computing participant uses a pre-deployed parallel prefix network to perform a traversal process based on parallel computing on the shared data of the data table to be traversed held by each party, to obtain a traversal result of the data table to be traversed; and based on the traversal result, the current security computing task is executed.
[0007] It can be seen that in the implementation mode of the present application, by utilizing the network characteristics of the parallel prefix network, the traversal task of the data table to be traversed in the security computing task can be implemented by using the traversal processing method of parallel computing. Compared with the sequential traversal processing method adopted in the prior art, it can reduce the number of traversal processing rounds, thereby reducing the communication time required for the task and improving processing efficiency.
[0008] Optionally, the traversal processing based on parallel operations includes multiple rounds of protocol operations triggered by various computing participants according to the network layer structure of the parallel prefix network; wherein each round of protocol operations includes one or more operation processings, and each operation processing is implemented based on the operation operator of the parallel prefix network.
[0009] Optionally, the number of rounds of protocol operation is related to the network depth of the parallel prefix network.
[0010] It can be seen that the traversal processing in the embodiment of the present application includes multiple rounds of protocol operations, wherein the multiple rounds of protocol operations are triggered and implemented according to the network layer structure of the parallel prefix network. Through such a setting, the combined application of parallel prefix network and traversal processing in the secret sharing scenario can be realized.
[0011] Optionally, the parallel prefix network utilized by each computing participant is determined based on the traversal function used by the traversal task.
[0012] Optionally, the data processing further includes: if the traversal function used by the traversal task satisfies the function associativity law, then the traversal task is executed using a parallel prefix network of an operator corresponding to the traversal function.
[0013] It can be seen that the parallel prefix network in the embodiment of the present application is determined based on the traversal function used in the traversal task, and different parallel prefix networks are called based on different traversal functions to meet different traversal requirements for the data table.
[0014] Optionally, the data processing also includes: if the traversal function used in the traversal task does not satisfy the function associativity law, performing function conversion processing on the traversal function to obtain a converted traversal function that satisfies the function associativity law; and using a parallel prefix network with corresponding operation operators as the converted traversal function to execute the traversal task.
[0015] Optionally, the function conversion process includes: based on the function characteristics of the traversal function, introducing variables into the traversal function to obtain a converted traversal function.
[0016] It can be seen that in this embodiment, when the traversal function required for the traversal task does not have the characteristics of the function associativity law, the traversal function can also be converted accordingly to obtain a converted traversal function that meets the conditions for using the parallel prefix network. This processing method can effectively improve the processing efficiency of various traversal tasks and meet the traversal requirements of different traversal tasks.
[0017] In a second aspect, the present application provides an electronic device, comprising:
[0018] at least one processor; and
[0019] Memory;
[0020] The memory stores computer-executable instructions;
[0021] The at least one processor executes the computer-executable instructions stored in the memory, so that the at least one processor performs the method as described in the first aspect.
[0022] In a third aspect, the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores computer-executable instructions. When a processor executes the computer-executable instructions, the method described in the first aspect is implemented.
[0023] In a fourth aspect, the present application provides a computer program product comprising computer instructions, which, when executed by a processor, implement the method described in the first aspect.
[0024] The data processing method and device based on secret sharing provided in the embodiments of the present application utilize the network characteristics of the parallel prefix network so that the traversal task of the data table to be traversed in the secure computing task can be implemented by using the traversal processing method of parallel computing. Compared with the sequential traversal processing method adopted in the prior art, it can reduce the number of traversal processing rounds, thereby reducing the communication time required for the task and improving processing efficiency. BRIEF DESCRIPTION OF THE DRAWINGS
[0025] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and, together with the description, serve to explain the principles of the present disclosure.
[0026] Figure 1 A schematic diagram of a network architecture on which this application is based;
[0027] Figure 2 A schematic diagram of the network structure of a parallel prefix network provided in an embodiment of the present application;
[0028] Figure 3 A flowchart of a data processing method based on secret sharing provided in an embodiment of the present application;
[0029] Figure 4 A schematic diagram of a data flow for data processing using a parallel prefix network according to an embodiment of the present application;
[0030] Figure 5 A schematic diagram of the hardware structure of an electronic device provided in this application.
[0031] The above drawings illustrate specific embodiments of the present disclosure, which will be described in more detail below. These drawings and textual descriptions are not intended to limit the scope of the present disclosure in any way, but rather to illustrate the concepts of the present disclosure to those skilled in the art by reference to specific embodiments. DETAILED DESCRIPTION
[0032] Exemplary embodiments will be described in detail herein, with examples illustrated in the accompanying drawings. In the following description, when referring to the drawings, identical numerals in different figures represent identical or similar elements, unless otherwise indicated. The embodiments described in the following exemplary embodiments are not intended to represent all possible embodiments consistent with the present disclosure. Rather, they are merely examples of apparatus and methods consistent with certain aspects of the present disclosure, as detailed in the appended claims.
[0033] In the technical solution of this application, the collection, storage, use, processing, transmission, provision and disclosure of the information involved comply with the provisions of relevant laws and regulations and do not violate public order and good morals.
[0034] With the rapid development of computer technology, data analysis based on big data has provided a guarantee for the development of various fields.
[0035] In the e-commerce sector, different merchants, brands, and platforms collect data with diverse attributes from various channels. This data can be aggregated and jointly analyzed to obtain more comprehensive and accurate results. To ensure data security, merchants, brands, and platforms cannot directly share data held by other merchants, brands, and platforms. In this context, secure multiparty computation (MPC) can effectively solve the problem of joint data analysis between different merchants, brands, and platforms.
[0036] Secure multiparty computation (MPC) is a computing mechanism that can realize the joint calculation of multi-party data without disclosing the input data of any computing participants.
[0037] Specifically, each computing participant agrees on a function to be computed based on the currently executing secure computing task. They then apply the MPC protocol, inputting each person's secret share of data into the protocol, and jointly compute the function's output without leaking the private input. The function to be computed specifically refers to any function used in any computational process included in the current secure computing task. For example, the function involved in this application is the traversal function used in the data table traversal process.
[0038] The number of data providers and computing participants mentioned above may be multiple. Figure 1 This is a schematic diagram of the network architecture on which this application is based. This diagram illustrates the network architecture using the e-commerce field as an example. The network architecture on which this application is based is illustrated using an example where there are three data providers and three computing participants.
[0039] Specifically, Figure 1 The data providers in the example belong to different manufacturers, namely, Manufacturer A, Manufacturer B, and Manufacturer C. Each manufacturer holds exclusive data and does not exchange data with other manufacturers. Under MPC, each manufacturer uses a protocol to input its own data into the protocol. Under the protocol, this data constitutes the data table T to be traversed. However, no manufacturer can know the specific contents of the data table T to be traversed.
[0040] As for the data table T to be traversed, it can be a data table of different types for storing different information according to different computing requirements. For example, in some cases, the data table to be traversed can be a data table consisting of purchase record data. This application does not limit the data content represented by the data table to be traversed.
[0041] at the same time, Figure 1 The computing participants in the illustrated network architecture include computing participants P1, P2, and P3. Each computing participant can be a device used to perform the current secure computing task. Each device will perform the corresponding protocol operations according to the preset protocol in the MPC to complete the current secure computing task.
[0042] In some practical scenarios, secure computing tasks may involve various types of operations on data tables. Common types of operations include equal join operations on data tables and group aggregation operations on data tables.
[0043] Among various types of operations on data tables, it is often necessary to perform oblivious traversal processing on the data table. Oblivious traversal processing is a common processing operator for data table operations, which is an important component of database equality join operations and group aggregation operations.
[0044] Take the group aggregation operation as an example:
[0045] Assume that the data table T needs to be grouped and aggregated, and the data table T consists of a table containing grouping attributes x i and data attribute y i The data is composed of multiple columns.
[0046] When performing group aggregation operations on the data table T, first we can perform group attribute data x i Then, based on the operation requirements of the grouping aggregation operation, the grouping attribute x in each data group is i and data attribute y iPerform an oblivious traversal process, and based on the traversal result [Z] obtained by the traversal process, perform subsequent aggregation processing based on the traversal result [Z] to obtain the operation result of the grouping aggregation operation of the data table T.
[0047] In the traversal process, including oblivious traversal, each computing participant needs to group the attributes x in the data table [T] i and data attribute y i Calculate another data attribute z i In this process, the calculated z i Will satisfy:
[0048] z i =f(z i-1 , T i ) or, z i =f(z i+1 , T i ); where f is the traversal function, T i Expressed as (x i, y i ).
[0049] Generally speaking, the traversal processing of a data table is generally achieved by using the traversal function to traverse each row of m rows of data in sequence, that is, starting from i=1, the traversal function is used to calculate z1, z2... until z is obtained. m , and each z i The traversed data table [Z] will be formed.
[0050] However, in a multi-party secure computation scenario, such table traversal processing results in significant communication overhead. Specifically, if a traversal computation is completed for any row of data in the table, each computation participant will perform O(1) rounds of communication during that traversal computation. Therefore, the number of communication rounds required to complete m traversals of m rows of data is O(m).
[0051] For example, taking the data table [T] with m=4 as an example, using the above traversal function f (with z i =f(z i-1 , T i ) as an example) traversing the data table can be represented as the following four rounds of traversal calculation steps:
[0052] The first round of traversal calculation: calculate z1 and get z1 = T1;
[0053] Second round of traversal calculation: Calculate z2 using z1 and T2, and get:
[0054] z2=f(z1, T2)=f(T1, T2);
[0055] The third round of traversal calculation: Use z2 and T3 to calculate z3, and get:
[0056] z3=f(z2, T3)=f(f(T1, T2), T3);
[0057] The fourth round of traversal calculation: Use z3 and T4 to calculate z4, and get:
[0058] z4=f(z3, T4)=f(f(f(T1, T2), T3), T4);
[0059] After completing the above four rounds of traversal calculations, the traversed data table [Z] including z1, ...z4 will be obtained. That is, in the above example, the four rows of data need to undergo four rounds of traversal calculations, and the total number of communication rounds required is O(4).
[0060] However, in some fields, including e-commerce, the amount of data contained in the data tables is extremely large. This will result in the communication overhead of each computing participant increasing exponentially when traversing and processing data tables with large data volumes (data tables containing a large number of rows of data), which is very unfavorable to improving the data processing efficiency of each computing participant.
[0061] Based on the above problems, the present application proposes a parallel prefix network that can be used to implement parallel computational processing of the traversal of inadvertent traversals in secure computing tasks.
[0062] Specifically, a parallel prefix network is a network that needs to be executed sequentially on an array. The network can be widely used to implement high-performance adder functions. Commonly used network structures include Brent-Kung type, Sklansky type and Ladner-Fischer type.
[0063] Figure 2 A schematic diagram of a parallel prefix network structure provided in an embodiment of the present application is provided. Figure 2 In the parallel prefix network shown, the network depth is 2 and the operator used by the network is g.
[0064] like Figure 2 As shown, the processing of the input data table [T] will include two rounds of operations:
[0065] First round of operations:
[0066] The input data T1 of the first row and the input data T2 of the second row are calculated by one operation operator to obtain the data Q 1-2 =g(T1, T2);
[0067] At the same time, the input data T3 of the 3rd row and the input data T4 of the 4th row are calculated by the operator once to obtain the data Q 3-4 =g(T3, T4).
[0068] Second round of operations:
[0069] The input data T3 of the third row and the data Q obtained from the previous layer structure 1-2 After one operation, the data Q is calculated. 1-3 =g(Q 1-2 , T3)=g(g(T1, T2), T3);
[0070] At the same time, the data Q obtained by the previous layer structure 1-2 And the data Q obtained from the previous layer structure 3-4 After one operation, the data Q is calculated. 1-4 ,=g(Q 1-2 , Q 3-4 )=g(g(T1, T2), g(T3, T4)).
[0071] That is to say, after completing the above two rounds of traversal operations, the data obtained by the network will include Q1=T1, Q 1-2 =g(T1, T2)=Q2,Q 1-3 =g(g(T1, T2), T3)=Q3 and Q 1-4 =g(g(T1, T2), g(T3, T4)).
[0072] Among them, for Q 1-4 For example, since the function g satisfies the function commutative law, the following expression can be obtained:
[0073] Q 1-4 =g(Q 1-2 , Q 3-4 )=g(g(T1, T2), g(T3, T4))=g(g(g(T1, T2), T3), T4)=Q4.
[0074] At this point, we get Q1, Q2, Q3 and Q4.
[0075] By comparing with the above existing traversal processing results z1, ...z4, it can be found that when Q1 includes z1, Q2 includes z2, and Q3 includes z 3, , when Q4 includes z4, the parallel prefix network can be used to process the traversal task. In order to realize the use of the parallel prefix network to perform the traversal task, the operator (function g) used in the parallel prefix network can be associated with the traversal function f in the aforementioned traversal task. For example, Figure 2The operator function g in the parallel prefix network shown is equal to the traversal function f, so that Figure 2 The network shown executes a traversal process on the data table [T] and obtains the traversal result [Z].
[0076] It is known that using the existing traversal algorithm to traverse the mth row of the data table containing m rows of data, the result z4 needs to be performed m=4 rounds of single operations (z1→z2→z3→z4), while the parallel prefix network is only suitable for Q 1-4 The operation only requires logm=2 rounds of parallel operation (Q 1-2 , Q 3-4 →Q4) to get z4 contained in Q4.
[0077] In other words, if the parallel prefix network can be used to process the traversal task, the computing participants will no longer use the process from T1 to T m Instead of sequential calculation, the network structure of parallel prefix network is used to calculate the time from T1 to T m A computing method that performs parallel computing on one or more data in a table to reduce the number of communication rounds required to complete the data table traversal processing.
[0078] It is based on the above principles and related considerations that this application will adopt a data processing method based on secret sharing, and use a parallel prefix network to split the traversal tasks involved in the current secure computing task, so that the traversal tasks can be split into multiple rounds of parallel operations according to the parallel prefix network. This will reduce the number of communication rounds required for this application to complete the traversal calculation of m rows of data from the original O(m) rounds to O(logm) rounds, and the reduction in the number of communication rounds will be beneficial to reducing communication overhead and improving data processing efficiency.
[0079] The data processing method and device based on secret sharing provided by this application are described in detail below through specific embodiments. The following embodiments can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments.
[0080] It should be noted that the execution entity of the data processing method based on secret sharing provided in this embodiment is the aforementioned data processing system based on secret sharing composed of multiple computing participants. Figure 3 A flow chart of a data processing method based on secret sharing provided in an embodiment of the present application. Figure 3 As shown, the data processing method based on secret sharing may include the following steps:
[0081] Step 301: When it is determined that the current secure computing task includes traversing a data table to be traversed, each computing participant utilizes a pre-deployed parallel prefix network to perform a parallel computing-based traversal process on the shared data of the data table to be traversed held by each participant, thereby obtaining a traversal result of the data table to be traversed.
[0082] Step 302: Execute the current security computing task based on the traversal result.
[0083] It can be understood that the data processing method based on secret sharing provided in the embodiment of the present application can be applied to related systems of multi-party secure computing, and specifically can be applied to the related processing process of traversal tasks in secure computing tasks.
[0084] The secure computing task in this application refers to a computer program code implemented in a preset programming language, and the multi-party secure computing system can implement the corresponding computing function by executing the computer program code. Specifically, the secure computing task includes but is not limited to: data-related operations such as data calculation, cleaning, analysis, model training, storage, and database query based on ciphertext. Of course, it should be made clear that when it is determined that the secure computing task includes a traversal task that can be handled by the implementation method of this application, each computing participant will trigger the data processing method provided in this application and execute the corresponding processing flow.
[0085] At the same time, the data table to be traversed in the above steps can be any type of data table, which can be used to describe data including but not limited to user's personal information, or business data, etc. The shared data in the data table to be traversed is data in ciphertext form that has been encrypted based on the relevant protocol of secret sharing. The shared data will be in the form of Figure 1 The secret shares shown are distributed to each computing participant for related calculation processing.
[0086] In addition, when each computing participant performs traversal processing on the traversable data table according to the data processing method provided in the embodiment of the present application, it is implemented based on secret sharing technology. That is to say, each computing participant will perform the processing agreed upon in the protocol in accordance with the established protocol to ultimately achieve the processing purpose of traversing the traversable data table, wherein the established protocol should be pre-set in the device of each computing participant. When executing the embodiment of the present application, it is known that the network architecture and related network parameters of the parallel prefix network have been deployed in the established protocol, and each computing participant can directly call and use them when performing the traversal task.
[0087] In the implementation manner of the present application, for the current traversal task, the parallel prefix network used by each computing participant is matched with the traversal task.
[0088] Specifically, in order to simplify the traversal tasks in various operation types of the data table, multiple parallel prefix networks can be deployed in the devices of each computing participant. The operation operators used by each parallel prefix network are different, and the parallel prefix networks with different operation operators can perform traversal processing on the data table using different algorithms.
[0089] Based on this, before each computing participant executes a traversal task according to the protocol, they can first determine the corresponding parallel prefix network based on the traversal function used in the traversal task. In other words, when determining the parallel prefix network, based on the traversal function used in the traversal task, a parallel prefix network with the same operator as the traversal function can be selected from the pre-deployed parallel prefix networks to serve as the parallel prefix network used in the traversal task.
[0090] After determining the parallel prefix network corresponding to the traversal task, each computing participant uses the pre-deployed parallel prefix network to perform parallel computation-based traversal processing on the shared data in the data table to be traversed. The following will use the traversal task shown in Table 1 as an example to specifically illustrate the data processing method based on secret sharing provided by this application.
[0091] Table 1 shows a data table [T] to be traversed, where the i-th row of data T in [T] i It can be expressed as T i =(x i ,y i ).
[0092] <![CDATA[x i ]]> <![CDATA[y i ]]> 1 0 2 1 3 1 10 0 20 1 30 1 100 0 200 1
[0093] Table 1
[0094] It is known that the traversal function f used in the traversal task satisfies the function associativity law. Therefore, when the multi-party computing participants traverse the data table to be traversed shown in Table 1, they can find the parallel prefix network corresponding to the traversal function f and use the parallel prefix network to traverse the data table [T] according to the protocol.
[0095] Figure 4 The data flow diagram of the embodiment of the present application using a parallel prefix network for data processing. Figure 4 As shown, the operation operator used by the parallel prefix network can be a traversal function g, and the network depth is 5 layers.
[0096] During processing, each computing participant will first trigger the protocol to call the parallel prefix network when a traversal task needs to be performed.
[0097] In the pre-computation phase, all computing participants can trigger the protocol to input the data table [T] to be traversed into the network as network input data.
[0098] During the prefix calculation phase, each computing participant triggers multiple rounds of protocol operations according to the network layer structure of the parallel prefix network; wherein each round of protocol operations includes one or more operation processings, and each operation processing is implemented based on the operation operator of the parallel prefix network.
[0099] Specifically, Figure 4 The network shown includes 5 layers, assuming that Q1=T1 in the traversal task.
[0100] The first round of protocol operations in the Layer 1 network includes:
[0101] Each computing participant will trigger the protocol to perform traversal operations based on the traversal function g on the four groups of data T1 and T2, T3 and T4, T5 and T6, and T7 and T8 in parallel to obtain Q 1-2 , Q 3-4 , Q 5-6 and Q 7-8 .
[0102] The second round of protocol operations in the Layer 2 network includes:
[0103] Each computing participant will trigger the protocol to 1-2 and Q 3-4 , Q 5-6 and Q 7-8 The two sets of data are traversed in parallel based on the traversal function g to obtain Q 1-4 and Q 5-8 .
[0104] The third round of protocol operations in the Layer 3 network includes:
[0105] Each computing participant will trigger the protocol to 1-4 and Q 5-8 A set of data is traversed in parallel based on the traversal function g to obtain Q 1-8 .
[0106] The fourth round of protocol operations in the Layer 4 network includes:
[0107] Each computing participant will trigger the protocol to 1-4 and Q 5-6 A set of data is traversed in parallel based on the traversal function g to obtain Q 1-6 .
[0108] The fifth round of protocol operations in the Layer 5 network includes:
[0109] Each computing participant will trigger the protocol to1-2 and T3, Q 1-4 and T5, Q 1-6 Perform the traversal operation based on the traversal function g in parallel with the three groups of data of T7 to obtain Q 1-3 , Q 1-5 and Q 1-7 .
[0110] At this point, each computing participant has obtained Q1, Q 1-2 , Q 1-3 , Q 1-4 , Q 1-5 , Q 1-6 Q 1-7 and Q 1-8 .
[0111] In the post-processing stage, each computing participant will output the traversal result [Z] of the data table to be traversed based on the results of each operation, where the i-th row data z i , and the relationship between the operation result can be a containment relationship (where s i For z i Irrelevant parameters), namely Q1=(z1,s1), Q 1-2 =(z2,s2),Q 1-3 =(z3,s3),Q 1-4 =(z3,s4),Q 1-5 =(z5,s5),Q 1-6 =(z6,s6),Q 1-7 =(z7,s7) and Q 1-8 =(z8,s8).
[0112] Table 2 is obtained based on the above results.
[0113] <![CDATA[x i ]]> <![CDATA[y i ]]> <![CDATA[z i ]]> 1 0 1 2 1 3 3 1 6 10 0 10 20 1 30 30 1 60 100 0 100 200 1 300
[0114] Table 2
[0115] After each computing participant obtains the traversal results shown in Table 2, each computing participant will continue to perform the current secure computing task using the traversal results in accordance with the protocol, such as using the traversal results to perform grouping and aggregation operations on the data table, etc.
[0116] Of course, it should be noted that the number of rounds of the above protocol operation is related to the network depth of the parallel prefix network. Specifically, the number of rounds of protocol operation in the traversal process is equal to the network depth, and the network depth is related to the number of data rows in the data table:
[0117] For the data table containing 8 rows of database in the above example, the network depth of the above parallel prefix network is 5, which can reduce the number of communication rounds required for traversal processing to O(5). In other examples, the network structure of the parallel prefix network can be further compressed, and the compression limit of its network depth should be logm (where m is the number of data rows). That is, for the above data table, another parallel prefix network with a network depth of 3 can be used to traverse the data table.
[0118] Regardless of whether a parallel prefix network with a network depth of 5 or a network depth of 3 is used, the number of communication rounds O(logm) required by each computing participant when performing the traversal task is less than the number of communication rounds O(m) required for the original traversal.
[0119] On the basis of the above-mentioned implementation modes, due to the differences in the types of operations performed on the data table in the security computing task, the traversal functions used in the traversal tasks for traversing the data table in the security computing task are also different.
[0120] Generally speaking, the traversal function used by the traversal task satisfies the function associativity law. For example, the traversal function used by a traversal task is f, which satisfies the function associativity law, that is, f(f(f(T1, T2), T3), T4) = f(f(T1, T2), f(T3, T4)).
[0121] At this time, each computing participant uses a parallel prefix network of operators corresponding to the traversal function f to perform the traversal task.
[0122] However, the traversal functions used by other traversal tasks do not satisfy the function associativity law. For example, the traversal function used by a traversal task is h, which does not satisfy the function associativity law, that is, h(h(h(T1, T2), T3), T4)≠h(h(T1, T2), h(T3, T4)).
[0123] At this time, each computing participant performs function conversion processing on the traversal function h to obtain a converted traversal function g that satisfies the function associativity law; and uses a parallel prefix network with corresponding operation operators as the converted traversal function g to execute the traversal task.
[0124] Next, we will use the careless traversal operator F tra Taking the traversal function h as an example, the traversal processing when the traversal function does not satisfy the function associativity law is explained:
[0125] Oblivious traversal operator F tra It is an operator that can convert a secret sharing data table [T] into a data table [Z] through sub-functions θ and φ, that is, using the traversal function h, it can be obtained that [Z] = h([T]).
[0126] At this time, for the i-th row data z in [Z] i , we can use the i-1th row data z i-1 and the i-th row data T in [T] i To obtain, that is, z i =h(z i-1 , T i ). Where [T] includes data items X and Y, then for T i For example, T i =(x i ,y i ).
[0127] Based on the above data table, the traversal function h is composed of the sub-function θ and the sub-function φ, and based on the expression of the sub-function, the traversal function h has multiple expressions.
[0128] Specifically, the subfunction θ can be expressed as two expressions:
[0129] θ(a,b)=a+b, or θ(a,b)=a;
[0130] The subfunction φ can be expressed as three expressions:
[0131] or, Alternatively, φ(a, b)=1.
[0132] Based on the expressions of the two sub-functions θ and the three sub-functions φ, we can get six expressions of the ergodic function h. The following takes the ergodic function expressions of φ(a, b) = 1 and θ(a, b) = a + b as an example, and we can see that:
[0133] For the data table [T] to be traversed, the traversal function h is executed, and the traversed data table [Z] obtained can be expressed as:
[0134] When i=1, z i =x i ;
[0135] When i∈[2,m], in φ(z i-1 ,x i )=1 and y i =1, z i =θ(z i-1 ,x i );
[0136] When i∈[2,m], in φ(z i-1 ,x i )≠1 or y i ≠1, z i =xi .
[0137] In other words, the i-th row data z in the traversed data table [Z] i , which can be expressed as:
[0138]
[0139] Through calculation, we can know that the above traversal function h does not satisfy the function associativity law:
[0140] Taking z4 as an example, the above expression can be used to deduce the expression of z4 as follows:
[0141] z4=h(z3, T4)=h(h(h(z1, T2), T3), T4);
[0142] Since z1=x1≠T1, z4=h(h(h(z1, T2), T3), T4)=h(h(h(x1, T2), T3), T4)≠h(h(h(T1, T2), T3), T4), that is, h does not satisfy the function associative law.
[0143] Since the traversal function h does not satisfy the function associativity, the parallel prefix network cannot directly use the traversal function h as the operation operator of its network. At this time, the traversal function h can be converted so that the converted traversal function not only satisfies the traversal task of the traversed data table [Z] but also satisfies the function associativity.
[0144] In this embodiment, for the ergodic function h constructed using sub-functions θ and φ as described above, variables can be introduced into the ergodic function h based on its functional properties to obtain a converted ergodic function g. Because the converted ergodic function g satisfies the associative law, a parallel prefix network corresponding to the ergodic function g can be found among multiple preset parallel prefix networks. Each computation participant can trigger this network to implement parallel ergodic operations based on the ergodic function g, thereby obtaining the corresponding data table [Z].
[0145] Specifically, introduce the variable [S] in the traversal function h, and let the i-th variable s in [S] i =s i-1 ·y i .
[0146] At this time, the traversal function h that introduces the variable [S] will be converted into a traversal function g, and ([Z], [S]) = g([T]);
[0147] Use the converted traversal function g to process the data table [T] to obtain the i-th row data z i and the i-th variable s i The process can be expressed as:
[0148] (z i , s i )=g((z i-1 , s i-1 ), T i )=g((z i-1 , s i-1 ), (x i ,y i ))
[0149] In addition, [W]=([Z], [S]), then W i =(z i , s i ) and W i-1 =(z i-1 , s i-1 );
[0150] For the above (z i , s i ) can be transformed into:
[0151] W i =g(W i-1 , T i ).
[0152] It should be clear that for the traversal function g, its expression includes the traversal function h and the expression of [S], that is, for the i-th row of data W in [W] i For example, W i z in i The above expression can be used
[0153]
[0154] To calculate, and W i Middle S i The expression s will be used i =s i-1 ·y i Through calculation, we can know that the above traversal function g satisfies the function associativity law:
[0155] Taking W4 as an example, the above expression can be used to deduce the expression of W4:
[0156] W4=g(W3, T4)=g(g(g(W1, T2), T3), T4);
[0157] Since W1=(z1,s1),z1=x1 and s1=y1, so W1=(x1,y1)=T1, substituting W1 into W4, we get:
[0158] W4=g(g(g(W1, T2), T3), T4)=g(g(g(T1, T2), T3), T4). It can be seen that the ergodic function g conforms to the associative law of function, and W4 can be transformed into W4=g(g(T1, T2), g(T3, T4)).
[0159] By introducing the variable [S] as mentioned above, the traversal function h that does not satisfy the function associativity is converted into a traversal function g that satisfies the function associativity. Since the expression of the traversal function g includes the expression of the traversal function h, the traversal function g is used to process the traversed data table [T], and the data rows z required by the traversed data table [Z] can still be obtained. i This also ensures the accuracy of the traversal results obtained by using the converted traversal function g to process the traversal data table [T].
[0160] It should be noted that the above-mentioned method of converting the ergodic function h that does not satisfy the function associativity law into the ergodic function g that satisfies the function associativity law by introducing variables is only one of the optional conversion methods, that is, this embodiment only shows the conversion example of the ergodic function h composed of the sub-function θ and the sub-function φ. For the ergodic function composed of other sub-functions that does not satisfy the function associativity, the function should be converted by adopting the corresponding conversion method in combination with the characteristics of the function.
[0161] The data processing method and device based on secret sharing provided in the embodiments of the present application utilize the network characteristics of the parallel prefix network so that the traversal task of the data table to be traversed in the secure computing task can be implemented by using the traversal processing method of parallel computing. Compared with the sequential traversal processing method adopted in the prior art, it can reduce the number of traversal processing rounds, thereby reducing the communication time required for the task and improving processing efficiency.
[0162] Figure 5 A schematic diagram of the hardware structure of an electronic device provided in this application is shown in FIG. Figure 5 As shown, the embodiment of the present application provides an electronic device, wherein the memory of the electronic device can be used to store at least one program instruction, and the processor is used to execute the at least one program instruction to implement the technical solution of the above-mentioned method embodiment. Its implementation principle and technical effects are similar to those of the above-mentioned method-related embodiments and will not be repeated here.
[0163] In actual application scenarios, Figure 5 The electronic device shown can specifically be a carrier device of any computing participant in a data processing system based on secret sharing. Each electronic device will perform corresponding data processing according to the data processing method shown above to complete multi-party secure computing based on secret sharing.
[0164] The present embodiment provides a chip. The chip includes a processor configured to invoke a computer program stored in a memory to execute the technical solution of the above embodiment. The implementation principles and technical effects are similar to those of the above-mentioned related embodiments and will not be further described here.
[0165] The present application provides a computer program product that, when executed on an electronic device, enables the electronic device to execute the technical solution in the above embodiment. The implementation principle and technical effects are similar to those of the above-mentioned related embodiments and will not be described in detail here.
[0166] The present embodiment provides a computer-readable storage medium having program instructions stored thereon. When the program instructions are executed by an electronic device, the electronic device executes the technical solution of the above embodiment. The implementation principle and technical effects thereof are similar to those of the above-mentioned related embodiments and will not be further described here.
[0167] The above specific implementation methods further illustrate the purpose, technical solutions and beneficial effects of this application in detail. It should be understood that the above are only specific implementation methods of this application and are not intended to limit the scope of protection of this application. Any modifications, equivalent replacements, improvements, etc. made on the basis of the technical solutions of this application should be included in the scope of protection of this application.
Claims
1. A data processing method based on secret sharing, characterized in that: The method is applied to a data processing system based on secret sharing, wherein the data processing system includes a plurality of computing participants; The data processing method comprises: When it is determined that the current secure computing task includes a traversal task on a data table to be traversed, each computing participant utilizes a pre-deployed parallel prefix network to perform a traversal process based on parallel operations on the shared data of the data table to be traversed held by each computing participant, to obtain a traversal result of the data table to be traversed; the traversal process based on parallel operations includes multiple rounds of protocol operations triggered by each computing participant according to the network layer structure of the parallel prefix network; wherein each round of protocol operations includes one or more operation processes, each of which is implemented based on an operation operator of the parallel prefix network, and the parallel prefix network utilized by each computing participant is determined based on the traversal function used by the traversal task; Based on the traversal result, executing the current security computing task; It also includes: if the traversal function used by the traversal task does not satisfy the function associativity law, function conversion processing is performed on the traversal function to obtain a converted traversal function that satisfies the function associativity law; and the traversal task is executed using a parallel prefix network having a corresponding operation operator as the converted traversal function.
2. The data processing method according to claim 1, wherein: The number of rounds of the protocol operation is related to the network depth of the parallel prefix network.
3. The data processing method according to claim 1, wherein: Also includes: If the traversal function used by the traversal task satisfies the function associativity law, the traversal task is executed using a parallel prefix network of an operator corresponding to the traversal function.
4. The data processing method according to claim 1, wherein: The function conversion process includes: Based on the functional characteristics of the traversal function, variables are introduced into the traversal function to obtain the converted traversal function.
5. An electronic device, characterized in that: include: at least one processor; as well as Memory; The memory stores computer-executable instructions; The at least one processor executes the computer-executable instructions stored in the memory, so that the at least one processor performs the method according to any one of claims 1 to 4.
6. A computer-readable storage medium, characterized in that The computer-readable storage medium stores computer-executable instructions, and when a processor executes the computer-executable instructions, the method according to any one of claims 1 to 4 is implemented.
7. A computer program product comprising computer instructions, characterized in that When the computer instructions are executed by a processor, the method according to any one of claims 1 to 4 is implemented.