WO2021000575A1 - 数据交互方法、装置和电子设备 - Google Patents

数据交互方法、装置和电子设备 Download PDF

Info

Publication number
WO2021000575A1
WO2021000575A1 PCT/CN2020/071594 CN2020071594W WO2021000575A1 WO 2021000575 A1 WO2021000575 A1 WO 2021000575A1 CN 2020071594 W CN2020071594 W CN 2020071594W WO 2021000575 A1 WO2021000575 A1 WO 2021000575A1
Authority
WO
WIPO (PCT)
Prior art keywords
value
data
share
polynomial
factor
Prior art date
Application number
PCT/CN2020/071594
Other languages
English (en)
French (fr)
Inventor
周亚顺
李漓春
殷山
王华忠
Original Assignee
创新先进技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 创新先进技术有限公司 filed Critical 创新先进技术有限公司
Priority to US16/792,070 priority Critical patent/US10873452B1/en
Publication of WO2021000575A1 publication Critical patent/WO2021000575A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem

Definitions

  • the embodiments of this specification relate to the field of computer technology, in particular to a data interaction method, device and electronic equipment.
  • the purpose of the embodiments of this specification is to provide a data interaction method, device and electronic equipment to improve the efficiency of determining the value of the polynomial under the premise of fully protecting data privacy.
  • a data interaction method including: a first data party determines a value of a first factor based on a first share of business data, and the first factor is The exponential factor of the target variable in the data item of the polynomial, where the target variable is a variable associated with the first share in the polynomial; the second data party determines the value of the second factor based on the second share of the business data, The second factor includes factors other than the first factor in the data items of the polynomial; the first data is based on the value of the first factor, and the second data is based on the value of the second factor, in a parallel manner Secretly share the value of each data item in the polynomial.
  • the first data party obtains the first share of the value of each data item, and the second data party obtains the second share of the value of each data item; the first data party obtains the value based on the data item
  • the first share of the value of the polynomial is determined; the second data party determines the second share of the value of the polynomial based on the second share of the value of the data item.
  • a data interaction method is provided, which is applied to a first data party, including: determining the value of the target factor based on the share of the business data owned by itself, and the target
  • the factor is the exponential factor of the target variable in the data item of the polynomial
  • the target variable is the variable associated with the share in the polynomial
  • each data in the polynomial is secretly shared with the partner in a parallel manner
  • the value of the item obtains the share of the value of each data item; based on the share of the value of the data item, the share of the polynomial value is determined.
  • a data interaction device which is provided at a first data party, and includes: a first determining unit for determining a target factor based on the share of business data owned by itself
  • the target factor is the exponential factor of the target variable in the data item of the polynomial, and the target variable is the variable associated with the share in the polynomial;
  • the secret sharing unit is used for the value based on the target factor, Secretly share the value of each data item in the polynomial with the partner in a parallel manner to obtain the share of the value of each data item;
  • the second determining unit is used to determine the share of the value of the polynomial based on the share of the value of the data item .
  • an electronic device including: a memory, configured to store computer instructions; and a processor, configured to execute the computer instructions to implement the method described in the second aspect Method steps.
  • a data interaction method is provided, which is applied to a second data party, including: determining the value of the target factor based on the share of the business data owned by the user;
  • the factor includes other factors in the data item of the polynomial except the exponential factor of the target variable.
  • the target variable is the variable associated with the share of the business data owned by the partner in the polynomial; based on the value of the target factor, a parallel
  • the method secretly shares the value of each data item in the polynomial with the partner to obtain the share of the value of each data item; based on the share of the value of the data item, determine the share of the value of the polynomial.
  • a data interaction device which is provided in a second data party, and includes: a first determining unit configured to determine a target factor based on the share of business data owned by itself
  • the target factor includes factors other than the exponential factor of the target variable in the data items of the polynomial, and the target variable is a variable associated with the share of business data owned by the partner in the polynomial; secret sharing unit , Which is used to secretly share the value of each data item in the polynomial with the partner in a parallel manner based on the value of the target factor to obtain the share of each data item; the second determination unit is used to determine the value based on the data item The share determines the value of the polynomial.
  • an electronic device including: a memory, configured to store computer instructions; a processor, configured to execute the computer instructions to implement the method described in the fifth aspect Method steps.
  • the first data party and the second data party can use the secret sharing algorithm, without revealing their own business data share, in parallel
  • the method secretly shares the value of each data item in the polynomial, which reduces the number of interactions between the first data party and the second data party, thereby reducing the time occupied by network interaction during the secret sharing process, and increasing the value of the polynomial Deterministic efficiency.
  • FIG. 1 is a flowchart of a data interaction method according to an embodiment of this specification
  • FIG. 3 is a flowchart of a data interaction method according to an embodiment of this specification.
  • FIG. 4 is a schematic diagram of the functional structure of a data interaction device according to an embodiment of the specification.
  • FIG. 5 is a schematic diagram of the functional structure of a data interaction device according to an embodiment of the specification.
  • FIG. 6 is a schematic diagram of the functional structure of an electronic device according to an embodiment of the specification.
  • the parties involved in cooperative modeling may include a first data party and a second data party.
  • the first data party may own a first share of business data
  • the second data party may own a second share of business data. Share.
  • the first data party and the second data party need to cooperate to determine the polynomial w 0 +w 1 (e+f)+w 2 (e+f) 2 +w 3 (e+ f) 3 +w 4 (e+f) The value of 4 .
  • e represents the first share
  • f represents the second share
  • w 0 , w 1 , w 2 , w 3 and w 4 represent the coefficients of the polynomial.
  • the first data party and the second data party both possess polynomial coefficients w 0 , w 1 , w 2 , w 3 and w 4 .
  • the first data party may determine w 1 e locally.
  • the second data party may determine w 1 f locally.
  • the first data party may be based on e, and the second data party may be based on f, using a secret sharing algorithm to collaboratively determine the value of w 2 (e+f) 2 .
  • a first share of the first party data may be obtained w 2 (e + f) 2 value of ⁇ w 2 (e + f) 2> 0, the second data may obtain a w 2 (e + f) 2
  • the second share of the value is ⁇ w 2 (e+f) 2 > 1 .
  • the first data party may be based on w 1 e and ⁇ w 2 (e+f) 2 > 0
  • the second data party may be based on w 1 f and ⁇ w 2 (e+f) 2 > 1
  • the secret sharing algorithm is used to collaboratively determine the value of w 3 (e+f) 3 .
  • the first data may obtain a first portion of w 3 (e + f) 3 value of ⁇ w 3 (e + f) 3> 0, the second data may obtain a w 3 (e + f) 3
  • the second share of the value is ⁇ w 3 (e+f) 3 > 1 .
  • the first data party may be based on w 1 e and ⁇ w 3 (e+f) 3 > 0
  • the second data party may be based on w 1 f and ⁇ w 3 (e+f) 3 > 1
  • Use secret sharing algorithm to collaboratively determine the value of w 4 (e+f) 4 .
  • a first share of the first party data may be obtained w 4 (e + f) 4 values of ⁇ w 4 (e + f) 4> 0, the second data may obtain a w 4 (e + f) 4
  • the second share of the value is ⁇ w 4 (e+f) 4 > 1 .
  • the first data party may add w 1 e, ⁇ w 2 (e+f) 2 > 0 , ⁇ w 3 (e+f) 3 > 0 and ⁇ w 4 (e+f) 4 > 0 , Obtain the first share of the value of the polynomial.
  • the second data party may combine w 0 , w 1 f, ⁇ w 2 (e+f) 2 > 1 , ⁇ w 3 (e+f) 3 > 1, and ⁇ w 4 (e+f) 4 > 1 Add up to obtain the second share of the polynomial value.
  • the sum of the first share and the second share of the value of the polynomial is equal to the value of the polynomial.
  • Multi-party secure computing has been widely used in business practice. For example, in the scenario of cooperative security modeling, in order to protect data privacy, multiple data parties can use multi-party secure computing technology to conduct collaborative training on data processing models without leaking their own data.
  • Secret Sharing is an algorithm for multi-party secure computing.
  • the idea of the secret sharing algorithm is: to split the secret information in an appropriate way; the split shares are managed by different participants; a single participant cannot recover the secret information; only a number of participants can work together to recover the secret information.
  • the participant P 1 owns the data x 1 and the participant P 2 owns the data x 2 .
  • the participant P 1 can obtain the share y 1 of the calculation result y after the calculation, and the participant P 2 can obtain the share y 2 of the calculation result y after the calculation.
  • Activation function also known as activation function, can be used to build data processing models.
  • the excitation function defines the output at a given input.
  • the excitation function is usually a nonlinear function. In this way, non-linear factors can be added to the data processing model through the excitation function, and the expressive ability of the data processing model can be improved.
  • the activation function may include Sigmoid function, Tanh function, ReLU function and so on.
  • the data processing model may include a logistic regression model, a linear regression model, a neural network model, and the like.
  • multiple data parties can use the secret sharing algorithm to process the model based on the data they own without leaking the data they own.
  • Conduct collaborative training In the process of collaborative training of the data processing model, the multiple data parties need to use a secret sharing algorithm to collaboratively calculate the value of the incentive function. Since the operation involved in the activation function is a nonlinear operation, its value cannot be directly calculated by the secret sharing algorithm. For this reason, in practical applications, a polynomial can be used to fit the excitation function in the data processing model, and the polynomial can be used to replace the excitation function to construct a data processing model. In this way, in the process of collaborative training of the data processing model, the multiple data can conveniently use a secret sharing algorithm to collaboratively determine the value of the polynomial, thereby realizing the collaborative training of the data processing model.
  • This specification provides an embodiment of a data interaction system.
  • the data interaction system may include a first data party and a second data party.
  • the first data party and the second data party may both be personal computers, servers, handheld devices, portable devices, tablet devices, multi-processor devices; or, may also include any of the above devices or devices.
  • the first data party and the second data party may be two parties performing multi-party security calculations.
  • the first data party and the second data party may each own a share of business data.
  • the share owned by the first data party may be used as the first share
  • the share owned by the second data party may be used as the second share.
  • the sum of the first share and the second share of the service data is equal to the service data.
  • the first data party may base on the first share of the business data owned by itself, and the second data party may use the secret sharing algorithm to collaboratively determine the value of the polynomial based on the second share of the business data owned by the second data party.
  • the first data party cannot leak the first share of the business data owned by the first data party, and the second data party cannot leak the second share of the business data owned by the second data party.
  • This specification provides an embodiment of a data interaction method.
  • This embodiment may include the following steps.
  • Step S11 The first data party determines the value of the first factor based on the first share of the business data.
  • the first factor is the exponential factor of the target variable in the data item of the polynomial. Describe the variables associated with the first share.
  • Step S13 The second data party determines the value of a second factor based on the second share of the business data, and the second factor includes factors other than the first factor in the data item of the polynomial.
  • Step S15 Based on the value of the first factor, the first data party secretly shares the value of each data item in the polynomial in a parallel manner based on the value of the second factor, and the first data party obtains each data item For the first share of the value, the second data party obtains the second share of the value of each data item.
  • Step S17 The first data party determines the first share of the value of the polynomial based on the first share of the value of the data item.
  • Step S19 The second data party determines the second share of the value of the polynomial based on the second share of the value of the data item.
  • the business data may be any type of data, for example, it may be transaction data or asset data.
  • the first data party may own a first share of the business data
  • the second data party may own a second share of the business data.
  • the sum of the first share and the second share of the business data is equal to the business data.
  • the second data party may independently own the coefficients of the polynomial.
  • both the first data party and the second data party may have the coefficients of the polynomial.
  • the polynomial may include multiple variables.
  • the plurality of variables may include a variable associated with the first share of the business data and at least one other variable.
  • the correlation between the variable and the share of the business data can be understood as: the variable is used to represent the share of the business data.
  • the polynomial may include two variables, one of the two variables may be associated with the first share of the business data, and the other variable may be associated with the second share of the business data.
  • the variable associated with the first share of the business data may be used as the target variable in the subsequent process.
  • the polynomial may include multiple data items, and the sum of the multiple data items is equal to the polynomial.
  • the data item may include a first factor and a second factor, and the product of the first factor and the second factor is equal to the data item.
  • the first factor may be an exponential factor of the target variable in the data item, and the second factor may include other factors in the data item other than the first factor.
  • the polynomial can have a variety of different expression modes, and the expression forms of data items in different expression modes are different.
  • the expression of the polynomial may include the expression mode of dividing the data items according to the degree of the target variable, so the degree of the target variable in different data items is different.
  • the polynomial p can be expressed as follows.
  • x represents business data
  • a represents the first share of business data
  • a and b are two variables in the polynomial
  • n the highest degree of polynomial
  • w i represents the coefficient of the polynomial
  • the polynomial p divides the data items according to the degree of the target variable a, a i f i (b) represents the data item;
  • f i (b) is the second factor of the data item a i f i (b).
  • the first data party may calculate the value of the first factor of the data item in the polynomial based on the first share of the business data owned by the first data party.
  • the first data party can calculate the values of other first factors except a 0 and a 1 according to a , Such as the values of a n ,..., a i ,..., a 2 .
  • the second data party may calculate the value of the second factor of the data item in the polynomial based on the second share of the business data owned by the second data party.
  • the second data party can calculate the second factors f n (b),..., f i (b),..., f 2 (b), f 1 (b), and f 0 according to b. The value of (b).
  • the value of the first factor of each data item is independent of each other (the value of the first factor of each data item does not depend on the value of the first factor of other data items), and the value of the first factor of each data item
  • the values of the two factors are also independent of each other (the value of the second factor of each data item does not depend on the values of the second factor of other data items). Therefore, in step S15, the first data party may base on the value of the first factor, and the second data party may secretly share the value of each data item in the polynomial in a parallel manner based on the value of the second factor. .
  • the first data party and the second data party may respectively obtain a share of the value of each data item in the polynomial.
  • the share of the value of the data item obtained by the first data party may be taken as the first share
  • the share of the value of the data item obtained by the second data party may be taken as the second share.
  • the sum of the first share and the second share of the value of each data item is equal to the value of the data item.
  • the first data party and the second data party can adopt any method to secretly share the values of each data item in the polynomial in parallel. Considering that the value of the first factor of each data item in the polynomial is used as a whole to participate in the secret sharing calculation, and the value of the second factor of each data item in the polynomial is used as a whole to participate in the secret sharing calculation, which is convenient for secret sharing in a parallel manner
  • the first data party may construct a first factor value vector based on the value of the first factor of each data item in the polynomial.
  • the second data party may construct a second factor value vector based on the value of the second factor of each data item in the polynomial.
  • the value of the polynomial can be expressed as a dot product between the first factor vector and the second factor vector.
  • the first data party may obtain a value vector based on the first factor, and the second data party may secretly analyze the value of each data item in the polynomial based on the second factor value vector.
  • the first data party can obtain the first share of the value of each data item, and the second data party can obtain the second share of the value of each data item. In this way, by using the vector method, the first data party and the second data party can cooperate to determine the value of the polynomial through one interaction.
  • the first data party may obtain a value vector based on the first factor, and the second data party may secretly analyze the value of each data item in the polynomial based on the second factor value vector.
  • the first data party can obtain the first share of the value of each data item ⁇ a n f n (b)> 0 ,..., ⁇ a i f i (b)> 0 ,..., ⁇ a 2 f 2 (b )> 0 , ⁇ af 1 (b)> 0 and ⁇ f 0 (b)> 0
  • the second data party can obtain the second share of the value of each data item ⁇ a n f n (b)> 1 , ..., ⁇ a i f i (b)> 1 , ..., ⁇ a 2 f 2 (b)> 1 , ⁇ af 1 (b)> 1 and ⁇ f 0 (b)> 1 .
  • the first data party may add the first share of the value of each data item in the polynomial to obtain the first share of the value of the polynomial.
  • the first data party may assign the first share of the value of the data item in the polynomial ⁇ a n f n (b)> 0 , ..., ⁇ a i f i (b)> 0 , ..., ⁇ a 2 f 2 (b)> 0 , ⁇ af 1 (b)> 0 and ⁇ f 0 (b)> 0 are added together to obtain the first share of the polynomial value ⁇ p> 0 .
  • ⁇ p> 0 ⁇ a n f n (b)> 0 +...+ ⁇ a i f i (b)> 0 +...+ ⁇ a 2 f 2 (b)> 0 + ⁇ af 1 (b)> 0 + ⁇ f 0 (b)> 0 .
  • the second data party may add the second share of the value of each data item in the polynomial to obtain the second share of the value of the polynomial.
  • the second data party may assign the second share of the value of the data item in the polynomial ⁇ a n f n (b)> 1 , ..., ⁇ a i f i (b)> 1 , ..., ⁇ a 2 f 2 (b)> 1 , ⁇ af 1 (b)> 1 and ⁇ f 0 (b)> 1 are added together to obtain the second share of the polynomial value ⁇ p> 1 .
  • ⁇ p> 0 + ⁇ p> 1 p.
  • ⁇ p> 1 ⁇ a n f n (b)> 1 +...+ ⁇ a i f i (b)> 1 +...+ ⁇ a 2 f 2 (b)> 1 + ⁇ af 1 (b)> 1 + ⁇ f 0 (b)> 1 .
  • the first data party and the second data party can use a secret sharing algorithm to secretly share the fetch of each data item in the polynomial in a parallel manner without revealing the share of the business data they own. Value, reducing the number of interactions between the first data party and the second data party, thereby reducing the time occupied by network interaction in the secret sharing process, and improving the calculation efficiency of polynomial value.
  • this specification also provides another embodiment of a data interaction method.
  • the first data party is the execution subject.
  • the first data party may own a share of business data. Please refer to FIG. 2, this embodiment may include the following steps.
  • Step S21 Determine the value of the target factor based on the share of the business data owned by itself, where the target factor is the exponential factor of the target variable in the data item of the polynomial, and the target variable is the polynomial associated with the share variable.
  • the first data party may calculate the value of the target factor of the data item in the polynomial based on the share of the business data it owns. For the specific process, refer to step S11 in the previous embodiment.
  • Step S23 Based on the value of the target factor, secretly share the value of each data item in the polynomial with the partner in a parallel manner to obtain the value of each data item.
  • the cooperating party may be understood as the data party that cooperates with the first data party to determine the value of the polynomial, and may specifically be the previous second data party.
  • the first data party may secretly share the value of each data item in the polynomial in a parallel manner based on the value of the target factor.
  • the first data party can obtain the share of the value of each data item in the polynomial. For the specific process, refer to step S15 in the previous embodiment.
  • Step S25 Determine the value share of the polynomial based on the value share of the data item.
  • the first data party may add the share of the value of each data item in the polynomial to obtain the share of the value of the polynomial.
  • step S17 For the specific process, refer to step S17 in the previous embodiment.
  • the first data party can use the secret sharing algorithm to secretly share the value of each data item in the polynomial with the partner in a parallel manner without leaking the share of the business data it owns.
  • the number of interactions with the second data party is reduced, thereby reducing the time occupied by network interaction in the secret sharing process, and improving the calculation efficiency of polynomial value.
  • this specification also provides another embodiment of a data interaction method.
  • This embodiment uses the second data party as the execution subject.
  • the second data party may own a share of the business data.
  • this embodiment may include the following steps.
  • Step S31 Determine the value of the target factor based on the share of the business data owned by itself.
  • the target factor includes other factors in the data items of the polynomial except for the exponential factor of the target variable. Variables associated with the share of business data owned by the party.
  • the second data party may calculate the value of the target factor of the data item in the polynomial based on the share of the business data it owns. For the specific process, refer to step S13 in the previous embodiment.
  • Step S33 Based on the value of the target factor, secretly share the value of each data item in the polynomial with the partner in a parallel manner to obtain the value of each data item.
  • the cooperating party may be understood as a data party that cooperates with the second data party to determine the value of the polynomial, and may specifically be the previous first data party.
  • the second data party may secretly share the value of each data item in the polynomial in a parallel manner based on the value of the target factor.
  • the second data party can obtain the share of the value of each data item in the polynomial. For the specific process, refer to step S15 in the previous embodiment.
  • Step S35 Determine the value share of the polynomial based on the value share of the data item.
  • the second data party may add the share of the value of each data item in the polynomial to obtain the share of the value of the polynomial.
  • step S19 refer to step S19 in the previous embodiment.
  • the second data party can use the secret sharing algorithm to secretly share the value of each data item in the polynomial with the partner in a parallel manner without revealing the share of the business data it owns.
  • the number of interactions with the first data party is reduced, thereby reducing the time occupied by network interaction in the secret sharing process, and improving the calculation efficiency of polynomial value.
  • this specification also provides an embodiment of a data interaction device.
  • this embodiment may be set at the first data party, and specifically may include the following units.
  • the first determining unit 41 is configured to determine the value of the target factor based on the share of the business data owned by itself.
  • the target factor is the exponential factor of the target variable in the polynomial data item, and the target variable is the sum of the polynomial The variables associated with the share;
  • the secret sharing unit 43 is configured to secretly share the value of each data item in the polynomial with the partner in a parallel manner based on the value of the target factor to obtain the share of the value of each data item;
  • the second determining unit 45 is configured to determine the value share of the polynomial based on the value share of the data item.
  • this specification also provides an embodiment of a data interaction device.
  • this embodiment may be set at the second data party, and specifically may include the following units.
  • the first determining unit 51 is configured to determine the value of the target factor based on the share of the business data owned by itself.
  • the target factor includes factors other than the exponential factor of the target variable in the data items of the polynomial, and the target variable Is the variable associated with the share of business data owned by the partner in the polynomial;
  • the secret sharing unit 53 is used to secretly share the value of each data item in the polynomial with the partner in a parallel manner based on the value of the target factor to obtain the share of the value of each data item;
  • the second determining unit 55 is configured to determine the value share of the polynomial based on the value share of the data item.
  • Fig. 6 is a schematic diagram of the hardware structure of an electronic device in this embodiment.
  • the electronic device may include one or more (only one is shown in the figure) processor, memory, and transmission module.
  • the hardware structure shown in FIG. 6 is only for illustration, and it does not limit the hardware structure of the above electronic device.
  • the electronic device may also include more or less component units than shown in FIG. 6; or, have a configuration different from that shown in FIG. 6.
  • 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.
  • the storage may also include a remotely set network storage.
  • the remotely set network storage can be connected to the electronic device through a network such as the Internet, an intranet, a local area network, a mobile communication network, and the like.
  • the memory may be used to store program instructions or modules of application software, such as the program instructions or modules of the embodiment corresponding to FIG. 2 of this specification; and/or, the program instructions or modules of the embodiment corresponding to FIG. 3 of this specification.
  • the processor can be implemented in any suitable way.
  • the processor may take the form of, for example, a microprocessor or a processor and a computer-readable medium storing computer-readable program codes (for example, software or firmware) executable by the (micro)processor, logic gates, switches, dedicated integrated Circuit (Application Specific Integrated Circuit, ASIC), programmable logic controller and embedded microcontroller form, etc.
  • the processor can read and execute program instructions or modules in the memory.
  • the transmission module can be used for data transmission via a network, for example, data transmission via a network such as the Internet, an intranet, a local area network, a mobile communication network, and the like.
  • a network such as the Internet, an intranet, a local area network, a mobile communication network, and the like.
  • a programmable logic device Programmable Logic Device, PLD
  • FPGA Field Programmable Gate Array
  • HDL Hardware Description Language
  • ABEL Advanced Boolean Expression Language
  • AHDL Altera Hardware Description Language
  • HDCal JHDL
  • Lava Lava
  • Lola MyHDL
  • PALASM RHDL
  • Verilog2 Verilog2
  • a typical implementation device is a computer.
  • the computer may be, for example, a personal computer, a laptop computer, a cell 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 Any combination of these devices.
  • This manual can be used in many general or special computer system environments or configurations.
  • program modules include routines, programs, objects, components, data structures, etc. that perform specific tasks or implement specific abstract data types.
  • This specification can also be practiced in distributed computing environments, in which tasks are performed by remote processing devices connected through a communication network.
  • program modules can be located in local and remote computer storage media including storage devices.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)

Abstract

本说明书实施例提供一种数据交互方法、装置和电子设备。所述方法包括:基于自身拥有的业务数据的份额,确定目标因数的取值,所述目标因数为多项式的数据项中目标变量的指数项因数,所述目标变量为多项式中与所述份额相关联的变量;基于目标因数的取值,以并行的方式与合作方秘密分享多项式中各个数据项的取值,得到各个数据项取值的份额;基于数据项取值的份额,确定所述多项式取值的份额。本说明书实施例的数据交互方法、装置和电子设备,可以提高多项式取值的计算效率。

Description

数据交互方法、装置和电子设备 技术领域
本说明书实施例涉及计算机技术领域,特别涉及一种数据交互方法、装置和电子设备。
背景技术
大数据时代,存在非常多的数据孤岛。数据通常分散存于不同的企业中,企业与企业之间由于竞争关系和隐私保护的考虑,并不是完全的互相信任。在一些情况下,企业与企业之间需要进行合作安全建模,以便在充分保护企业数据隐私的前提下,利用各方的数据对数据处理模型进行协作训练。
在对数据处理模型进行协作训练的过程中,合作建模的各方通常需要协作确定多项式的取值。因此如何在充分保护数据隐私的前提下,快速地确定出多项式的取值,是当前亟需解决的技术问题。
发明内容
本说明书实施例的目的是提供一种数据交互方法、装置和电子设备,以在充分保护数据隐私的前提下,提高多项式取值的确定效率。
为实现上述目的,本说明书中一个或多个实施例提供的技术方案如下。
根据本说明书一个或多个实施例的第一方面,提供了一种数据交互方法,包括:第一数据方基于业务数据的第一份额,确定第一因数的取值,所述第一因数为多项式的数据项中目标变量的指数项因数,所述目标变量为多项式中与所述第一份额相关联的变量;第二数据方基于业务数据的第二份额,确定第二因数的取值,所述第二因数包括多项式的数据项中除所述第一因数以外的其它因数;第一数据方基于第一因数的取值,第二数据方基于第二因数的取值,以并行的方式秘密分享多项式中各个数据项的取值,第一数据方获得各个数据项取值的第一份额,第二数据方获得各个数据项取值的第二份额;第一数据方基于数据项取值的第一份额,确定所述多项式取值的第一份额;第二数据方基于数据项取值的第二份额,确定所述多项式取值的第二份额。
根据本说明书一个或多个实施例的第二方面,提供了一种数据交互方法,应用于第 一数据方,包括:基于自身拥有的业务数据的份额,确定目标因数的取值,所述目标因数为多项式的数据项中目标变量的指数项因数,所述目标变量为多项式中与所述份额相关联的变量;基于目标因数的取值,以并行的方式与合作方秘密分享多项式中各个数据项的取值,得到各个数据项取值的份额;基于数据项取值的份额,确定所述多项式取值的份额。
根据本说明书一个或多个实施例的第三方面,提供了一种数据交互装置,设置于第一数据方,包括:第一确定单元,用于基于自身拥有的业务数据的份额,确定目标因数的取值,所述目标因数为多项式的数据项中目标变量的指数项因数,所述目标变量为多项式中与所述份额相关联的变量;秘密分享单元,用于基于目标因数的取值,以并行的方式与合作方秘密分享多项式中各个数据项的取值,得到各个数据项取值的份额;第二确定单元,用于基于数据项取值的份额,确定所述多项式取值的份额。
根据本说明书一个或多个实施例的第四方面,提供了一种电子设备,包括:存储器,用于存储计算机指令;处理器,用于执行所述计算机指令以实现如第二方面所述的方法步骤。
根据本说明书一个或多个实施例的第五方面,提供了一种数据交互方法,应用于第二数据方,包括:基于自身拥有的业务数据的份额,确定目标因数的取值,所述目标因数包括多项式的数据项中除目标变量的指数项因数以外的其它因数,所述目标变量为多项式中与合作方拥有的业务数据的份额相关联的变量;基于目标因数的取值,以并行的方式与合作方秘密分享多项式中各个数据项的取值,得到各个数据项取值的份额;基于数据项取值的份额,确定所述多项式取值的份额。
根据本说明书一个或多个实施例的第六方面,提供了一种数据交互装置,设置于第二数据方,包括:第一确定单元,用于基于自身拥有的业务数据的份额,确定目标因数的取值,所述目标因数包括多项式的数据项中除目标变量的指数项因数以外的其它因数,所述目标变量为多项式中与合作方拥有的业务数据的份额相关联的变量;秘密分享单元,用于基于目标因数的取值,以并行的方式与合作方秘密分享多项式中各个数据项的取值,得到各个数据项取值的份额;第二确定单元,用于基于数据项取值的份额,确定所述多项式取值的份额。
根据本说明书一个或多个实施例的第七方面,提供了一种电子设备,包括:存储器,用于存储计算机指令;处理器,用于执行所述计算机指令以实现如第五方面所述的方法步骤。
由以上本说明书实施例提供的技术方案可见,本说明书实施例中,第一数据方和第二数据方可以利用秘密分享算法,在不泄漏自身所拥有业务数据的份额的前提下,以并行的方式秘密分享多项式中各个数据项的取值,减少了第一数据方和第二数据方之间的交互次数,从而减少了秘密分享过程中由于进行网络交互所占用的时间,提高了多项式取值的确定效率。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书实施例一种数据交互方法的流程图;
图2为本说明书实施例一种数据交互方法的流程图;
图3为本说明书实施例一种数据交互方法的流程图;
图4为本说明书实施例一种数据交互装置的功能结构示意图;
图5为本说明书实施例一种数据交互装置的功能结构示意图;
图6为本说明书实施例一种电子设备的功能结构示意图。
具体实施方式
下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。
在相关技术的一个示例中,合作建模的各方可以包括第一数据方和第二数据方,第一数据方可以拥有业务数据的第一份额,第二数据方可以拥有业务数据的第二份额。在对数据处理模型进行协作训练的过程中,第一数据方和第二数据方需要协作确定多项式 w 0+w 1(e+f)+w 2(e+f) 2+w 3(e+f) 3+w 4(e+f) 4的取值。在所述多项式中,e表示所述第一份额,f表示所述第二份额,w 0、w 1、w 2、w 3和w 4表示所述多项式的系数。所述第一数据方和所述第二数据方均拥有多项式的系数w 0、w 1、w 2、w 3和w 4
所述第一数据方可以在本地确定w 1e。所述第二数据方可以在本地确定w 1f。
所述第一数据方可以基于e,所述第二数据方可以基于f,利用秘密分享算法协作确定w 2(e+f) 2的取值。所述第一数据方可以获得w 2(e+f) 2取值的第一份额<w 2(e+f) 20,所述第二数据方可以获得w 2(e+f) 2取值的第二份额<w 2(e+f) 21
接下来,所述第一数据方可以基于w 1e和<w 2(e+f) 20,所述第二数据方可以基于w 1f和<w 2(e+f) 21,利用秘密分享算法协作确定w 3(e+f) 3的取值。所述第一数据方可以获得w 3(e+f) 3取值的第一份额<w 3(e+f) 30,所述第二数据方可以获得w 3(e+f) 3取值的第二份额<w 3(e+f) 31
接下来,所述第一数据方可以基于w 1e和<w 3(e+f) 30,所述第二数据方可以基于w 1f和<w 3(e+f) 31,利用秘密分享算法协作确定w 4(e+f) 4的取值。所述第一数据方可以获得w 4(e+f) 4取值的第一份额<w 4(e+f) 40,所述第二数据方可以获得w 4(e+f) 4取值的第二份额<w 4(e+f) 41
所述第一数据方可以将w 1e、<w 2(e+f) 20、<w 3(e+f) 30和<w 4(e+f) 40相加,得到所述多项式取值的第一份额。所述第二数据方可以将w 0、w 1f、<w 2(e+f) 21、<w 3(e+f) 31和<w 4(e+f) 41相加,得到所述多项式取值的第二份额。所述多项式取值的第一份额和第二份额的和等于所述多项式的取值。
由以上协作确定多项式取值的过程可知,高次数据项的计算过程依赖于低次数据项的计算结果。所述第一数据方和所述第二数据方需要按照次数从低到高的顺序,逐个确定数据项的取值。这样所述第一数据方和所述第二数据方需要经过多次交互,才能够协作确定出多项式的取值。网络交互是比较耗费时间的,从而造成多项式取值的确定效率低下。
以下介绍本说明书实施例涉及的技术术语。
若多个第一数据的乘积为第二数据,则可以将每个所述第一数据作为所述第二数据的一个因数。例如,若z 0×z 1=z,则z 0和z 1分别为z的因数。
多方安全计算(Secure Muti-Party Computation,MPC)是一种保护数据隐私安全的算法。多个参与方可以在不泄漏自身数据的前提下,使用多方安全计算技术进行协作计算,得到计算结果。例如,采用多方安全计算,参与方P 1,…,P n可以协作计算函数f(x 1,…,x n)=(y 1,…,y n)=y。其中,n≥2;x 1,...,x n分别为参与方P 1,…,P n拥有的数据;y为计算结果;y 1,…,y n分别为参与方P 1,…,P n在计算后所拥有的计算结果y的份额。
多方安全计算在业务实际中获得了广泛应用。例如,在合作安全建模的场景中,出于保护数据隐私的考虑,多个数据方可以在不泄漏自身所拥有的数据的前提下,利用多方安全计算技术对数据处理模型进行协作训练。
秘密分享(SS,Secret Sharing)是一种用于实现多方安全计算的算法。秘密分享算法的思想是:将秘密信息以适当的方式进行拆分;拆分后的份额由不同的参与方管理;单个参与方无法恢复秘密信息;只有若干个参与方一同协作才能恢复秘密信息。例如,参与方P 1拥有数据x 1,参与方P 2拥有数据x 2。采用秘密分享算法,参与方P 1和参与方P 2可以进行协作计算,得到计算结果y=y 1+y 2=f(x 1,x 2)=x 1x 2。参与方P 1在计算后可以获得计算结果y的份额y 1,参与方P 2在计算后可以获得计算结果y的份额y 2
为了便于理解本说明书实施例的技术方案,以下首先介绍一个应用场景示例。需要说明的是,该应用场景示例的目的仅在于更好地理解本说明书的实施例,并不构成对本说明书实施例的不当限定。
激励函数(Activation Function),又称为激活函数,可以用于构建数据处理模型。激励函数定义了在给定输入下的输出。激励函数通常为非线性函数。这样通过激励函数可以在所述数据处理模型中加入非线性因素,提高所述数据处理模型的表达能力。所述激励函数可以包括Sigmoid函数、Tanh函数和ReLU函数等。所述数据处理模型可以包括逻辑回归模型、线性回归模型和神经网络模型等。
在合作安全建模的场景中,出于保护数据隐私的考虑,多个数据方可以在不泄漏自身所拥有的数据的前提下,基于自身拥有的数据,利用秘密分享算法对所述数据处理模型进行协作训练。在对数据处理模型进行协作训练的过程中,所述多个数据方需要利用秘密分享算法协作计算激励函数的取值。由于激励函数涉及的运算为非线性运算,导致 其取值无法直接利用秘密分享算法进行计算。为此在实际应用中,可以使用多项式来拟合所述数据处理模型中的激励函数,进而可以使用所述多项式代替所述激励函数构建数据处理模型。这样在对数据处理模型进行协作训练的过程中,所述多个数据方便可以利用秘密分享算法协作确定所述多项式的取值,从而实现了对数据处理模型的协作训练。
本说明书提供一种数据交互系统的实施例。
在该实施例中,所述数据交互系统可以包括第一数据方和第二数据方。所述第一数据方和所述第二数据方均可以为个人计算机、服务器、手持设备、便携式设备、平板型设备、多处理器装置;或者,还可以为包括由以上任何多个装置或设备所构成的集群等。所述第一数据方和所述第二数据方可以为进行多方安全计算的双方。具体地,所述第一数据方和所述第二数据方可以分别拥有业务数据的一份份额。为了便于描述,可以将所述第一数据方拥有的份额作为第一份额,可以将所述第二数据方拥有的份额作为第二份额。所述业务数据的第一份额和第二份额的和等于所述业务数据。所述第一数据方可以基于自身拥有的业务数据的第一份额,所述第二数据方可以基于自身拥有的业务数据的第二份额,利用秘密分享算法,协作确定多项式的取值。在此过程中,所述第一数据方不能够泄漏自身拥有的业务数据的第一份额,所述第二数据方不能够泄漏自身拥有的业务数据的第二份额。
本说明书提供一种数据交互方法的实施例。
请参阅图1,该实施例可以包括以下步骤。
步骤S11:第一数据方基于业务数据的第一份额,确定第一因数的取值,所述第一因数为多项式的数据项中目标变量的指数项因数,所述目标变量为多项式中与所述第一份额相关联的变量。
步骤S13:第二数据方基于业务数据的第二份额,确定第二因数的取值,所述第二因数包括多项式的数据项中除所述第一因数以外的其它因数。
步骤S15:第一数据方基于第一因数的取值,第二数据方基于第二因数的取值,以并行的方式秘密分享多项式中各个数据项的取值,第一数据方获得各个数据项取值的第一份额,第二数据方获得各个数据项取值的第二份额。
步骤S17:第一数据方基于数据项取值的第一份额,确定所述多项式取值的第一份额。
步骤S19:第二数据方基于数据项取值的第二份额,确定所述多项式取值的第二份 额。
在一些实施例中,所述业务数据可以为任意类型的数据,例如可以为交易数据或资产数据等。所述第一数据方可以拥有所述业务数据的第一份额,所述第二数据方可以拥有所述业务数据的第二份额。业务数据的第一份额和第二份额的和等于所述业务数据。所述第二数据方可以独自拥有所述多项式的系数。或者,所述第一数据方和所述第二数据方均可以拥有所述多项式的系数。
所述多项式可以包括多个变量。所述多个变量可以包括与所述业务数据的第一份额相关联的变量和至少一个其它变量。变量与业务数据的份额相关联可以理解为:变量用于表示业务数据的该份额。例如,所述多项式可以包括两个变量,所述两个变量中的一个变量可以与所述业务数据的第一份额相关联,另一个变量可以与所述业务数据的第二份额相关联。为了便于描述,在后续过程中可以将与所述业务数据的第一份额相关联的变量作为目标变量。
所述多项式可以包括多个数据项,所述多个数据项的和等于所述多项式。所述数据项可以包括第一因数和第二因数,所述第一因数和所述第二因数的乘积等于该数据项。所述第一因数可以为数据项中目标变量的指数项因数,所述第二因数可以包括数据项中除所述第一因数以外的其它因数。值得说明的是,在实际应用中,所述多项式可以有多种不同的表达方式,不同的表达方式中数据项的表现形式不同。这里多项式的表达式可以包括按照目标变量的次数来划分数据项的表达方式,因而不同数据项中目标变量的次数不同。
在一些场景示例中,多项式p可以表示如下。
p=w 0+w 1x+w 2x 2+…+w ix i+…+w nx n
=w 0+w 1(a+b)+w 2(a+b) 2+…+w i(a+b) i+…+w n(a+b) n
=w 0+w 1(a+b)+w 2(a 2+2ab+b 2)+…w i(a i+…+b i)+…+w n(a n+…+b n)
=a nf n(b)+…+a if i(b)+…+a 2f 2(b)+af 1(b)+f 0(b)            ;
x表示业务数据;
a表示业务数据的第一份额;
b表示业务数据的第二份额;
a和b为多项式中的两个变量;
n表示多项式的最高次数;
w i表示多项式的系数;
多项式p按照目标变量a的次数来划分数据项,a if i(b)表示数据项;
a i为数据项a if i(b)中目标变量a的指数项因数,即,a i为数据项a if i(b)的第一因数;值得说明的是,数据项f 0(b)中的第一因数可以理解为a 0=1;
f i(b)为数据项a if i(b)的第二因数。
在一些实施例中,步骤S11中,所述第一数据方可以基于自身拥有的业务数据的第一份额,计算多项式中数据项的第一因数的取值。延续前面的场景示例,在实际应用中,由于a 0=1和a 1=a能够直接确定,所述第一数据方可以根据a,计算除a 0和a 1以外其它第一因数的取值,诸如a n、…、a i、…、a 2的取值。
在一些实施例中,步骤S13中,所述第二数据方可以基于自身拥有的业务数据的第二份额,计算多项式中数据项的第二因数的取值。延续前面的场景示例,所述第二数据方可以根据b,计算第二因数f n(b)、…、f i(b)、…、f 2(b)、f 1(b)和f 0(b)的取值。
在一些实施例中,各个数据项的第一因数取值是相互独立的(每个数据项的第一因数取值不依赖于其它数据项的第一因数取值),并且各个数据项的第二因数取值也是相互独立的(每个数据项的第二因数取值不依赖于其它数据项的第二因数取值)。因此在步骤S15中,所述第一数据方可以基于第一因数的取值,所述第二数据方可以基于第二因数的取值,以并行的方式秘密分享多项式中各个数据项的取值。所述第一数据方和所述第二数据方可以分别获得多项式中各个数据项取值的一份份额。为了便于描述,可以将所述第一数据方获得的数据项取值的份额作为第一份额,可以将所述第二数据方获得的数据项取值的份额作为第二份额。每个数据项取值的第一份额和第二份额的和等于该数据项的取值。通过并行的方式,可以减少第一数据方和第二数据方之间的交互次数,进而能够提高多项式取值的计算效率。
所述第一数据方和所述第二数据方可以采用任意方式,并行秘密分享多项式中各个数据项的取值。考虑到将多项式中各个数据项的第一因数的取值作为整体参与秘密分享计算、并且将多项式中各个数据项的第二因数的取值作为整体参与秘密分享计算,便于以并行的方式秘密分享多项式中各个数据项的取值,在实际应用中,所述第一数据方可 以基于多项式中各个数据项的第一因数的取值,构建第一因数取值向量。所述第二数据方可以基于多项式中各个数据项的第二因数的取值,构建第二因数取值向量。这样所述多项式的取值可以表示为所述第一因数向量和所述第二因数向量之间的点积。所述第一数据方可以基于所述第一因数取值向量,所述第二数据方可以基于所述第二因数取值向量,秘密分析多项式中各个数据项的取值。所述第一数据方可以获得各个数据项取值的第一份额,所述第二数据方可以获得各个数据项取值的第二份额。这样利用向量的方式,所述第一数据方和所述第二数据方通过一次交互,便实现协作确定多项式的取值。
延续前面的场景示例,所述第一数据方可以构建第一因数取值向量v1=[a n,...,a i,...,a 2,a 1,1],所述第二数据方可以构建第二因数取值向量
Figure PCTCN2020071594-appb-000001
所述第一数据方可以基于所述第一因数取值向量,所述第二数据方可以基于所述第二因数取值向量,秘密分析多项式中各个数据项的取值。所述第一数据方可以获得各个数据项取值的第一份额<a nf n(b)> 0、…、<a if i(b)> 0、…、<a 2f 2(b)> 0、<af 1(b)> 0和<f 0(b)> 0,所述第二数据方可以获得各个数据项取值的第二份额<a nf n(b)> 1、…、<a if i(b)> 1、…、<a 2f 2(b)> 1、<af 1(b)> 1和<f 0(b)> 1。其中,<a nf n(b)> 0+<a nf n(b)> 1=a nf n(b),<a if i(b)> 0+<a if i(b)> 1=a if i(b),<a 2f 2(b)> 0+<a 2f 2(b)> 1=a 2f 2(b),<af 1(b)> 0+<af 1(b)> 1=af 1(b),<f 0(b)> 0+<f 0(b)> 1=f 0(b)。
在一些实施例中,步骤S17中,所述第一数据方可以将所述多项式中各个数据项取值的第一份额相加,得到所述多项式取值的第一份额。
延续前面的场景示例,所述第一数据方可以将所述多项式中数据项取值的第一份额<a nf n(b)> 0、…、<a if i(b)> 0、…、<a 2f 2(b)> 0、<af 1(b)> 0和<f 0(b)> 0相加,得到多项式取值的第一份额<p> 0。<p> 0=<a nf n(b)> 0+…+<a if i(b)> 0+…+<a 2f 2(b)> 0+<af 1(b)> 0+<f 0(b)> 0
在一些实施例中,步骤S19中,所述第二数据方可以将所述多项式中各个数据项取值的第二份额相加,得到所述多项式取值的第二份额。
延续前面的场景示例,所述第二数据方可以将所述多项式中数据项取值的第二份额 <a nf n(b)> 1、…、<a if i(b)> 1、…、<a 2f 2(b)> 1、<af 1(b)> 1和<f 0(b)> 1相加,得到多项式取值的第二份额<p> 1。<p> 0+<p> 1=p。<p> 1=<a nf n(b)> 1+…+<a if i(b)> 1+…+<a 2f 2(b)> 1+<af 1(b)> 1+<f 0(b)> 1
本实施例的数据交互方法,第一数据方和第二数据方可以利用秘密分享算法,在不泄漏自身所拥有业务数据的份额的前提下,以并行的方式秘密分享多项式中各个数据项的取值,减少了第一数据方和第二数据方之间的交互次数,从而减少了秘密分享过程中由于进行网络交互所占用的时间,提高了多项式取值的计算效率。
基于同样的发明构思,本说明书还提供一种数据交互方法的另一个实施例。该实施例以第一数据方为执行主体。所述第一数据方可以拥有业务数据的一份份额。请参阅图2,该实施例可以包括以下步骤。
步骤S21:基于自身拥有的业务数据的份额,确定目标因数的取值,所述目标因数为多项式的数据项中目标变量的指数项因数,所述目标变量为多项式中与所述份额相关联的变量。
关于所述目标因数的介绍可以参见前面实施例中有关第一因数的介绍。所述第一数据方可以基于自身拥有的业务数据的份额,计算多项式中数据项的目标因数的取值。具体过程可以参见前面实施例中的步骤S11。
步骤S23:基于目标因数的取值,以并行的方式与合作方秘密分享多项式中各个数据项的取值,得到各个数据项取值的份额。
所述合作方可以理解为与所述第一数据方进行协作确定多项式取值的数据方,具体可以为前面的第二数据方。所述第一数据方可以基于目标因数的取值,以并行的方式秘密分享多项式中各个数据项的取值。所述第一数据方可以获得多项式中各个数据项取值的份额。具体过程可以参见前面实施例中的步骤S15。
步骤S25:基于数据项取值的份额,确定所述多项式取值的份额。
所述第一数据方可以将所述多项式中各个数据项取值的份额相加,得到所述多项式取值的份额。具体过程可以参见前面实施例中的步骤S17。
本实施例的数据交互方法,第一数据方可以利用秘密分享算法,在不泄漏自身所拥有业务数据的份额的前提下,以并行的方式与合作方秘密分享多项式中各个数据项的取值,减少了与第二数据方之间的交互次数,从而减少了秘密分享过程中由于进行网络交 互所占用的时间,提高了多项式取值的计算效率。
基于同样的发明构思,本说明书还提供一种数据交互方法的另一个实施例。该实施例以第二数据方为执行主体。所述第二数据方可以拥有业务数据的一份份额。请参阅图3,该实施例可以包括以下步骤。
步骤S31:基于自身拥有的业务数据的份额,确定目标因数的取值,所述目标因数包括多项式的数据项中除目标变量的指数项因数以外的其它因数,所述目标变量为多项式中与合作方拥有的业务数据的份额相关联的变量。
关于所述目标因数的介绍可以参见前面实施例中有关第二因数的介绍。所述第二数据方可以基于自身拥有的业务数据的份额,计算多项式中数据项的目标因数的取值。具体过程可以参见前面实施例中的步骤S13。
步骤S33:基于目标因数的取值,以并行的方式与合作方秘密分享多项式中各个数据项的取值,得到各个数据项取值的份额。
所述合作方可以理解为与所述第二数据方进行协作确定多项式取值的数据方,具体可以为前面的第一数据方。所述第二数据方可以基于目标因数的取值,以并行的方式秘密分享多项式中各个数据项的取值。所述第二数据方可以获得多项式中各个数据项取值的份额。具体过程可以参见前面实施例中的步骤S15。
步骤S35:基于数据项取值的份额,确定所述多项式取值的份额。
所述第二数据方可以将所述多项式中各个数据项取值的份额相加,得到所述多项式取值的份额。具体过程可以参见前面实施例中的步骤S19。
本实施例的数据交互方法,第二数据方可以利用秘密分享算法,在不泄漏自身所拥有业务数据的份额的前提下,以并行的方式与合作方秘密分享多项式中各个数据项的取值,减少了与第一数据方之间的交互次数,从而减少了秘密分享过程中由于进行网络交互所占用的时间,提高了多项式取值的计算效率。
基于同样的发明构思,本说明书还提供一种数据交互装置的实施例。请参阅图4,该实施例可以设置于第一数据方,具体可以包括以下单元。
第一确定单元41,用于基于自身拥有的业务数据的份额,确定目标因数的取值,所述目标因数为多项式的数据项中目标变量的指数项因数,所述目标变量为多项式中与所述份额相关联的变量;
秘密分享单元43,用于基于目标因数的取值,以并行的方式与合作方秘密分享多项式中各个数据项的取值,得到各个数据项取值的份额;
第二确定单元45,用于基于数据项取值的份额,确定所述多项式取值的份额。
基于同样的发明构思,本说明书还提供一种数据交互装置的实施例。请参阅图5,该实施例可以设置于第二数据方,具体可以包括以下单元。
第一确定单元51,用于基于自身拥有的业务数据的份额,确定目标因数的取值,所述目标因数包括多项式的数据项中除目标变量的指数项因数以外的其它因数,所述目标变量为多项式中与合作方拥有的业务数据的份额相关联的变量;
秘密分享单元53,用于基于目标因数的取值,以并行的方式与合作方秘密分享多项式中各个数据项的取值,得到各个数据项取值的份额;
第二确定单元55,用于基于数据项取值的份额,确定所述多项式取值的份额。
下面介绍本说明书电子设备的一个实施例。图6是该实施例中一种电子设备的硬件结构示意图。如图6所示,所述电子设备可以包括一个或多个(图中仅示出一个)处理器、存储器和传输模块。当然,本领域普通技术人员可以理解,图6所示的硬件结构仅为示意,其并不对上述电子设备的硬件结构造成限定。在实际中所述电子设备还可以包括比图6所示更多或者更少的组件单元;或者,具有与图6所示不同的配置。
所述存储器可以包括高速随机存储器;或者,还可以包括非易失性存储器,例如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。当然,所述存储器还可以包括远程设置的网络存储器。所述远程设置的网络存储器可以通过诸如互联网、企业内部网、局域网、移动通信网等网络连接至所述电子设备。所述存储器可以用于存储应用软件的程序指令或模块,例如本说明书图2所对应实施例的程序指令或模块;和/或,本说明书图3所对应实施例的程序指令或模块。
所述处理器可以按任何适当的方式实现。例如,所述处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。所述处理器可以读取并执行所述存储器中的程序指令或模块。
所述传输模块可以用于经由网络进行数据传输,例如经由诸如互联网、企业内部网、局域网、移动通信网等网络进行数据传输。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其它实施例的不同之处。尤其,对于装置实施例和电子设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。另外,可以理解的是,本领域技术人员在阅读本说明书文件之后,可以无需创造性劳动想到将本说明书列举的部分或全部实施例进行任意组合,这些组合也在本说明书公开和保护的范围内。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable Gate Array,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片2。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如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)等,目前最普遍使用的是VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)与Verilog2。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
虽然通过实施例描绘了本说明书,本领域普通技术人员知道,本说明书有许多变形和变化而不脱离本说明书的精神,希望所附的权利要求包括这些变形和变化而不脱离本说明书的精神。

Claims (14)

  1. 一种数据交互方法,包括:
    第一数据方基于业务数据的第一份额,确定第一因数的取值,所述第一因数为多项式的数据项中目标变量的指数项因数,所述目标变量为多项式中与所述第一份额相关联的变量;
    第二数据方基于业务数据的第二份额,确定第二因数的取值,所述第二因数包括多项式的数据项中除所述第一因数以外的其它因数;
    第一数据方基于第一因数的取值,第二数据方基于第二因数的取值,以并行的方式秘密分享多项式中各个数据项的取值,第一数据方获得各个数据项取值的第一份额,第二数据方获得各个数据项取值的第二份额;
    第一数据方基于数据项取值的第一份额,确定所述多项式取值的第一份额;
    第二数据方基于数据项取值的第二份额,确定所述多项式取值的第二份额。
  2. 如权利要求1所述的方法,该方法应用于多方安全计算领域;
    所述多项式用于代替激活函数构建数据处理模型;
    业务数据的第一份额和第二份额的和等于该业务数据;
    数据项的第一因数和第二因数的乘积等于该数据项;
    数据项取值的第一份额和第二份额的和等于该数据项的取值;
    多项式取值的第一份额和第二份额的和等于多项式的取值;
    所述多项式包括多个数据项,不同数据项中目标变量的次数不同。
  3. 一种数据交互方法,应用于第一数据方,包括:
    基于自身拥有的业务数据的份额,确定目标因数的取值,所述目标因数为多项式的数据项中目标变量的指数项因数,所述目标变量为多项式中与所述份额相关联的变量;
    基于目标因数的取值,以并行的方式与合作方秘密分享多项式中各个数据项的取值,得到各个数据项取值的份额;
    基于数据项取值的份额,确定所述多项式取值的份额。
  4. 如权利要求3所述的方法,该方法应用于多方安全计算领域;
    所述多项式用于代替激活函数构建数据处理模型;
    所述多项式包括多个数据项,不同数据项中目标变量的次数不同。
  5. 如权利要求3所述的方法,所述基于目标因数的取值,以并行的方式与合作方秘密分享多项式中各个数据项的取值,包括:
    基于所述多项式中各个数据项的目标因数的取值,构建因数取值向量;
    基于所述因数取值向量,与合作方秘密分享多项式中各个数据项的取值。
  6. 如权利要求3所述的方法,所述确定所述多项式取值的份额,包括:
    将所述多项式中各个数据项的取值的份额相加,得到所述多项式取值的份额。
  7. 一种数据交互装置,设置于第一数据方,包括:
    第一确定单元,用于基于自身拥有的业务数据的份额,确定目标因数的取值,所述目标因数为多项式的数据项中目标变量的指数项因数,所述目标变量为多项式中与所述份额相关联的变量;
    秘密分享单元,用于基于目标因数的取值,以并行的方式与合作方秘密分享多项式中各个数据项的取值,得到各个数据项取值的份额;
    第二确定单元,用于基于数据项取值的份额,确定所述多项式取值的份额。
  8. 一种电子设备,包括:
    存储器,用于存储计算机指令;
    处理器,用于执行所述计算机指令以实现如权利要求3-6中任一项所述的方法步骤。
  9. 一种数据交互方法,应用于第二数据方,包括:
    基于自身拥有的业务数据的份额,确定目标因数的取值,所述目标因数包括多项式的数据项中除目标变量的指数项因数以外的其它因数,所述目标变量为多项式中与合作方拥有的业务数据的份额相关联的变量;
    基于目标因数的取值,以并行的方式与合作方秘密分享多项式中各个数据项的取值,得到各个数据项取值的份额;
    基于数据项取值的份额,确定所述多项式取值的份额。
  10. 如权利要求9所述的方法,该方法应用于多方安全计算领域;
    所述多项式用于代替激活函数构建数据处理模型;
    所述多项式包括多个数据项,不同数据项中目标变量的次数不同。
  11. 如权利要求9所述的方法,所述基于目标因数的取值,以并行的方式与合作方秘密分享多项式中各个数据项的取值,包括:
    基于所述多项式中各个数据项的目标因数的取值,构建因数取值向量;
    基于所述因数取值向量,与合作方秘密分享多项式中各个数据项的取值。
  12. 如权利要求9所述的方法,所述确定所述多项式取值的份额,包括:
    将所述多项式中各个数据项的取值的份额相加,得到所述多项式取值的份额。
  13. 一种数据交互装置,设置于第二数据方,包括:
    第一确定单元,用于基于自身拥有的业务数据的份额,确定目标因数的取值,所述 目标因数包括多项式的数据项中除目标变量的指数项因数以外的其它因数,所述目标变量为多项式中与合作方拥有的业务数据的份额相关联的变量;
    秘密分享单元,用于基于目标因数的取值,以并行的方式与合作方秘密分享多项式中各个数据项的取值,得到各个数据项取值的份额;
    第二确定单元,用于基于数据项取值的份额,确定所述多项式取值的份额。
  14. 一种电子设备,包括:
    存储器,用于存储计算机指令;
    处理器,用于执行所述计算机指令以实现如权利要求9-12中任一项所述的方法步骤。
PCT/CN2020/071594 2019-07-01 2020-01-11 数据交互方法、装置和电子设备 WO2021000575A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/792,070 US10873452B1 (en) 2019-07-01 2020-02-14 Secret sharing data exchange for generating a data processing model

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910583541.4 2019-07-01
CN201910583541.4A CN110457936B (zh) 2019-07-01 2019-07-01 数据交互方法、装置和电子设备

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/792,070 Continuation US10873452B1 (en) 2019-07-01 2020-02-14 Secret sharing data exchange for generating a data processing model

Publications (1)

Publication Number Publication Date
WO2021000575A1 true WO2021000575A1 (zh) 2021-01-07

Family

ID=68481874

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/071594 WO2021000575A1 (zh) 2019-07-01 2020-01-11 数据交互方法、装置和电子设备

Country Status (4)

Country Link
US (1) US10873452B1 (zh)
CN (1) CN110457936B (zh)
TW (1) TWI740375B (zh)
WO (1) WO2021000575A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110457936B (zh) 2019-07-01 2020-08-14 阿里巴巴集团控股有限公司 数据交互方法、装置和电子设备
CN112860790B (zh) * 2021-01-14 2023-05-30 华控清交信息科技(北京)有限公司 数据管理方法、系统、装置
CN112990260B (zh) * 2021-02-05 2022-04-26 支付宝(杭州)信息技术有限公司 一种基于多方安全计算的模型评估方法和系统
CN113315631B (zh) * 2021-06-09 2021-12-21 华控清交信息科技(北京)有限公司 一种数据处理方法、装置和用于数据处理的装置
US11997197B1 (en) * 2023-06-29 2024-05-28 Cyberark Software Ltd. Push architecture for secure provision of secrets

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120151205A1 (en) * 2010-12-08 2012-06-14 Microsoft Corporation Polynomial evaluation delegation
CN106452745A (zh) * 2016-09-27 2017-02-22 中国农业大学 一种秘密数据共享的验证方法及装置
CN106452737A (zh) * 2010-08-11 2017-02-22 安全第公司 用于安全多租户数据存储的系统和方法
CN110457936A (zh) * 2019-07-01 2019-11-15 阿里巴巴集团控股有限公司 数据交互方法、装置和电子设备

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101192928B (zh) * 2006-12-01 2010-09-29 华为技术有限公司 移动自组织网络的认证方法和系统
JP4304215B2 (ja) * 2007-03-23 2009-07-29 株式会社東芝 秘密分散装置、方法及びプログラム
US8077862B2 (en) * 2007-10-29 2011-12-13 Red Hat, Inc. Sharing a secret using polynomials
US20150372808A1 (en) * 2014-06-18 2015-12-24 Palo Alto Research Center Incorporated Private and distributed computation of probability density functions
AU2015296901B2 (en) * 2014-08-01 2019-10-10 Commonwealth Scientific And Industrial Research Organisation Generating shares of secret data
CN104580174B (zh) * 2014-12-26 2018-03-20 中国科学院信息工程研究所 一种防止恶意服务器攻击的敏感数据计算外包服务方法
US9813234B2 (en) * 2015-05-11 2017-11-07 The United States of America, as represented by the Secretery of the Air Force Transferable multiparty computation
CN105049208B (zh) * 2015-06-15 2018-04-20 浙江工商大学 基于双重困难的数据加密方法
JP6006842B1 (ja) * 2015-07-22 2016-10-12 日本電信電話株式会社 秘密計算装置、その方法、およびプログラム
US20170288870A1 (en) * 2016-04-05 2017-10-05 Google Inc. Methods and systems of securing and retrieving secret information
CN106453285B (zh) * 2016-09-27 2019-07-23 中国农业大学 一种秘密数据共享的验证方法及装置
JP2018054841A (ja) * 2016-09-28 2018-04-05 株式会社リコー データ生成装置、データ生成方法、プログラム及びデータ記録システム
US11080393B2 (en) * 2016-09-30 2021-08-03 Nec Corporation Secure computation system, secure computation apparatus, secure computation method, and secure computation program
EP3602422B1 (en) * 2017-03-22 2022-03-16 Visa International Service Association Privacy-preserving machine learning
US20180373882A1 (en) * 2017-06-23 2018-12-27 Thijs Veugen Privacy preserving computation protocol for data analytics
US10910087B2 (en) * 2017-06-27 2021-02-02 Hyunghoon Cho Secure secret-sharing-based crowdsourcing for large-scale association studies of genomic and phenotypic data
US11456862B2 (en) * 2017-07-05 2022-09-27 Nippon Telegraph And Telephone Corporation Secure computation system, secure computation apparatus, secure computation method, and recording medium
EP4325770A3 (en) * 2017-08-15 2024-04-24 nChain Licensing AG Threshold ecdsa for securing bitcoin wallet
WO2019048390A1 (en) * 2017-09-07 2019-03-14 Koninklijke Philips N.V. MULTI-PART CALCULATION SYSTEM FOR LEARNING A CLASSIFIER
CN107508904B (zh) * 2017-09-08 2021-03-23 创新先进技术有限公司 资源处理方法及装置
US11436471B2 (en) * 2017-10-13 2022-09-06 Panasonic Intellectual Property Corporation Of America Prediction model sharing method and prediction model sharing system
US11606203B2 (en) * 2017-12-14 2023-03-14 Robert Bosch Gmbh Method for faster secure multiparty inner product with SPDZ
EP3506547A1 (en) * 2017-12-28 2019-07-03 Flytxt B.V. Providing security against user collusion in data analytics using random group selection
WO2019133858A1 (en) * 2017-12-29 2019-07-04 Bonnie Berger Leighton Realizing private and practical pharmacological collaboration
CN109361513B (zh) * 2018-11-15 2021-05-28 桂林电子科技大学 一种针对Shamir秘密共享的用户权重分配方法
CN109787767B (zh) * 2018-11-30 2022-03-15 晟安信息技术有限公司 Sm2协同数字签名方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106452737A (zh) * 2010-08-11 2017-02-22 安全第公司 用于安全多租户数据存储的系统和方法
US20120151205A1 (en) * 2010-12-08 2012-06-14 Microsoft Corporation Polynomial evaluation delegation
CN106452745A (zh) * 2016-09-27 2017-02-22 中国农业大学 一种秘密数据共享的验证方法及装置
CN110457936A (zh) * 2019-07-01 2019-11-15 阿里巴巴集团控股有限公司 数据交互方法、装置和电子设备

Also Published As

Publication number Publication date
CN110457936B (zh) 2020-08-14
TWI740375B (zh) 2021-09-21
US20210006392A1 (en) 2021-01-07
US10873452B1 (en) 2020-12-22
CN110457936A (zh) 2019-11-15
TW202103035A (zh) 2021-01-16

Similar Documents

Publication Publication Date Title
WO2021000575A1 (zh) 数据交互方法、装置和电子设备
TWI761778B (zh) 模型參數確定方法、裝置和電子設備
TWI730622B (zh) 資料處理方法、裝置和電子設備
CN110569227B (zh) 模型参数确定方法、装置和电子设备
TWI729698B (zh) 資料處理方法、裝置和電子設備
WO2020233137A1 (zh) 损失函数取值的确定方法、装置和电子设备
TW202103034A (zh) 資料處理方法、裝置和電子設備
CN110555525B (zh) 模型参数确定方法、装置和电子设备
TWI686712B (zh) 基於混淆電路的數據統計方法、裝置以及設備
TWI717221B (zh) 模型參數確定方法、裝置和電子設備
TWI737164B (zh) 資料互動方法、裝置、伺服器和電子設備
WO2020220744A1 (zh) 基于区块链的数据处理方法、装置和区块链节点
CN111967035B (zh) 模型训练方法、装置和电子设备
TWI686758B (zh) 資料請求處理、詢問消息處理方法、裝置以及設備
CN112507323A (zh) 基于单向网络的模型训练方法、装置和计算设备
CN112511361B (zh) 模型训练方法、装置和计算设备
US10924273B2 (en) Data exchange for multi-party computation
TWI704469B (zh) 一種資料統計方法和裝置
TW202103151A (zh) 資料處理方法、裝置和電子設備
CN111460514B (zh) 数据匹配方法、装置和电子设备
CN111460515B (zh) 数据匹配方法、装置和电子设备
WO2021027598A1 (zh) 模型参数确定方法、装置和电子设备

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20835366

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20835366

Country of ref document: EP

Kind code of ref document: A1