Data processing method, device and computer equipment for protecting privacy

By encoding private data into the coefficients of polynomial functions, and using secret sharing algorithms and polynomial function recovery technology, the problem of data privacy protection in joint analysis and processing of multi-party data is solved, and efficient collaborative data processing is achieved.

CN114978484BActive Publication Date: 2025-04-29ALIPAY (HANGZHOU) INFORMATION TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202210394145.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-04-15
Publication Date
2025-04-29
Estimated Expiration
2042-04-15

AI Technical Summary

Technical Problem

During the joint analysis and processing of multi-party data, how to achieve coordinated data processing without leaking data privacy and protect the security of privacy data of various institutions.

Method used

By encoding the private data into the coefficients of the polynomial function, the function value of the polynomial function is obtained as a shard of the privacy data, the secret sharing algorithm is used for calculation, and the shard of the target data is obtained, and the target data is restored through the second polynomial function.

Benefits of technology

It realizes collaborative data processing without leaking data privacy, improves the computing efficiency of the secret sharing algorithm, and is suitable for multi-party security computing scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114978484B_ABST
    Figure CN114978484B_ABST
Patent Text Reader

Abstract

The embodiments of this specification disclose a data processing method, apparatus and computer equipment for protecting privacy. The method includes: encoding private data into the coefficients of a first polynomial function; obtaining multiple function values ​​of the first polynomial function as multiple fragments after the private data is split, wherein the fragments of the private data are used to calculate using a secret sharing algorithm to obtain target data fragments. The technical solution of the embodiments of this specification uses the first polynomial function to split the private data. In addition, multiple fragments of private data can also be calculated locally to obtain fragments of target data without the help of a third party, thereby improving the calculation efficiency of the secret sharing algorithm. In addition, the target data is restored using a second polynomial function.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of this specification relate to the field of computer technology, and in particular, to a data processing method, apparatus, and computer device for protecting privacy. Background Art

[0002] In some scenarios, it is often necessary to jointly analyze and process data from different data parties. In the process of jointly analyzing and processing data from multiple parties, the protection and security of data privacy becomes an issue worthy of attention.

[0003] For example, the amount of data of an organization is limited. Therefore, in many scenarios, it is necessary to jointly analyze and process the data of multiple organizations. However, the data of an organization may involve user privacy or business information that needs to be kept confidential. Therefore, in the process of jointly analyzing and processing the data of multiple organizations, it is necessary to protect the security of the privacy data of each organization. Summary of the invention

[0004] The embodiments of this specification provide a data processing method, apparatus and computer device for protecting privacy, so as to realize collaborative data processing without leaking data privacy. The technical solution of the embodiments of this specification is as follows.

[0005] A first aspect of the embodiments of this specification provides a data processing method for protecting privacy, which is applied to the field of multi-party secure computing, including:

[0006] encoding the private data into coefficients of the first polynomial function;

[0007] A plurality of function values ​​of the first polynomial function are obtained as a plurality of shards after the private data is split, and the shards of the private data are used to perform calculations using a secret sharing algorithm to obtain target data shards.

[0008] A second aspect of the embodiments of this specification provides a data processing method for protecting privacy, which is applied to the field of multi-party secure computing, including:

[0009] Acquire multiple slices of private data, wherein the slices of private data include function values ​​of a first polynomial function, and the private data is encoded in coefficients of the first polynomial function;

[0010] A secret sharing algorithm is used to calculate multiple shards of private data to obtain shards of target data.

[0011] A third aspect of the embodiments of this specification provides a data processing method for protecting privacy, which is applied to the field of multi-party secure computing, including:

[0012] Acquire multiple slices of target data, wherein the slices of target data are calculated based on the slices of private data, the slices of private data include function values ​​of a first polynomial function, and the private data is encoded in coefficients of the first polynomial function;

[0013] Using multiple slices of the target data as multiple function values ​​of a second polynomial function, and calculating coefficients of the second polynomial function according to the multiple function values ​​of the second polynomial function, wherein the target data is encoded in the coefficients of the second polynomial function;

[0014] The target data is restored according to the coefficients of the second polynomial function.

[0015] A fourth aspect of the embodiments of this specification provides a data processing device for protecting privacy, which is applied to the field of multi-party secure computing, including:

[0016] An encoding unit, configured to encode the private data into coefficients of the first polynomial function;

[0017] The acquisition unit is used to obtain multiple function values ​​of the first polynomial function as multiple fragments after the private data is split, and the fragments of the private data are used to calculate using a secret sharing algorithm to obtain target data fragments.

[0018] A fifth aspect of the embodiments of this specification provides a data processing device for protecting privacy, which is applied to the field of multi-party secure computing, including:

[0019] an acquisition unit, configured to acquire multiple slices of private data, wherein the slices of private data include function values ​​of a first polynomial function, and the private data is encoded in coefficients of the first polynomial function;

[0020] The computing unit is used to compute multiple shards of private data using a secret sharing algorithm to obtain shards of target data.

[0021] A sixth aspect of the embodiments of this specification provides a data processing device for protecting privacy, which is applied to the field of multi-party secure computing, including:

[0022] an acquisition unit, configured to acquire a plurality of slices of target data, wherein the slices of target data are calculated according to the slices of private data, the slices of private data include function values ​​of a first polynomial function, and the private data is encoded in coefficients of the first polynomial function;

[0023] a calculation unit, configured to use the plurality of slices of the target data as a plurality of function values ​​of a second polynomial function, and calculate coefficients of the second polynomial function according to the plurality of function values ​​of the second polynomial function, wherein the target data is encoded in the coefficients of the second polynomial function;

[0024] The restoration unit is used to restore the target data according to the coefficients of the second polynomial function.

[0025] According to a seventh aspect of the embodiments of this specification, a computer device is provided, including:

[0026] at least one processor;

[0027] A memory storing program instructions, wherein the program instructions are configured to be suitable for being executed by the at least one processor, and the program instructions include instructions for executing the method as described in the first aspect, the second aspect, or the third aspect.

[0028] The technical solution provided in the embodiment of this specification uses the first polynomial function to split the private data. In addition, multiple fragments of private data can be calculated locally to obtain fragments of target data without the help of a third party, thereby improving the calculation efficiency of the secret sharing algorithm. In addition, the target data is restored using the second polynomial function. BRIEF DESCRIPTION OF THE DRAWINGS

[0029] In order to more clearly illustrate the embodiments of this specification or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. The drawings described below are only some embodiments recorded in this specification. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative labor.

[0030] Figure 1 A schematic diagram of the operation process of a secret sharing addition algorithm in the related art;

[0031] Figure 2 A schematic diagram of the operation process of a secret sharing multiplication algorithm in the related art;

[0032] Figure 3 This is a schematic diagram of the structure of a data processing system for protecting privacy in an embodiment of this specification;

[0033] Figure 4 A flowchart of a data processing method for protecting privacy in an embodiment of this specification;

[0034] Figure 5 A flowchart of a data processing method for protecting privacy in an embodiment of this specification;

[0035] Figure 6 A flowchart of a data processing method for protecting privacy in an embodiment of this specification;

[0036] Figure 7 This is a schematic diagram of the structure of a data processing device for protecting privacy in an embodiment of this specification;

[0037] Figure 8 This is a schematic diagram of the structure of a data processing device for protecting privacy in an embodiment of this specification;

[0038] Fig. 9 This is a schematic diagram of the structure of a data processing device for protecting privacy in an embodiment of this specification;

[0039] Fig.10 Schematic diagram of the structure of a computer device in an embodiment of this specification. DETAILED DESCRIPTION

[0040] The following will be combined with the drawings in the embodiments of this specification to clearly and completely describe the technical solutions in the embodiments of this specification. Obviously, the described embodiments are only part of the embodiments of this specification, not all of the embodiments. Based on the embodiments in this specification, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of this specification.

[0041] In order to facilitate understanding of the technical solutions of the embodiments of this specification, the polynomial function is introduced below.

[0042] A polynomial function can be obtained by a finite number of addition, multiplication and exponentiation operations. The polynomial function may include one or more monomials (hereinafter referred to as terms). The coefficients of the polynomial function may include the coefficients of each term in the polynomial function. The coefficient of the constant term may be understood as the constant term itself. The degree of the polynomial function may be the degree of the highest term. For example, the polynomial function may be expressed as f(x)=a n x n +a n-1 x n-1 +…+a2x 2 +a1x+a0. The coefficients of the polynomial function may include a n 、a n-1 , a2, a1, a0, etc., the degree of the polynomial function can be n.

[0043] The polynomial function may include a coefficient representation and a point representation. In the coefficient representation, the polynomial function may be represented according to the coefficients of the polynomial function. For example, according to the coefficients {a n 、a n-1 , ..., a2, a1, a0} can determine the polynomial function f(x) = a n x n +a n-1 x n-1 +…+a2x 2+a1x+a0. In the point representation, the polynomial function can be represented according to the sampling points of the polynomial function, and the sampling points include matching independent variable values ​​and function values. For example, according to the sampling points {(x0, y0), (x1, y1), (x2, y2), ..., (x n-1 ,y n-1 )、(x n ,y n )} can determine the polynomial function f(x) = a n x n +a n-1 x n-1 +…+a2x 2 +a1x+a0. The point representation and coefficient representation of the polynomial function are equivalent. In the point representation, if the degree of the polynomial function is n, at least n+1 sampling points are required to determine the polynomial function.

[0044] Secure Multi-Party Computation (MPC), also known as secure multi-party computing, is an algorithm for protecting data privacy and security. Secure multi-party computing allows multiple participants holding private data to perform collaborative computing without leaking data privacy. Secret Sharing, also known as secret sharing, is a technology used to implement secure multi-party computing. The idea of ​​secret sharing is to split the secret in an appropriate manner to obtain multiple fragments. The multiple fragments are respectively handed over to different participants for safekeeping. A single participant cannot recover the secret. Only the cooperation of several participants can recover the secret. For example, in a (t,n) threshold secret sharing scheme, the secret is split in an appropriate manner to obtain n fragments. The n fragments are handed over to n participants for safekeeping. A single participant cannot recover the secret, and only at least t participants can recover the secret by cooperation. If there are less than t participants, the secret cannot be recovered. Among them, the t can be understood as the threshold value of the secret sharing scheme.

[0045] In the related art, the secret sharing algorithm may include a secret sharing addition algorithm and a secret sharing multiplication algorithm. The following takes two participants Alice and Bob as an example to introduce the secret sharing addition algorithm and the secret sharing multiplication algorithm respectively.

[0046] Alice holds secret A, and Bob holds secret B. Alice can split secret A into shards a1 and a2; she can keep shard a1; and Bob can keep shard a2. a1+a2=A. Bob can split secret B into shards b1 and b2; Alice can keep shard b1; and he can keep shard b2. b1+b2=B.

[0047] See also Figure 1 In the secret sharing addition algorithm, Alice can add shard a1 and shard b1 to get shard c1. Bob can add shard a2 and shard b2 to get shard c2. Both c1 and c2 are shards of secret C. c1+c2=C=A+B.

[0048] See also Figure 2 In the secret sharing multiplication algorithm, a trusted third party (TTP) is needed. Alice and Bob need to communicate with the third party respectively. Specifically, the third party can generate auxiliary data (triple). The auxiliary data may include random numbers u1, u2, v1, v2, p1, p2. The random numbers in the auxiliary data meet specific conditions: u1+u2=U, v1+v2=V, p1+p2=P, U×V=P. The third party can send random numbers u1, v1 and p1 to Alice; and can send random numbers u2, v2 and p2 to Bob. Alice can calculate d1=a1-u1 and e1=b1-v1; and can send d1 and e1 to Bob. Bob can calculate d2=a2-u2 and e2=b2-v2; and can send d2 and e2 to Alice. Alice can calculate z1=p1+E×u1+D×v1+D×E. Bob can calculate z2=p2+E×u2+D×v2. Both z1 and z2 are fragments of the secret Z. z1+z2=Z=A×B. D=d1+d2, E=e1+e2.

[0049] In the above-mentioned secret sharing algorithm, the secret is split in the form of addition. For example, the two fragments a1 and a2 after the secret A is split satisfy a1+a2=A, and the two fragments b1 and b2 after the secret B is split satisfy b1+b2=B. Therefore, in the secret sharing multiplication algorithm, it is necessary to rely on auxiliary data (triple) generated by a third party. The participants of the secret sharing algorithm need to communicate with the third party. Thereby reducing the computational efficiency of the secret sharing algorithm. In addition, the auxiliary data generated by the third party also needs to meet specific conditions. For example, the random numbers u1, u2, v1, v2, p1, p2 generated by the third party need to meet the following specific conditions: u1+u2=U, v1+v2=V, p1+p2=P, U×V=P. When the number of participants in the secret sharing algorithm is small (for example, 2 or 3), it is relatively easy to generate auxiliary data that meets the specific conditions. However, when the number of participants in the secret sharing algorithm is large (for example, 4 or more), it is more difficult to generate auxiliary data that meets the specific conditions. Therefore, the above secret sharing algorithm is only applicable to a small number of participants and is difficult to apply to a large number of participants.

[0050] See also Figure 3 . The embodiments of this specification provide a data processing system for protecting privacy. The data processing system may include multiple data party devices, multiple participant devices, and at least one recovery party device. The data party devices, the participant devices, and the recovery party device may be computer devices with data processing capabilities. The computer device may be a personal computer, a laptop computer, a cellular phone, a smart phone, a personal digital assistant, a media player, a navigation device, a game console, a tablet computer, a wearable device, a server, or a combination of any of these devices.

[0051] The data party device, the participant device and the recovery party device may be different computer devices. Alternatively, multiple of the data party device, the participant device and the recovery party device may be integrated into one computer device. For example, the data party device and the participant device may be integrated into one computer device, or the participant device and the recovery party device may be integrated into one computer device, or the data party device and the recovery party device may be integrated into one computer device.

[0052] The data party device may be established by the data party. The participant party device may be established by the participant party. The recovery party device may be established by the recovery party. The data party, the participant party and the recovery party may be different organizations. Alternatively, multiple of the data party, the participant party and the recovery party may be the same organization. The organization may include a financial institution, a government agency, a big data company, an e-commerce company, a cloud computing vendor for providing computing services, etc.

[0053] In some embodiments, the data party device may hold private data. For the security of private data, the data party device cannot send private data in plain text to the outside. The data party device may split the private data. Specifically, the data party device may encode the private data into the coefficients of a polynomial function (hereinafter referred to as the first polynomial function); may obtain multiple function values ​​of the first polynomial function as multiple fragments after the private data is split; and may send multiple fragments of the private data to multiple participating devices. Thus, the private data is split using the first polynomial function.

[0054] The multiple data party devices hold multiple different private data. Different data party devices can encode the private data into coefficients of different first polynomial functions. The degrees of different first polynomial functions can be the same or different.

[0055] In some embodiments, the participant device is used to perform secret calculations on multiple private data. Specifically, the participant device can obtain multiple slices of private data; a secret sharing algorithm can be used to calculate the slices of multiple private data to obtain slices of target data. Thus, the participant device can calculate the slices of multiple private data locally without the help of a third party, thereby improving the calculation efficiency of the secret sharing algorithm. In addition, the calculation process does not need to rely on auxiliary data that meets specific conditions, and is suitable for multi-party secure calculation scenarios with a large number of participant devices.

[0056] In some embodiments, the recovery device is used to recover the target data according to the slices of the target data. Specifically, the recovery device can obtain multiple slices of the target data; can use the multiple slices of the target data as multiple function values ​​of a polynomial function (hereinafter referred to as a second polynomial function); can calculate the coefficients of the second polynomial function according to the multiple function values ​​of the second polynomial function, in which the target data is encoded; can recover the target data according to the coefficients of the second polynomial function. Thus, the target data is recovered using the second polynomial function.

[0057] The embodiments of this specification provide a data processing method for protecting privacy. The method can be applied to the field of multi-party secure computing. The method can be executed by any data party device among the multiple data party devices.

[0058] See also Figure 4 The method may include the following steps.

[0059] Step S11: Encode the private data into the coefficients of the first polynomial function.

[0060] In some embodiments, the private data includes business data for multi-party secure computing. For example, the private data may include user data, product data, transaction data, behavior data, etc. The user data includes age, gender, occupation, etc., the product data includes product category, review data, etc., the transaction data includes transaction amount, transaction channel, etc., and the behavior data includes transaction behavior data, payment behavior data, purchase behavior data, etc. For another example, the private data may also include text data, image data, sound data, etc.

[0061] In some embodiments, the degree of the first polynomial function may be set according to at least one of the following.

[0062] (1) The number of participating devices.

[0063] The shards of private data can be understood as the function values ​​of sampling points in the point representation. In the point representation, if the degree of the polynomial function is n, at least n+1 sampling points are required to determine the polynomial function. Therefore, in order to be able to restore private data based on the shards of private data, the degree of the first polynomial function can be less than the number of shards of private data. Moreover, considering that each participating device can keep a shard of private data, the number of shards of private data can be equal to the number of participating devices. Therefore, the degree of the first polynomial function can be less than the number of participating devices.

[0064] (2) The number of times the secret sharing multiplication algorithm is performed.

[0065] The shards of the target data can be understood as the function values ​​of the sampling points in the point representation. In the point representation, if the degree of the polynomial function is n, at least n+1 sampling points are required to determine the polynomial function. Therefore, in order to be able to restore the target data based on the shards of the target data, the degree of the second polynomial function can be less than the number of shards of the target data. Moreover, considering that each participant device can keep a shard of the target data, the number of shards of the target data can be equal to the number of participant devices. Therefore, the degree of the second polynomial function can be less than the number of participant devices.

[0066] Since the shards of the target data are calculated based on the shards of the private data, the degree of the second polynomial function is greater than or equal to the degree of the first polynomial function. For example, the shards of the target data can be calculated from the shards of the private data through the secret sharing addition algorithm, then the degree of the second polynomial function can be equal to the degree of the first polynomial function. For another example, the shards of the target data can also be calculated from the shards of the private data through the secret sharing multiplication algorithm, then the degree of the second polynomial function can be greater than the degree of the first polynomial function. Moreover, based on the degree of the first polynomial function, as the number of executions of the secret sharing multiplication algorithm increases, the degree of the second polynomial function will also increase.

[0067] Therefore, considering the above factors, the degree of the first polynomial function is also inversely correlated with the number of executions of the secret sharing multiplication algorithm. The more times the secret sharing multiplication algorithm is executed, the smaller the degree of the first polynomial function. The fewer times the secret sharing multiplication algorithm is executed, the larger the degree of the first polynomial function.

[0068] (3) Threshold value of the secret sharing algorithm.

[0069] The degree of the first polynomial function is also positively correlated with the threshold value of the secret sharing algorithm. The larger the degree of the first polynomial function, the larger the threshold value of the secret sharing algorithm, and the more shards are required to recover the target data. The smaller the degree of the first polynomial function, the smaller the threshold value of the secret sharing algorithm, and the more shards are required to recover the target data.

[0070] For example, the number of participating devices is 3, and the number of executions of the secret sharing multiplication algorithm is 1. The degree of the first polynomial function can be set to 1. The first polynomial function can be expressed as f(x)=a1x+a0. Thus, for the sharding of private data, the participating devices can perform multiple secret sharing addition algorithms and / or one secret sharing multiplication algorithm. For another example, considering that the secret sharing multiplication algorithm is not executed many times compared to the secret sharing addition algorithm. Therefore, if the number of participating devices is p, the degree of the first polynomial function can be n=[p / 2], where [p / 2] represents the maximum integer not exceeding p / 2.

[0071] In some embodiments, one or more coefficients of the first polynomial function may be the privacy data.

[0072] The constant term of the first polynomial function may be privacy data. Specifically, the privacy data may be determined as the constant term in the first polynomial function; a random number may be generated as the coefficient of the other terms in the first polynomial function except the constant term. For example, the degree of the first polynomial function may be n. The privacy data may be determined as the constant term in the first polynomial function; m random numbers may be generated as the coefficients of the other n-1 terms in the first polynomial function except the constant term, where m≤n-1. For another example, the privacy data may be determined as the constant term in the first polynomial function and the coefficient of at least one other term except the constant term; a random number may be generated as the coefficient of the remaining terms in the first polynomial function.

[0073] Alternatively, the coefficient of at least one other term in the first polynomial function except the constant term may be private data. Specifically, the private data may be determined as the coefficient of at least one other term in the first polynomial function except the constant term; a random number may be generated as the coefficient of the remaining terms in the first polynomial function. For example, the private data may be determined as the coefficient of the first-order term in the first polynomial function; a random number may be generated as the coefficient of the other terms in the first polynomial function except the first-order term.

[0074] Step S13: Acquire multiple function values ​​of the first polynomial function as multiple fragments after the privacy data is split.

[0075] In some embodiments, the participant devices correspond to numerical values. The numerical values ​​corresponding to different participant devices may be the same or different. For example, the number of participant devices is 4. The numerical values ​​corresponding to the 4 participant devices include 1, 2, 5, and 7. Multiple numerical values ​​corresponding to multiple participant devices may be obtained as multiple values ​​of the independent variables in the first polynomial function; multiple function values ​​of the first polynomial function may be calculated based on the multiple values ​​of the independent variables as multiple fragments after the privacy data is split.

[0076] The numerical value corresponding to the participant device can be a random number. Alternatively, the numerical value corresponding to the participant device can also be a numerical value that satisfies certain conditions, such as a numerical value that satisfies a mathematical distribution such as a normal distribution. In practical applications, the numerical value corresponding to the participant device can be obtained by negotiation between the data party device and the participant device. The data party device can obtain the negotiated numerical value. Alternatively, the numerical value corresponding to the participant device can also be generated by the participant device. The participant device can send the generated numerical value to the data party device. The data party device can receive the numerical value sent by the participant device. Of course, the numerical value corresponding to the participant device can also be generated by the data party device or other computer devices. The embodiments of this specification do not specifically limit this.

[0077] In some embodiments, the slices of private data are used to perform calculations using a secret sharing algorithm to obtain target data slices. Specifically, multiple slices of private data can be sent to multiple participant devices. So that the participant devices use a secret sharing algorithm to perform calculations based on the received slices of private data to obtain target data slices. In practical applications, for each participant device, a target slice can be selected from multiple slices of private data based on the corresponding values ​​of the participant and sent to the participant device. The target slice is the objective function value of the first polynomial function. The objective function value matches the numerical value corresponding to the participant device (i.e., the value of the independent variable).

[0078] The data processing method of the embodiment of this specification can encode the private data into the coefficients of the first polynomial function; multiple function values ​​of the first polynomial function can be obtained as multiple fragments after the private data is split; the fragments of the private data are used for calculation using a secret sharing algorithm. In this way, the private data is split using the first polynomial function.

[0079] In some scenario examples, the data party device may hold private data A. The value corresponding to the participant device P1 may be x1, the value corresponding to the participant device P2 may be x2, and the value corresponding to the participant device P3 may be x3.

[0080] In this scenario example, the first polynomial function can be expressed as y=ax+b. The data party device can determine the private data A as a constant term in the first polynomial function; and can generate a random number R as the coefficient of the first-order term in the first polynomial function. That is, a=A, b=R. The encoded first polynomial function can be expressed as y=Ax+R.

[0081] In this scenario example, the data party device can substitute the value x1 into the encoded first polynomial function to obtain the function value y1 as a shard [A]0 after the privacy data A is split; the value x2 can be substituted into the encoded first polynomial function to obtain the function value y2 as another shard [A]1 after the privacy data A is split; the value x3 can be substituted into the encoded first polynomial function to obtain the function value y3 as another shard [A]2 after the privacy data A is split.

[0082] In this scenario example, the data party device can send shard [A]0 to participant device P1; can send shard [A]1 to participant device P2; and can send shard [A]3 to participant device P3.

[0083] The embodiments of this specification also provide another data processing method for protecting privacy. The method can be applied to the field of multi-party secure computing. The method can be executed by any of the multiple participant devices.

[0084] See also Figure 5 The method may include the following steps.

[0085] Step S21: Acquire multiple fragments of private data.

[0086] In some embodiments, the fragments of the private data may include the function value of the first polynomial function. The process of splitting the private data to obtain fragments may refer to the previous embodiment and will not be described in detail here.

[0087] In some embodiments, the participant device and the data party device may be different computer devices. In this way, multiple data party devices may send multiple slices of private data to the participant device. The participant device may receive multiple slices of private data. Each data party device may send at least one slice of private data to the participant device. Alternatively, the participant device and a data party device may be integrated into a computer device. In this way, one or more data party devices may send one or more slices of private data to the participant device. The participant device may receive one or more slices of private data. In addition, the participant device may also obtain a slice of private data locally.

[0088] Step S23: using a secret sharing algorithm to calculate multiple slices of private data to obtain slices of target data.

[0089] In some embodiments, the target data may be a calculation result after multi-party secure calculation is performed on the private data of multiple data party devices. For example, the target data may be user data, commodity data, transaction data, behavior data, statistical indicators, model parameters, model prediction results, etc. For another example, the target data may also include text data, image data, sound data, etc. The target data may be the final result. Alternatively, the target data may also be an intermediate result. Thus, the secret sharing algorithm may continue to be used to perform calculations based on the sharding of the target data.

[0090] In some embodiments, the secret sharing algorithm may include a secret sharing addition algorithm. The target data may be the sum of the multiple private data. In practical applications, multiple slices of private data may be added to obtain slices of the target data. Alternatively, the secret sharing algorithm may include a secret sharing multiplication algorithm. The target data may be the product of the multiple private data. In practical applications, multiple slices of private data may be multiplied to obtain slices of the target data.

[0091] In some embodiments, the slices of the target data may also be sent to a recovery device, so that the recovery device can recover the target data according to the slices of the target data.

[0092] The data processing method of the embodiment of this specification can obtain multiple shards of private data; and can use a secret sharing algorithm to calculate multiple shards of private data. In this way, the participating device can calculate multiple shards of private data locally without the help of a third party, which improves the calculation efficiency of the secret sharing algorithm. In addition, the calculation process does not need to rely on auxiliary data that meets specific conditions, and is suitable for multi-party secure computing scenarios with a large number of participating devices.

[0093] The embodiments of this specification also provide another data processing method for protecting privacy. The method can be applied to the field of multi-party secure computing. The method can be executed by a recovery party device.

[0094] See also Figure 6 The method may include the following steps.

[0095] Step S31: Acquire multiple slices of target data.

[0096] In some embodiments, the process of generating the target data segments may refer to the previous embodiments and will not be described in detail here.

[0097] In some embodiments, the recovery party device and the participant device can be different computer devices. In this way, multiple participant devices can send multiple slices of target data to the recovery party device. The recovery party device can receive multiple slices of target data. Each participant device can send a slice of target data to the recovery party device. Alternatively, the recovery party device and a participant device can also be integrated into a computer device. In this way, one or more participant devices can send one or more slices of target data to the recovery party device. The recovery party device can receive one or more slices of target data. In addition, the recovery party device can also obtain a slice of target data locally.

[0098] Step S33: taking the multiple slices of the target data as the multiple function values ​​of the second polynomial function, and calculating the coefficients of the second polynomial function according to the multiple function values ​​of the second polynomial function.

[0099] In some embodiments, multiple numerical values ​​corresponding to multiple participating devices can be obtained as multiple values ​​of the independent variable; the coefficients of the second polynomial function can be calculated based on the multiple values ​​of the independent variable and the multiple function values ​​of the second polynomial function.

[0100] The data party device, the participant device or other computer device may send the value corresponding to the participant device to the recovery party device. The recovery party device may receive the value corresponding to the participant device.

[0101] For each participant device, the numerical value corresponding to the participant device and the slice of the target data calculated by the participant device can be understood as a sampling point of the second polynomial function. Therefore, the process of calculating the coefficients of the second polynomial function can be understood as the process of converting the second polynomial function from a point representation to a coefficient representation. In practical applications, the coefficients of the second polynomial function can be calculated by the Lagrange interpolation method. Of course, other methods can also be used to calculate the coefficients of the second polynomial function. For example, the equation combination method can be used to calculate the coefficients of the second polynomial function.

[0102] Step S35: Restore the target data according to the coefficients of the second polynomial function.

[0103] In some embodiments, target data is encoded in coefficients of the second polynomial function.

[0104] The coefficients of one or more items in the second polynomial function may be the target data. Which specific items' coefficients are the target data depends on the encoding method when encoding the private data into the coefficients of the first polynomial function. Specifically, if the coefficients of one or more items in the first polynomial function may be the private data, the coefficients of the corresponding items in the second polynomial function may be the target data, and the corresponding items may be items of the same order.

[0105] For example, the private data may be determined as a constant term in a first polynomial function, and the constant term in the second polynomial function may be the target data. For another example, the private data may be determined as a coefficient of a linear term in a first polynomial function, and the coefficient of a linear term in the second polynomial function may be the target data.

[0106] In some embodiments, the constant term of the second polynomial function may be determined as the target data. Alternatively, the coefficients of other terms except the constant term in the second polynomial function may be determined as the target data.

[0107] In some embodiments, all participating devices may send slices of the target data to the recovery device. The recovery device may recover the target data based on all slices of the target data. Alternatively, some participating devices may send slices of the target data to the recovery device. The recovery device may recover the target data based on some slices of the target data. For example, the degree of the second polynomial may be q. The number of participating devices may be p. p≥q+1. q+1 participating devices may send slices of the target data to the recovery device. The recovery device may recover the target data based on q+1 slices of the target data. In this way, when recovering the target data, only some participating devices may be required to participate.

[0108] The data processing method of the embodiment of the specification can obtain multiple slices of target data; can use the multiple slices of target data as multiple function values ​​of the second polynomial function, calculate the coefficient of the second polynomial function according to the multiple function values ​​of the second polynomial function; can restore the target data according to the coefficient of the second polynomial function. In this way, the target data is restored using the second polynomial function.

[0109] Multi-party secure computing based on secret sharing can be applied to a variety of business scenarios, such as medical scenarios, model prediction scenarios, etc. The following introduces a scenario example of an embodiment of this specification. It is worth noting that the scenario example is only to help understand the technical solution of the embodiment of this specification, and does not constitute an improper limitation on the technical solution of the embodiment of this specification.

[0110] The pricing of a restaurant menu is related to customers' evaluation of the food, customers' evaluation of the decoration, customers' evaluation of the service, and the flow of people near the restaurant's geographical location.

[0111] In this scenario example, institution A has trained a price prediction model. The price prediction model can be used to determine the pricing of a restaurant menu. The price prediction model can be a linear regression model. For example, the price prediction model can be expressed as z=β0+β1x1+β2x2+β3x3+β4y. Among them, β0, β1, β2, β3, β4 are model parameters of the price prediction model, x1 represents the customer's evaluation score for food, x2 represents the customer's evaluation score for decoration, x3 represents the customer's evaluation score for service, and y represents the traffic data near the restaurant's geographical location.

[0112] Agency B plans to open a new Italian restaurant in a target geographical location in a city. In order to price the restaurant menu, Agency B organizes a sample survey in the said city and obtains customer evaluation scores on food, decoration, service, etc.

[0113] Organization C holds pedestrian traffic data near the target geographic location.

[0114] In this scenario, Institution B needs to get the menu prices of a restaurant. Since Institution B does not have a price prediction model and traffic data near the target geographic location, Institution B can perform multi-party secure computing based on secret sharing with Institutions A and C. During the multi-party secure computing process, Institution A cannot leak the price prediction model to Institutions B and C, Institution B cannot leak customer evaluation scores on food, decoration, service, etc. to Institutions A and C, and Institution C cannot leak traffic data near the target geographic location to Institutions A and B.

[0115] In this scenario example, the data processing system may include a first device, a second device, and a third device.

[0116] The first device is established by institution A. The first device has the functions of a data party device and a participant device. The second device is established by institution B. The second device has the functions of a data party device, a participant device and a restorer device. The third device is established by institution C. The third device has the functions of a data party device and a participant device.

[0117] For the model parameter β in the price prediction model i , the first device may adopt Figure 4 The method of the corresponding embodiment is to adjust the model parameter β i Split and get the model parameter β i The three shards [β i ]0,[β i]1 and [β i ]2. The first device may send a fragment [β i ]1, can send fragments to the third device [β i ]2. The value of i can be 0, 1, 2, 3, 4, etc.

[0118] Customer evaluation score x i , the second device may adopt Figure 4 The method of the corresponding embodiment is to evaluate the score x i Split and get the evaluation score x i The three slices [x i ]0, [x i ]1 and [x i ]2. The second device may send the fragment [x i ]0, you can send fragments to the third device [x i ]2. The value of i can be 1, 2, 3, etc.

[0119] For the human flow data y, the third device can use Figure 4 The method of the corresponding embodiment splits the human flow data y to obtain three fragments [y]0, [y]1 and [y]2 of the human flow data y. The third device can send fragment [y]0 to the first device and can send fragment [y]1 to the second device.

[0120] In this scenario example, the first device may calculate [z]0 = [β0]0 + [β1]0 [x1]0 + [β2]0 [x2]0 + [β3]0 [x3]0 + [β4]0 [y]0. The second device may calculate [z]1 = [β0]1 + [β1]1 [x1]1 + [β2]1 [x2]1 + [β3]1 [x3]1 + [β4]1 [y]1. The third device may calculate [z]2 = [β0]2 + [β1]2 [x1]2 + [β2]2 [x2]2 + [β3]2 [x3]2 + [β4]2 [y]2. [z]0, [z]1, and [z]2 represent slices of restaurant menu pricing.

[0121] In this scenario example, the first device can send slice [z] 0 to the second device. The third device can send slice [z] 2 to the second device. The second device can use Figure 6 The method of the corresponding embodiment restores the restaurant menu price z according to the slices [z]0, [z]1 and [z]2. In this way, institution B obtains the restaurant menu price by performing multi-party secure computation based on secret sharing with institutions A and C. In addition, the data owned by institutions A, B and C themselves are not leaked.

[0122] The embodiment of this specification also provides a data processing device for protecting privacy. The device can be applied to the field of multi-party secure computing. The device can be set in any data party device among the multiple data party devices.

[0123] See also Figure 7 The device may include the following units.

[0124] An encoding unit 41, configured to encode the privacy data into coefficients of a first polynomial function;

[0125] The acquisition unit 43 is used to acquire multiple function values ​​of the first polynomial function as multiple fragments after the private data is split. The fragments of the private data are used to perform calculations using a secret sharing algorithm to obtain target data fragments.

[0126] The embodiments of this specification also provide another data processing device for protecting privacy. The device can be applied to the field of multi-party secure computing. The device can be set in any of the multiple participant devices.

[0127] See also Figure 8 The device may include the following units.

[0128] An acquisition unit 51 is configured to acquire multiple slices of private data, wherein the slices of private data include function values ​​of a first polynomial function, and the private data is encoded in coefficients of the first polynomial function;

[0129] The calculation unit 53 is used to calculate the slices of multiple private data by using a secret sharing algorithm to obtain the slices of target data.

[0130] The embodiments of this specification also provide another data processing device for protecting privacy. The device can be applied to the field of multi-party secure computing. The device can be set in a recovery party device.

[0131] See also Fig. 9 The device may include the following units.

[0132] An acquisition unit 61 is configured to acquire a plurality of slices of target data, wherein the slices of target data are calculated from the slices of private data, the slices of private data include function values ​​of a first polynomial function, and the coefficients of the first polynomial function are encoded with the private data;

[0133] a calculation unit 63, configured to use the multiple slices of the target data as multiple function values ​​of a second polynomial function, and calculate coefficients of the second polynomial function according to the multiple function values ​​of the second polynomial function, wherein the target data is encoded in the coefficients of the second polynomial function;

[0134] The restoring unit 65 is used to restore the target data according to the coefficients of the second polynomial function.

[0135] An embodiment of the computer device of the present specification is introduced below. Fig.10 Schematic diagram of the hardware structure of the computer device in this embodiment. Fig.10 As shown, the computer device may include one or more (only one is shown in the figure) processors, memory and transmission modules. Of course, it can be understood by those skilled in the art that Fig.10 The hardware structure shown is only for illustration and does not limit the hardware structure of the above-mentioned computer device. In practice, the computer device may also include Fig.10 More or fewer component units as shown; or, Fig.10 Different configurations are shown.

[0136] The memory may include a high-speed random access memory; or, it may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory or other non-volatile solid-state memory. Of course, the memory may also include a remotely set network memory. The memory may be used to store program instructions or modules of application software, such as the instructions in this manual. Figure 4 , Figure 5 or Figure 6 The program instructions or modules of the corresponding embodiment.

[0137] The processor may be implemented in any suitable manner. For example, the processor may take the form of a microprocessor or processor and a computer-readable medium storing computer-readable program code (e.g., software or firmware) executable by the (micro)processor, a logic gate, a switch, an application specific integrated circuit (ASIC), a programmable logic controller, and an embedded microcontroller, etc. The processor may read and execute program instructions or modules in the memory.

[0138] The transmission module can be used for transmitting data via a network, for example, via a network such as the Internet, an intranet, a local area network, a mobile communication network, etc.

[0139] This specification also provides an embodiment of a computer storage medium. The computer storage medium includes but is not limited to a random access memory (RAM), a read-only memory (ROM), a cache, a hard disk (HDD), a memory card, etc. The computer storage medium stores computer program instructions. When the computer program instructions are executed, the following are achieved: Figure 4 , Figure 5 or Figure 6 The program instructions or modules of the corresponding embodiment.

[0140] It should be noted that each embodiment in this specification is described in a progressive manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the device embodiment, computer equipment embodiment, and computer storage medium embodiment, since they are basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment. In addition, it is understandable that after reading this specification document, those skilled in the art can think of any combination of some or all of the embodiments listed in this specification without creative work, and these combinations are also within the scope of disclosure and protection of this specification.

[0141] In the 1990s, improvements to a technology could be clearly distinguished as hardware improvements (for example, improvements to the circuit structure of diodes, transistors, switches, etc.) or software improvements (improvements to the method flow). However, with the development of technology, many improvements to the method flow today can be regarded as direct improvements to the hardware circuit structure. Designers almost always obtain the corresponding hardware circuit structure by programming the improved method flow into the hardware circuit. Therefore, it cannot be said that an improvement in a method flow cannot be implemented using a hardware entity module. For example, a programmable logic device (PLD) (such as a field programmable gate array (FPGA)) is such an integrated circuit whose logical function is determined by the user's programming of the device. Designers can "integrate" a digital system on a PLD by programming it themselves, without having to ask a chip manufacturer to design and produce a dedicated integrated circuit chip. Moreover, nowadays, instead of manually making integrated circuit chips, this kind of programming is mostly implemented by "logic compiler" software, which is similar to the software compiler used when developing and writing programs, and the original code before compilation must also be written in a specific programming language, which is called hardware description language (HDL). There is not only one HDL, but many kinds, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, RHDL (Ruby Hardware Description Language), etc. The most commonly used ones are VHDL (Very-High-Speed ​​Integrated Circuit Hardware Description Language) and Verilog. Those skilled in the art should also know that it is only necessary to program the method flow slightly in the above-mentioned hardware description languages ​​and program it into the integrated circuit, and then it is easy to obtain the hardware circuit that implements the logic method flow.

[0142] The systems, devices, modules or units described in the above embodiments may be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer. Specifically, the computer may be, for example, a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.

[0143] It can be known from the above description of the implementation mode that the technicians in this field can clearly understand that the present specification can be implemented by means of software plus the necessary general hardware platform. Based on such an understanding, the technical solution of the present specification can be essentially or the part that contributes to the prior art can be embodied in the form of a software product, which can be stored in a storage medium, such as ROM / RAM, a disk, an optical disk, etc., including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in each embodiment of the present specification or some parts of the embodiments.

[0144] This specification can be used in many general or special computer system environments or configurations, such as personal computers, server computers, handheld or portable devices, tablet devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronic devices, network PCs, minicomputers, mainframe computers, and distributed computing environments that include any of the above systems or devices.

[0145] This specification may be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform specific tasks or implement specific abstract data types. This specification may also be practiced in distributed computing environments where tasks are performed by remote processing devices connected through a communication network. In a distributed computing environment, program modules may be located in local and remote computer storage media, including storage devices.

Claims

1. A data processing method for protecting privacy, applied to the field of multi-party secure computing, wherein the data processing method is applied to any data party device among a plurality of data party devices, the data party device holding private data; The method comprises: Encoding the private data into the coefficients of the first polynomial function so that the coefficients of one or more terms in the second polynomial function are the target data; Acquire multiple function values ​​of the first polynomial function as multiple fragments after the private data is split, wherein the fragments of the private data are used to perform calculations using a secret sharing multiplication algorithm to obtain fragments of the target data, and the fragments of the target data are used to restore the target data using a second polynomial function; the degree of the first polynomial function is inversely correlated with the number of executions of the secret sharing multiplication algorithm, the degree of the second polynomial function is greater than the degree of the first polynomial function, and on the basis of the degree of the first polynomial function, as the number of executions of the secret sharing algorithm increases, the degree of the second polynomial function increases accordingly; The step of obtaining multiple function values ​​of the first polynomial function as multiple fragments after the privacy data is split includes: Multiple numerical values ​​corresponding to multiple participant devices are input into the first polynomial function to obtain multiple function values ​​of the first polynomial function as multiple fragments after the privacy data is split. 2 . The method according to claim 1 , wherein the coefficients of one or more items in the first polynomial function are private data.

3. The method of claim 1, wherein encoding the private data into coefficients of the first polynomial function comprises: determining the private data as a constant term in the first polynomial function; Generate random numbers as coefficients of the first polynomial function except the constant term.

4. The method according to claim 1, further comprising: Send multiple shards of private data to multiple participating devices.

5. A data processing method for protecting privacy, applied to the field of multi-party secure computing, the data processing method is applied to any participant device among multiple participant devices, the method comprising: Acquire multiple slices of private data, wherein the slices of private data include function values ​​of a first polynomial function, the function value of the first polynomial function is obtained by inputting a numerical value corresponding to a participant device into the first polynomial function, and the private data is encoded in coefficients of the first polynomial function, so that one or more coefficients of a second polynomial function are target data; A secret sharing multiplication algorithm is used to calculate multiple shards of private data to obtain shards of target data, and the shards of target data are used to restore the target data through a second polynomial function; the degree of the first polynomial function is inversely correlated with the number of executions of the secret sharing multiplication algorithm, the degree of the second polynomial function is greater than the degree of the first polynomial function, and on the basis of the degree of the first polynomial function, as the number of executions of the secret sharing algorithm increases, the degree of the second polynomial function increases accordingly.

6. The method according to claim 5, The secret sharing multiplication algorithm is used to calculate the slices of multiple private data, including: Multiply multiple shards of private data to get shards of target data.

7. The method according to claim 5, further comprising: Send the target data shards to the recovery device.

8. A data processing method for protecting privacy, applied to the field of multi-party secure computing, the data processing method is applied to a recovery device, the method comprising: Acquire multiple shards of target data, wherein the shards of target data are calculated according to the shards of private data by using a secret sharing multiplication algorithm, the shards of private data include function values ​​of a first polynomial function, the function value of the first polynomial function is obtained by inputting a numerical value corresponding to a participant device into the first polynomial function, and the coefficients of the first polynomial function are encoded with private data, so that one or more coefficients of a second polynomial function are target data; the degree of the first polynomial function is inversely correlated with the number of executions of the secret sharing multiplication algorithm; Using multiple slices of the target data as multiple function values ​​of a second polynomial function, and calculating coefficients of the second polynomial function according to the multiple function values ​​of the second polynomial function, wherein the target data is encoded in the coefficients of the second polynomial function; The target data is restored according to the coefficients of the second polynomial function; the degree of the second polynomial function is greater than the degree of the first polynomial function, and based on the degree of the first polynomial function, as the number of executions of the secret sharing algorithm increases, the degree of the second polynomial function increases accordingly.

9. The method according to claim 8, wherein calculating the coefficients of the second polynomial function comprises: Obtain multiple values ​​corresponding to multiple participating devices as multiple values ​​of independent variables; The coefficients of the second polynomial function are calculated according to the multiple values ​​of the independent variable and the multiple function values ​​of the second polynomial function.

10. The method according to claim 8, wherein restoring target data comprises: The constant term in the second polynomial function is determined as target data.

11. A data processing device for protecting privacy, applied to the field of multi-party secure computing, wherein the data processing device is applied to any data party device among a plurality of data party devices, and the data party device holds private data; The device comprises: An encoding unit, configured to encode the privacy data into the coefficients of the first polynomial function so that the coefficients of one or more items in the second polynomial function are target data; an acquisition unit, configured to acquire multiple function values ​​of the first polynomial function as multiple fragments after the privacy data is split, wherein the fragments of the privacy data are used to perform calculations using a secret sharing multiplication algorithm to obtain fragments of the target data, and the fragments of the target data are used to restore the target data using a second polynomial function; the degree of the first polynomial function is inversely correlated with the number of executions of the secret sharing multiplication algorithm, the degree of the second polynomial function is greater than the degree of the first polynomial function, and based on the degree of the first polynomial function, as the number of executions of the secret sharing algorithm increases, the degree of the second polynomial function increases accordingly; The step of obtaining multiple function values ​​of the first polynomial function as multiple fragments after the privacy data is split includes: Multiple numerical values ​​corresponding to multiple participant devices are input into the first polynomial function to obtain multiple function values ​​of the first polynomial function as multiple fragments after the privacy data is split.

12. A data processing device for protecting privacy, applied to the field of multi-party secure computing, the data processing device is applied to any participant device among multiple participant devices, the device comprising: an acquisition unit, configured to acquire multiple slices of private data, wherein the slices of private data include function values ​​of a first polynomial function, the function value of the first polynomial function being obtained by inputting a numerical value corresponding to a participant device into the first polynomial function, and the private data being encoded in coefficients of the first polynomial function, so that one or more coefficients of a second polynomial function are target data; A computing unit is used to calculate multiple slices of private data using a secret sharing multiplication algorithm to obtain slices of target data, and the slices of target data are used to restore the target data through a second polynomial function; the degree of the first polynomial function is inversely correlated with the number of executions of the secret sharing multiplication algorithm, the degree of the second polynomial function is greater than the degree of the first polynomial function, and based on the degree of the first polynomial function, as the number of executions of the secret sharing algorithm increases, the degree of the second polynomial function increases accordingly.

13. A data processing device for protecting privacy, applied to the field of multi-party secure computing, the data processing device is applied to a recovery device, the device comprising: an acquisition unit, configured to acquire a plurality of shards of target data, wherein the shards of target data are calculated according to the shards of private data by using a secret sharing multiplication algorithm, the shards of private data include function values ​​of a first polynomial function, the function value of the first polynomial function is obtained by inputting a numerical value corresponding to a participant device into the first polynomial function, the coefficients of the first polynomial function are encoded with private data, so that one or more coefficients of a second polynomial function are target data; and the degree of the first polynomial function is inversely correlated with the number of executions of the secret sharing multiplication algorithm; a calculation unit, configured to use the plurality of slices of the target data as a plurality of function values ​​of a second polynomial function, and calculate coefficients of the second polynomial function according to the plurality of function values ​​of the second polynomial function, wherein the target data is encoded in the coefficients of the second polynomial function; The recovery unit is used to recover the target data according to the coefficients of the second polynomial function; the degree of the second polynomial function is greater than the degree of the first polynomial function, and the degree of the second polynomial function increases with the increase of the number of executions of the secret sharing algorithm based on the degree of the first polynomial function.

14. A computer device comprising: at least one processor; A memory storing program instructions, wherein the program instructions are configured to be executed by the at least one processor, and the program instructions include instructions for executing the method according to any one of claims 1 to 10.

Citation Information

Patent Citations

  • Multi-party collaborative SM2 signature and decryption method and system

    CN110971405A