CN110765473A - Data processing method, data processing device, computer equipment and storage medium - Google Patents

Data processing method, data processing device, computer equipment and storage medium Download PDF

Info

Publication number
CN110765473A
CN110765473A CN201910962649.4A CN201910962649A CN110765473A CN 110765473 A CN110765473 A CN 110765473A CN 201910962649 A CN201910962649 A CN 201910962649A CN 110765473 A CN110765473 A CN 110765473A
Authority
CN
China
Prior art keywords
data
ciphertext
preset
processing
client
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
CN201910962649.4A
Other languages
Chinese (zh)
Inventor
唐虹刚
李升林
谢翔
孙立林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Matrix Element Technology (shenzhen) Co Ltd
Original Assignee
Matrix Element Technology (shenzhen) Co Ltd
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 Matrix Element Technology (shenzhen) Co Ltd filed Critical Matrix Element Technology (shenzhen) Co Ltd
Priority to CN201910962649.4A priority Critical patent/CN110765473A/en
Publication of CN110765473A publication Critical patent/CN110765473A/en
Priority to PCT/CN2020/076141 priority patent/WO2021068445A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/602Providing cryptographic facilities or services
    • 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
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

Abstract

The application provides a data processing method, a data processing device, computer equipment and a storage medium, wherein the method comprises the following steps: acquiring target data, and encrypting the target data by using a homomorphic encryption algorithm to obtain ciphertext data; sending a data processing request to a server, wherein the data processing request carries ciphertext data; according to a preset MPC protocol, a server is matched to call a preset model to process ciphertext data to obtain a ciphertext processing result, wherein the preset model is compatible with the preset MPC protocol and is used for performing preset processing on the ciphertext data under the condition of data encryption; and acquiring a ciphertext processing result. According to the scheme, the data can be processed under the condition that the input data is the ciphertext data, and the data privacy can be effectively protected.

Description

Data processing method, data processing device, computer equipment and storage medium
Technical Field
The present application relates to the field of artificial intelligence technologies, and in particular, to a data processing method, an apparatus, a computer device, and a storage medium.
Background
In some application scenarios, the server may process the target data sent by the client according to the trained deep learning model to obtain a processing result. For example, the server may perform a diagnosis process on medical image data sent by the client according to a trained diagnosis model, thereby obtaining a diagnosis result. The medical image data may often relate to user privacy, and the method is prone to leakage of user privacy data in the specific data processing process.
Therefore, a method for processing data while protecting privacy of user data is needed.
Disclosure of Invention
The embodiment of the application provides a data processing method, a data processing device, computer equipment and a storage medium, and aims to provide a data processing method capable of protecting user privacy.
The embodiment of the application provides a data processing method, which comprises the following steps: acquiring target data, and encrypting the target data by using a homomorphic encryption algorithm to obtain ciphertext data; sending a data processing request to a server, wherein the data processing request carries ciphertext data; according to a preset MPC protocol, a server is matched to call a preset model to process ciphertext data to obtain a ciphertext processing result, wherein the preset model is compatible with the preset MPC protocol and is used for performing preset processing on the ciphertext data under the condition of data encryption; and acquiring a ciphertext processing result.
In one embodiment, after obtaining the ciphertext processing result, the method further includes: and decrypting the ciphertext processing result to obtain a plaintext processing result.
In one embodiment, after decrypting the ciphertext processing result to obtain a plaintext processing result, the method further includes: obtaining a verification result of the plaintext processing result, wherein the verification result is used for indicating whether the plaintext processing result is correct or not; and sending the ciphertext processing result and the verification result to a block chain network for uplink storage.
In one embodiment, before/simultaneously with/after sending the data processing request to the server, the method further comprises: sending the resource data to a contract account of the block chain network; correspondingly, the sending of the ciphertext processing result and the verification result to the block chain network for uplink storage includes: and sending the ciphertext processing result and the verification result to the blockchain network for uplink storage, so that the blockchain network sends the resource data in the contract account to the account of the server under the condition that the verification result is determined to be correct.
In one embodiment, the target data includes at least one of: face image data, medical image data and human body action data.
In one embodiment, when the target data includes medical image data, the preset process includes performing a diagnostic process on the medical image data.
The embodiment of the application provides a data processing method, which comprises the following steps: receiving a data processing request sent by a client, wherein the data processing request carries ciphertext data, and the ciphertext data is generated by encrypting target data by the client by using a homomorphic encryption algorithm; responding to a data processing request, calling a preset model according to a preset MPC protocol to process ciphertext data in cooperation with a client to obtain a ciphertext processing result, wherein the preset model is compatible with the preset MPC protocol and is used for performing preset processing on the ciphertext data under the condition of data encryption; and sending the ciphertext processing result to the client.
In one embodiment, after obtaining the ciphertext processing result, the method further includes: and uploading transaction event data corresponding to the data processing request to the block chain network for uplink storage.
In one embodiment, invoking the preset model according to a preset MPC protocol to cooperate with the client to process the ciphertext data to obtain a ciphertext processing result, includes: performing privacy convolution operation on the ciphertext data according to a preset MPC protocol and a convolution operator in a preset model to obtain ciphertext characteristic data; activating the ciphertext characteristic data by matching with the client according to a preset MPC protocol and an activation operator in a preset model to obtain first activation data and second activation data; performing pooling operation on the first activation data and the second activation data by matching with the client according to a preset MPC protocol and a pooling operator in a preset model to obtain first pooling data and second pooling data; and performing full connection operation on the first pooled data and the second pooled data by matching with the client according to a preset MPC protocol and a full connection operator in a preset model to obtain ciphertext processing data.
An embodiment of the present application further provides a data processing method, including: the client acquires target data, and encrypts the target data by using a homomorphic encryption algorithm to obtain ciphertext data; the method comprises the steps that a client sends a data processing request to a server, wherein the data processing request carries ciphertext data; responding to a data processing request, calling a preset model by the server and the client according to a preset MPC protocol to process ciphertext data to obtain a ciphertext processing result, wherein the preset model is compatible with the preset MPC protocol and is used for performing preset processing on the ciphertext data under the condition of data encryption; the server sends the ciphertext processing result to the client; and the client decrypts the ciphertext processing result to obtain a plaintext processing result.
An embodiment of the present application further provides a data processing apparatus, including: the encryption module is used for acquiring target data and encrypting the target data by utilizing a homomorphic encryption algorithm to obtain ciphertext data; the sending module is used for sending a data processing request to the server, wherein the data processing request carries ciphertext data; the processing module is used for calling a preset model to process the ciphertext data by matching with the server according to a preset MPC protocol to obtain a ciphertext processing result, wherein the preset model is compatible with the preset MPC protocol and is used for performing preset processing on the ciphertext data under the condition of data encryption; and the obtaining module is used for obtaining the ciphertext processing result.
The embodiment of the present application further provides a computer device, which includes a processor and a memory for storing processor-executable instructions, where the processor executes the instructions to implement the steps of the data processing method described in any of the above embodiments.
Embodiments of the present application further provide a computer-readable storage medium, on which computer instructions are stored, and when executed, the instructions implement the steps of the data processing method described in any of the above embodiments.
In the embodiment of the application, a data processing method is provided, in which a client encrypts obtained target data by using a homomorphic encryption algorithm to obtain ciphertext data, sends a data processing request carrying the ciphertext data to a server, and calls a preset model to process the ciphertext data by cooperating with the server according to a preset MPC protocol to obtain a ciphertext processing result, wherein the preset model is compatible with the preset MPC protocol and is used for performing preset processing on the ciphertext data under the condition of data encryption to obtain the ciphertext processing result. In the scheme, the corresponding ciphertext data is obtained by carrying out homomorphic encryption on the target data, so that the specific content of the target data is prevented from being leaked. Further, the client side is matched with the server to call a preset model compatible with the preset MPC protocol to perform specific preset processing on the ciphertext data according to the preset MPC protocol, so as to obtain a ciphertext processing result of the target data. The target data can be specifically processed in the encrypted state, so that the data privacy is effectively protected.
Drawings
The accompanying drawings, which are included to provide a further understanding of the application, are incorporated in and constitute a part of this application, and are not intended to limit the application. In the drawings:
FIG. 1 is a schematic diagram illustrating an application scenario of a data processing method in some embodiments of the present application;
FIG. 2 illustrates a flow diagram of a data processing method in some embodiments of the present application;
FIG. 3 illustrates a flow diagram of a data processing method in some embodiments of the present application;
FIG. 4 illustrates a flow diagram of a data processing method in some embodiments of the present application;
FIG. 5 illustrates a sequence diagram of a data processing method in some embodiments of the present application;
FIG. 6 shows a schematic diagram of a data processing apparatus in some embodiments of the present application;
FIG. 7 shows a schematic diagram of a data processing apparatus in some embodiments of the present application;
FIG. 8 illustrates a schematic diagram of a computer device in some embodiments of the present application.
Detailed Description
The principles and spirit of the present application will be described with reference to a number of exemplary embodiments. It should be understood that these embodiments are given solely for the purpose of enabling those skilled in the art to better understand and to practice the present application, and are not intended to limit the scope of the present application in any way. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
As will be appreciated by one skilled in the art, embodiments of the present application may be embodied as a system, apparatus, device, method or computer program product. Accordingly, the present disclosure may be embodied in the form of: entirely hardware, entirely software (including firmware, resident software, micro-code, etc.), or a combination of hardware and software.
Some embodiments of the present application provide a data processing method, and fig. 1 illustrates an application scenario diagram of the data processing method in an embodiment of the present application. As shown in fig. 1, the client may obtain target data. Wherein the target data may be data to be processed. For example, the target data may include, but is not limited to, at least one of: face image data, medical image data, human body action data, and the like. The client can encrypt the obtained target data by using a homomorphic encryption algorithm to obtain ciphertext data. Wherein, the data encrypted by the homomorphic encryption algorithm is processed to obtain an output, and the output is decrypted, and the result is the same as the output result obtained by processing the unencrypted original data by the same method.
The client may send a data processing request to the server. The data processing request may carry ciphertext data corresponding to the target data. The server may call a preset model according to a preset MPC (Secure Multi-Party computing) protocol in response to the data processing request, so as to cooperate with the client to process the ciphertext data, thereby obtaining a ciphertext processing result. The preset model is at the server side. The preset model can be compatible with a preset MPC protocol and is used for presetting ciphertext data under the condition of data encryption. In other words, the predetermined MPC protocol may be used to implement operations in the predetermined model when the input is ciphertext data, so as to complete the predetermined processing on the ciphertext data. The preset model may include a trained preset deep learning model. For example, the preset model may be a trained convolutional neural network model. In the case where the target data is medical image data, the predetermined processing may include performing diagnostic processing on ciphertext data obtained by homomorphically encrypting the medical image data. In the case where the target data is face image data, the preset processing may include face recognition processing performed on ciphertext data obtained by homomorphic encryption of the face image data. In the case where the target data is human motion data, the preset processing may include performing motion recognition processing on ciphertext data obtained by homomorphically encrypting the human motion data.
After obtaining the ciphertext processing result, the server may send the ciphertext processing result to the client. The client stores a public key and a private key which are encrypted in a homomorphic way. The public key is used for homomorphic encryption of the target data to obtain ciphertext data. The private key is used for decrypting the received ciphertext processing result to obtain a plaintext processing result.
After the ciphertext processing result is obtained, the server may send the transaction event data corresponding to the data processing request to the blockchain network for uplink storage, so as to facilitate subsequent tracing and query. After the ue obtains the ciphertext processing result, the ue may send the obtained ciphertext processing result to the blockchain network for uplink storage.
A specific application scenario is described as an example. The client may be a client of a medical institution. The client may acquire medical image data (e.g., X-ray film data) of a patient. The client can encrypt the X-ray film data by using a homomorphic encryption algorithm to obtain ciphertext X-ray film data. The client sends a diagnosis request to the medical optical sheet diagnosis server. Wherein, the diagnosis request carries the data of the ciphertext X-ray film. The server may be a medical light sheet diagnosis server. And the medical optical film diagnosis server calls a preset deep learning model according to a preset MPC protocol to be matched with the client to carry out preset processing on the ciphertext X-ray film data, so that a ciphertext diagnosis result is obtained. And the medical optical sheet diagnosis server sends the ciphertext diagnosis result to the client. And the client decrypts the ciphertext diagnosis result to obtain a plaintext diagnosis result of the X-ray film data.
The client may be a desktop computer, a notebook, a mobile phone terminal, a PDA, or the like, and any device may be used as long as it can perform homomorphic encryption on target data and perform preset processing on ciphertext data in cooperation with a server, and the present formation of the client is not limited in this application. The server may be a single server, a server cluster, or a cloud server, as long as the device can perform the preset processing on the ciphertext data according to the preset MPC protocol and the preset model in cooperation with the client, and the specific composition forms the present application and is not limited.
Fig. 2 shows a flow chart of a method in some embodiments of the present application, which data processing method may be applied to a client. Although the present application provides method operational steps or apparatus configurations as illustrated in the following examples or figures, more or fewer operational steps or modular units may be included in the methods or apparatus based on conventional or non-inventive efforts. In the case of steps or structures which do not logically have the necessary cause and effect relationship, the execution sequence of the steps or the module structure of the apparatus is not limited to the execution sequence or the module structure described in the embodiments and shown in the drawings of the present application. When the described method or module structure is applied in an actual device or end product, the method or module structure according to the embodiments or shown in the drawings can be executed sequentially or executed in parallel (for example, in a parallel processor or multi-thread processing environment, or even in a distributed processing environment).
Specifically, as shown in fig. 2, a data processing method provided in some embodiments of the present application may include the following steps:
step S201, obtaining target data, and encrypting the target data by using a homomorphic encryption algorithm to obtain ciphertext data.
The client may obtain the target data. Wherein the target data is data to be processed. And the client encrypts the target data by using a homomorphic encryption algorithm to obtain ciphertext data. Specifically, the client may generate a public key and a private key by using a homomorphic encryption algorithm, and then encrypt the target data by using the public key to obtain ciphertext data.
Step S202, a data processing request is sent to the server, wherein the data processing request carries the ciphertext data.
The client may send a data processing request to the server. The data processing request carries ciphertext data. In other embodiments, the data processing request may also carry a public key generated by a homomorphic encryption algorithm.
And step S203, according to a preset MPC protocol, the server is matched to call a preset model to process the ciphertext data to obtain a ciphertext processing result, wherein the preset model is compatible with the preset MPC protocol and is used for performing preset processing on the ciphertext data under the condition of data encryption.
Step S204, a ciphertext processing result is obtained.
Specifically, the client may coordinate with the server to call the preset model to process the ciphertext data according to a preset MPC protocol, so as to obtain a ciphertext processing result. The preset model can be compatible with a preset MPC protocol. The preset model may be a trained deep learning model. The deep learning model can be obtained by training with a large amount of plaintext data. And converting the floating point type data in the trained deep learning model into integer type data for compatibility with a preset MPC protocol. In other words, the predetermined MPC protocol can be used to implement various operations in the predetermined model when the input is ciphertext data, so as to implement the predetermined processing on the ciphertext data. And obtaining a ciphertext processing result at the server. And the server sends the ciphertext processing result to the client.
In the scheme, the corresponding ciphertext data is obtained by carrying out homomorphic encryption on the target data, so that the specific content of the target data is prevented from being leaked. Further, the client side is matched with the server to call a preset model compatible with the preset MPC protocol to perform specific preset processing on the ciphertext data according to the preset MPC protocol, so as to obtain a ciphertext processing result of the target data. The target data can be specifically processed in the encrypted state, so that the data privacy is effectively protected.
In some embodiments of the present application, the target data may include, but is not limited to, at least one of: face image data, medical image data and human body action data. In some embodiments of the present application, when the target data includes medical image data, the preset process may include performing a diagnostic process on the medical image data. When the target data includes face image data, the preset process may include a face recognition process. When the target data includes human motion data, the preset processing includes motion recognition processing.
In some embodiments of the present application, after the client obtains the ciphertext processing result, the client may decrypt the ciphertext processing result according to a private key generated by a homomorphic encryption algorithm to obtain a plaintext processing result. Through the method, the plaintext processing result of the target data can be revealed at the client.
In some embodiments of the present application, after decrypting the ciphertext processing result to obtain a plaintext processing result, the method may further include: obtaining a verification result of the plaintext processing result, wherein the verification result is used for indicating whether the plaintext processing result is correct or not; and sending the ciphertext processing result and the verification result to a block chain network for uplink storage.
Specifically, after the client decrypts the ciphertext processing result to obtain a plaintext processing result, the client obtains a verification result of the plaintext processing result. The verification result may be obtained after the service personnel verifies the plaintext processing result. The verification result can also be obtained by reasoning after the application program in the client end processes the result according to the target data and the plaintext. The verification result is used for indicating whether the plaintext processing result is correct or not. And the client sends the verification result and the ciphertext processing result to the block chain network for cochain storage, so that subsequent inquiry, tracing, charging, evidence finding and the like are facilitated.
In some embodiments of the present application, before/simultaneously with/after sending the data processing request to the server, the method may further include: sending the resource data to a contract account of the block chain network; correspondingly, sending the ciphertext processing result and the verification result to the blockchain network for uplink storage may include: and sending the ciphertext processing result and the verification result to the blockchain network for uplink storage, so that the blockchain network sends the resource data in the contract account to the account of the server under the condition that the verification result is determined to be correct.
Specifically, the client may send resource data for data processing into a contract account of the blockchain network before/while/after the client sends a data processing request to the server. The resource data may be a fee, such as currency or bitcoin, to be paid for data processing. After the client sends the ciphertext processing result and the verification result to the blockchain network for uplink storage, the blockchain network determines whether the verification result is correct. And in the case that the verification result is determined to be correct, the blockchain network sends the resource data in the contract account to the account of the server. By the mode, the problem of charging and clearing of the service can be solved.
Some embodiments of the present application further provide a data processing method, where the data processing method may be applied to a server side. Fig. 3 shows a flowchart of a data processing method provided in an embodiment of the present application.
As shown in fig. 3, the data processing method may include the steps of:
step S301, receiving a data processing request sent by a client, wherein the data processing request carries ciphertext data, and the ciphertext data is generated by encrypting target data by the client through a homomorphic encryption algorithm.
Specifically, the client acquires target data, and encrypts the target data by using a homomorphic encryption algorithm to obtain ciphertext data. The client sends a data processing request to the server. Wherein the target data is data to be processed. And the client encrypts the target data by using a homomorphic encryption algorithm to obtain ciphertext data. Specifically, the client may generate a public key and a private key by using a homomorphic encryption algorithm, and then encrypt the target data by using the public key to obtain ciphertext data. The data processing request carries ciphertext data corresponding to the target data. In other embodiments, the data processing request may also carry a public key generated by a homomorphic encryption algorithm. And the server receives a data processing request sent by the client.
Step S302, responding to the data processing request, calling a preset model according to a preset MPC protocol to cooperate with the client to process the ciphertext data to obtain a ciphertext processing result, wherein the preset model is compatible with the preset MPC protocol and is used for performing preset processing on the ciphertext data under the condition of data encryption.
Step S303, sending the ciphertext processing result to the client.
Specifically, the server may call a preset model according to a preset MPC protocol in response to the received data processing request, so as to cooperate with the client to process the ciphertext data, thereby obtaining a ciphertext processing result. The preset model can be compatible with a preset MPC protocol. The preset model may be a trained deep learning model. The deep learning model can be obtained by training with a large amount of plaintext data. And converting the floating point type data in the trained deep learning model into integer type data for compatibility with a preset MPC protocol. In other words, the preset MPC protocol may be used to implement various operations in the preset model under the condition that the input is ciphertext data, thereby implementing preset processing on the ciphertext data and obtaining a ciphertext processing result at the server side.
After the server and the client cooperate to obtain the ciphertext processing result, the server may send the ciphertext processing result to the client. In some embodiments, the client may decrypt the ciphertext processing result according to a private key obtained by the homomorphic encryption algorithm to obtain a plaintext processing result of the target data.
In the scheme, the corresponding ciphertext data is obtained by carrying out homomorphic encryption on the target data, so that the specific content of the target data is prevented from being leaked. Further, the client side is matched with the server to call a preset model compatible with the preset MPC protocol to perform specific preset processing on the ciphertext data according to the preset MPC protocol, so as to obtain a ciphertext processing result of the target data. The target data can be specifically processed in the encrypted state, so that the data privacy is effectively protected.
In some embodiments of the present application, the target data may include, but is not limited to, at least one of: face image data, medical image data and human body action data. In some embodiments of the present application, when the target data includes medical image data, the preset process may include performing a diagnostic process on the medical image data. When the target data includes face image data, the preset process may include a face recognition process. When the target data includes human motion data, the preset processing includes motion recognition processing.
In some embodiments of the present application, after obtaining the ciphertext processing result, the method may further include: and uploading transaction event data corresponding to the data processing request to the block chain network for uplink storage.
Specifically, after the server and the client cooperate to complete the processing of the ciphertext data, the transaction event data corresponding to the data processing request may be uploaded to the blockchain network for uplink storage. Wherein the transaction event data may include data relating to calculations performed by the server in response to the data processing request. By the mode, the transaction event data is uploaded to the block chain network for uplink storage, and subsequent query backtracking is facilitated.
In some embodiments of the present application, invoking a preset model according to a preset MPC protocol to cooperate with a client to process ciphertext data to obtain a ciphertext processing result, where the invoking includes: performing privacy convolution operation on the ciphertext data according to a preset MPC protocol and a convolution operator in a preset model to obtain ciphertext characteristic data; activating the ciphertext characteristic data by matching with the client according to a preset MPC protocol and an activation operator in a preset model to obtain first activation data and second activation data; performing pooling operation on the first activation data and the second activation data by matching with the client according to a preset MPC protocol and a pooling operator in a preset model to obtain first pooling data and second pooling data; and performing full connection operation on the first pooled data and the second pooled data by matching with the client according to a preset MPC protocol and a full connection operator in a preset model to obtain ciphertext processing data.
The preset model may be a trained convolutional neural network model. The convolutional neural network model may generally include: the device comprises a convolution layer, an excitation layer, a pooling layer and a full-connection layer. Wherein the number of each layer may be one or more. Wherein the convolutional layer may comprise a convolution operator for extracting features of the data. The excitation layer may include an activation operator for adding non-linear factors to simulate more subtle changes. The pooling layer may include a pooling operator for compressing the input features, so as to reduce the feature map and simplify the network computation complexity, and to compress the features and extract the main features. The full-connection layer may include a full-connection operator for connecting all the features and sending the output value to the classifier to obtain a processing result.
Specifically, after receiving a data processing request sent by a client, a server calls a convolution operator in a preset model according to a preset MPC protocol to perform privacy convolution operation on ciphertext data, so as to obtain ciphertext feature data. The plaintext feature data obtained by decrypting the ciphertext feature data obtained by performing the privacy convolution operation on the ciphertext data is the same as the feature data obtained by directly performing the plaintext convolution operation on the plaintext data.
The homomorphic encryption allows the ciphertext to be operated, the corresponding operation is mapped to the plaintext, and the homomorphic encryption can be detailed into the following two homomorphic encryption algorithms:
1) homomorphic addition
C1 ═ Enc (m1), C2 ═ Enc (m2), then C1 · C2 ═ Enc (m1+ m 2);
2) homomorphic multiplication
Given C1 ═ Enc (m1), t1, then (C1)t1Enc (m1 · t1), which can also be derived here by homomorphic addition.
And the convolution operation on the plaintext data is to multiply the plaintext data matrix and corresponding elements in the convolution operator matrix and then sum the multiplied plaintext data matrix and the corresponding elements. The convolution operation on the ciphertext data is obtained by multiplying the power of the corresponding element of the convolution operator matrix of the elements in the ciphertext data matrix. Exemplarily, A3×3As a matrix of plaintext data, C3×3Is a convolution operator matrix; a is3×3Is a ciphertext data matrix. The plaintext convolution operation and the privacy convolution operation are as follows:
Figure BDA0002229447400000101
Figure BDA0002229447400000102
after the ciphertext feature data are obtained, the server can call an activation operator in a preset model according to a preset MPC protocol, and the activation operator is matched with the client to perform activation operation on the ciphertext feature data to obtain first activation data and second activation data. The first activation data is held by the server side, and the second activation data is held by the client side. Specifically, the server side executes homomorphic encryption-secret-conversion sharing operation on the ciphertext feature data to obtain first ciphertext data and second ciphertext data. And the server sends the first ciphertext data to the client. And the client decrypts the first ciphertext data to obtain first plaintext data. The server converts the activation operators into Boolean circuits and obtains truth tables of each circuit gate of the Boolean circuits. The server then selects two evenly distributed strings for each gate as labels, representing 0 or 1, respectively. And then, the server randomly generates a first random number and generates a first label according to the second ciphertext data and the first random number. And after replacing the truth table with the first label as an input, the server obtains a label table. For each Circuit gate, the server encrypts using the tag table, generating a first encrypted Circuit (GC). The server sends the first encryption circuit to the client. The client performs an inadvertent transmission (OT) on the first plaintext data to obtain the second tag. And the client decrypts the first encryption circuit according to the second label to obtain the activation data. The activation data also belongs to characteristic data, and is used for characterizing the characteristics after the nonlinear factors are added, so that more subtle characteristic changes can be simulated. Then, since the subsequent pooling operation is implemented by secure multiparty computing, secret sharing can be performed on the activation data, so that the first activation data is obtained at the server side and the second activation data is obtained at the client side. The activation data is a sum of the first activation data and the second activation data. Namely, the server and the client perform secure multi-party calculation on the ciphertext feature data according to a preset MPC protocol and an activation operator to obtain first activation data and second activation data.
After the first activation data are obtained at the server side and the second activation data are obtained at the client side, the server calls a pooling operator in a preset model according to a preset MPC protocol, and the pooling operator cooperates with the client side to perform pooling operation on the first activation data and the second activation data to obtain first pooling data and second pooling data. Wherein the first pooled data may be held by the server side. The second pooled data may be held by the client. Specifically, the server converts the pooling operator into a Boolean circuit. The server randomly generates a second random number. The server generates a third label according to the first activation function and the random number. And the server replaces the truth table of the Boolean circuit with the third label as input to obtain a label table. The server encrypts each gate of the boolean circuit using the tag table to generate a second encryption circuit. The server sends the second encryption circuit to the client. And the client terminal performs the careless transmission on the second activation data to obtain a fourth label. And the client decrypts the second encryption circuit by using the fourth label to obtain the pooled data. The pooled data also belongs to feature data, is feature data obtained by compressing features, and can represent main features. Then, since the subsequent full connection operation is realized through secure multiparty computation, secret sharing can be performed on the pooled data, so that the server side obtains the first pooled data, and the client side obtains the second pooled data. The pooled data is the sum of the first pooled data and the second pooled data. Namely, the server and the client can perform secure multi-party calculation on the first activation data and the second activation data according to a preset MPC protocol and a pooling operator to obtain the first pooling data and the second pooling data.
After the server obtains the first pooled data and the client obtains the second pooled data, the server performs a secret sharing to homomorphic encryption operation on the first pooled data, the client performs a secret sharing to homomorphic encryption operation on the second pooled data, and the server obtains the pooled data. The resulting pooled data is then panned into a one-dimensional array. And the server multiplies each element in the one-dimensional array by the weight value on the connecting line (namely, the element in the full-connection operator), adds the multiplied elements and outputs the multiplied elements to obtain a ciphertext processing result. Namely, the server side cooperates with the client side to perform full connection operation on the first pooled data and the second pooled data according to a preset MPC protocol and a full connection operator in a preset model, so as to obtain ciphertext processing data. And the server sends the obtained ciphertext processing result to the client. And the client decrypts the ciphertext processing result by using the private key of the homomorphic encryption algorithm to obtain a plaintext processing result of the target data.
In the above embodiment, the predetermined model includes a convolutional layer, a pooling layer, an excitation layer, and a full link layer as an example, but the present application is not limited thereto. The data processing method in the embodiment of the application is suitable for the condition that the preset model comprises a plurality of convolution layers, a plurality of pooling layers, a plurality of excitation layers or a plurality of full-connection layers.
In the data processing method of the embodiment, the server and the client call the convolution operator, the activation operator, the pooling operator and the full-link operator in the preset model to perform secure multi-party calculation on the ciphertext data according to the preset MPC protocol to obtain the ciphertext processing result of the ciphertext data, so that the ciphertext data is processed or inferred through the preset model under the condition that the ciphertext is input, and the data privacy of a user can be effectively protected.
Some embodiments of the present application further provide a data processing method. Fig. 4 shows a flowchart of a data processing method provided in an embodiment of the present application. As shown in fig. 4, the method may include:
step S401, the client acquires target data, and encrypts the target data by using a homomorphic encryption algorithm to obtain ciphertext data.
The client may obtain the target data. Wherein the target data is data to be processed. And the client encrypts the target data by using a homomorphic encryption algorithm to obtain ciphertext data. Specifically, the client may generate a public key and a private key by using a homomorphic encryption algorithm, and then encrypt the target data by using the public key to obtain ciphertext data.
Step S402, the client sends a data processing request to the server, wherein the data processing request carries the ciphertext data.
The client may send a data processing request to the server. The data processing request carries ciphertext data. In other embodiments, the data processing request may also carry a public key generated by a homomorphic encryption algorithm.
Step S403, in response to the data processing request, the server and the client call a preset model according to a preset MPC protocol to process the ciphertext data, so as to obtain a ciphertext processing result, where the preset model is compatible with the preset MPC protocol and is used to perform preset processing on the ciphertext data in the case of data encryption.
Specifically, the server may call a preset model according to a preset MPC protocol in response to the received data processing request, so as to cooperate with the client to process the ciphertext data, thereby obtaining a ciphertext processing result. The preset model can be compatible with a preset MPC protocol. The preset model may be a trained deep learning model. The deep learning model can be obtained by training with a large amount of plaintext data. And converting the floating point type data in the trained deep learning model into integer type data for compatibility with a preset MPC protocol. In other words, the preset MPC protocol may be used to implement various operations in the preset model under the condition that the input is ciphertext data, thereby implementing preset processing on the ciphertext data and obtaining a ciphertext processing result at the server side.
In step S404, the server transmits the ciphertext processing result to the client.
And S405, the client decrypts the ciphertext processing result to obtain a plaintext processing result of the target data.
After the server and the client cooperate to obtain the ciphertext processing result, the server may send the ciphertext processing result to the client. In some embodiments, the client may decrypt the ciphertext processing result according to a private key obtained by the homomorphic encryption algorithm to obtain a plaintext processing result of the target data.
In the scheme, the target data is homomorphic encrypted to obtain the ciphertext data, so that the ciphertext data can be conveniently and directly processed subsequently. The server calls the preset model according to the preset MPC protocol to cooperate with the client to process the ciphertext data to obtain a ciphertext processing result, so that the data can be processed under the condition that the input data is the ciphertext data, and the data privacy can be effectively protected.
In some embodiments of the present application, the target data may include, but is not limited to, at least one of: face image data, medical image data and human body action data. In some embodiments of the present application, when the target data includes medical image data, the preset process may include performing a diagnostic process on the medical image data. When the target data includes face image data, the preset process may include a face recognition process. When the target data includes human motion data, the preset processing includes motion recognition processing.
In some embodiments of the present application, after obtaining the ciphertext processing result, the method may further include: and the server uploads the transaction event data corresponding to the data processing request to the block chain network for uplink storage.
In some embodiments of the present application, the invoking, by the server, the preset model according to the preset MPC protocol to cooperate with the client to process the ciphertext data, so as to obtain a ciphertext processing result, where the invoking includes: performing privacy convolution operation on the ciphertext data according to a preset MPC protocol and a convolution operator in a preset model to obtain ciphertext characteristic data; activating the ciphertext characteristic data by matching with the client according to a preset MPC protocol and an activation operator in a preset model to obtain first activation data and second activation data; performing pooling operation on the first activation data and the second activation data by matching with the client according to a preset MPC protocol and a pooling operator in a preset model to obtain first pooling data and second pooling data; and performing full connection operation on the first pooled data and the second pooled data by matching with the client according to a preset MPC protocol and a full connection operator in a preset model to obtain ciphertext processing data.
In some embodiments of the present application, after the client decrypts the ciphertext processing result to obtain the plaintext processing result, the method may further include: the client side obtains a verification result of the plaintext processing result, wherein the verification result is used for indicating whether the plaintext processing result is correct or not; and the client sends the ciphertext processing result and the verification result to the block chain network for uplink storage.
In some embodiments of the present application, before/while/after the client sends the data processing request to the server, the method may further include: the client sends the resource data to a contract account of the block chain network; correspondingly, after the client sends the ciphertext processing result and the verification result to the blockchain network for uplink storage, the method may further include: the block chain network determines whether the verification result is correct; and in the case that the verification result is determined to be correct, the blockchain network sends the resource data in the contract account to the account of the server.
The above method is described below with reference to a specific example, however, it should be noted that the specific example is only for better describing the present application and is not to be construed as limiting the present application.
Fig. 5 shows a sequence diagram of a data processing method in this specific embodiment. As shown in fig. 5, the data processing method may include the steps of:
step 1, a client acquires target data, and encrypts the target data by using a homomorphic encryption algorithm to obtain ciphertext data corresponding to the target data;
step 2, the client sends a data processing request to the server, wherein the data processing request carries ciphertext data;
step 3, the client side mortises the expenses into a contract account of the block chain network;
step 4, the server calls a convolution operator in a preset model according to a preset MPC protocol to carry out privacy convolution operation on the ciphertext data to obtain ciphertext characteristic data;
step 5, the server and the client call an activation operator in a preset model according to a preset MPC protocol to perform safe multiparty calculation on the ciphertext feature data, obtain first activation data at the server, and obtain second activation data at the client;
step 6, the server and the client call a pooling operator in a preset model according to a preset MPC protocol to perform safe multiparty calculation on the first activation data and the second activation data, obtain the first pooling data at the server and obtain the second pooling data at the client;
step 7, the server and the client call a full connection operator in a preset model according to a preset MPC protocol to perform full connection operation on the first pooled data and the second pooled data, and a ciphertext processing result is obtained at the server;
step 8, the server sends the ciphertext processing result to the client;
step 9, the server sends the transaction event data corresponding to the data processing request to the block chain network for uplink storage;
step 10, the client decrypts the ciphertext processing result by using a private key of a homomorphic encryption algorithm to obtain a plaintext processing result of the target data;
step 11, the client side obtains a verification result, wherein the verification result is used for indicating whether the plaintext processing result of the target data is correct or not;
step 12, the client sends the plaintext processing result and the verification result to the block chain network for uplink storage;
step 13, the blockchain network determines whether the verification result is correct;
step 14, under the condition that the verification result is determined to be correct, the blockchain network transfers the charge in the contract account to the account of the server;
and step 15, in the case that the verification result is determined to be incorrect, transferring the charge in the contract account to the account of the client by the blockchain network.
In the data processing method in the above embodiment, the ciphertext data is obtained by homomorphic encrypting the target data, which is convenient for directly processing the ciphertext data subsequently. The server and the client call a convolution operator, an activation operator, a pooling operator and a full-link operator in the preset model according to the preset MPC protocol, and cipher text data are preset to obtain a cipher text processing result of target data, so that the data are processed under the condition that the input data are cipher text data, and the data privacy can be effectively protected. And then, the server sends the data corresponding to the transaction event to the block chain network for uplink storage, so as to facilitate subsequent inquiry, retrieval, evidence finding and the like. And the server sends the ciphertext processing result to the client, and the client decrypts the ciphertext processing result to obtain a plaintext processing result of the target data. The client acquires the verification result of the plaintext processing result and sends the ciphertext processing result and the verification result to the block chain network for uplink storage, so that the privacy of the processing result can be further protected, and subsequent inquiry and backtracking are facilitated. And in the case that the blockchain network determines that the verification result is correct, transferring the cost of the client mortgage to the contract account to the account of the server. And returning the fee for mortgage of the client to the contract account of the client to the account of the client if the block chain network determines that the verification result is wrong. Therefore, the charging and clearing problem of the service can be effectively solved.
Based on the same inventive concept, the embodiment of the present application further provides a data processing apparatus, as described in the following embodiments. Because the principle of the data processing apparatus for solving the problem is similar to the data processing method, the implementation of the data processing apparatus can refer to the implementation of the data processing method, and repeated details are not repeated. As used hereinafter, the term "unit" or "module" may be a combination of software and/or hardware that implements a predetermined function. Although the means described in the embodiments below are preferably implemented in software, an implementation in hardware, or a combination of software and hardware is also possible and contemplated. Fig. 6 is a block diagram of a data processing apparatus according to an embodiment of the present application, and as shown in fig. 6, the data processing apparatus includes: the encryption module 601, the sending module 602, the processing module 603, and the obtaining module 604, the following describes the structure.
The encryption module 601 is configured to obtain target data, and encrypt the target data by using a homomorphic encryption algorithm to obtain ciphertext data.
The sending module 602 is configured to send a data processing request to the server, where the data processing request carries ciphertext data.
The processing module 603 is configured to coordinate with the server to call the preset model to process the ciphertext data according to the preset MPC protocol, so as to obtain a ciphertext processing result, where the preset model is compatible with the preset MPC protocol, and is configured to perform preset processing on the ciphertext data in the case of data encryption.
The obtaining module 604 is configured to obtain a ciphertext processing result.
In some embodiments of the present application, the data processing apparatus may further include a decryption module, and the decryption module may be configured to: and after the ciphertext processing result is obtained, decrypting the ciphertext processing result to obtain a plaintext processing result.
In some embodiments of the present application, the data processing apparatus may further include a uplink module, and the uplink module may be configured to: after the ciphertext processing result is decrypted to obtain a plaintext processing result, a verification result of the plaintext processing result is obtained, wherein the verification result is used for indicating whether the plaintext processing result is correct or not; and sending the ciphertext processing result and the verification result to a block chain network for uplink storage.
In some embodiments of the present application, the sending module may be further configured to: before/while/after sending the data processing request to the server, sending the resource data to a contract account of the blockchain network; correspondingly, the uplink module may be specifically configured to: and sending the ciphertext processing result and the verification result to the blockchain network for uplink storage, so that the blockchain network sends the resource data in the contract account to the account of the server under the condition that the verification result is determined to be correct.
In some embodiments of the present application, the target data comprises at least one of: face image data, medical image data and human body action data.
In some embodiments of the present application, when the target data includes medical image data, the preset process includes performing a diagnostic process on the medical image data.
Based on the same inventive concept, the embodiment of the present application further provides a data processing apparatus, as described in the following embodiments. Because the principle of the data processing apparatus for solving the problem is similar to the data processing method, the implementation of the data processing apparatus can refer to the implementation of the data processing method, and repeated details are not repeated. As used hereinafter, the term "unit" or "module" may be a combination of software and/or hardware that implements a predetermined function. Although the means described in the embodiments below are preferably implemented in software, an implementation in hardware, or a combination of software and hardware is also possible and contemplated. Fig. 7 is a block diagram of a data processing apparatus according to an embodiment of the present application, and as shown in fig. 7, the data processing apparatus includes: the following describes the structure of the receiving module 701, the processing module 702, and the transmitting module 703.
The receiving module 701 is configured to receive a data processing request sent by a client, where the data processing request carries ciphertext data, and the ciphertext data is generated by encrypting target data by using a homomorphic encryption algorithm by the client.
The processing module 702 is configured to, in response to the data processing request, invoke a preset model according to a preset MPC protocol to cooperate with the client to process the ciphertext data, so as to obtain a ciphertext processing result, where the preset model is compatible with the preset MPC protocol and is used to perform preset processing on the ciphertext data in the case of data encryption.
The sending module 703 is configured to send the ciphertext processing result to the client.
In some embodiments of the present application, the data processing apparatus further includes an uplink module, wherein the uplink module is specifically configured to: after the ciphertext processing result is obtained, the transaction event data corresponding to the data processing request is uploaded to the block chain network for uplink storage.
In some embodiments of the present application, the processing module may be specifically configured to: performing privacy convolution operation on the ciphertext data according to a preset MPC protocol and a convolution operator in a preset model to obtain ciphertext characteristic data; activating the ciphertext characteristic data by matching with the client according to a preset MPC protocol and an activation operator in a preset model to obtain first activation data and second activation data; performing pooling operation on the first activation data and the second activation data by matching with the client according to a preset MPC protocol and a pooling operator in a preset model to obtain first pooling data and second pooling data; and performing full connection operation on the first pooled data and the second pooled data by matching with the client according to a preset MPC protocol and a full connection operator in a preset model to obtain ciphertext processing data.
From the above description, it can be seen that the embodiments of the present application achieve the following technical effects: by carrying out homomorphic encryption on the target data, the corresponding ciphertext data is obtained, and the specific content of the target data is prevented from being leaked. Further, the client side is matched with the server to call a preset model compatible with the preset MPC protocol to perform specific preset processing on the ciphertext data according to the preset MPC protocol, so as to obtain a ciphertext processing result of the target data. The target data can be specifically processed in the encrypted state, so that the data privacy is effectively protected.
The embodiment of the present application further provides a computer device, which may specifically refer to a schematic structural diagram of a computer device based on the data processing method provided in the embodiment of the present application shown in fig. 8, where the computer device may specifically include an input device 81, a processor 82, and a memory 83. Wherein the memory 83 is configured to store processor-executable instructions. The processor 82, when executing the instructions, performs the steps of the data processing method described in any of the embodiments above.
In this embodiment, the input device may be one of the main apparatuses for information exchange between a user and a computer system. The input device may include a keyboard, a mouse, a camera, a scanner, a light pen, a handwriting input board, a voice input device, etc.; the input device is used to input raw data and a program for processing the data into the computer. The input device can also acquire and receive data transmitted by other modules, units and devices. The processor may be implemented in any suitable way. For example, the processor may take the form of, for example, a microprocessor or processor and a computer-readable medium that stores computer-readable program code (e.g., software or firmware) executable by the (micro) processor, logic gates, switches, an Application Specific Integrated Circuit (ASIC), a programmable logic controller, an embedded microcontroller, and so forth. The memory may in particular be a memory device used in modern information technology for storing information. The memory may include multiple levels, and in a digital system, the memory may be any memory as long as it can store binary data; in an integrated circuit, a circuit without a physical form and with a storage function is also called a memory, such as a RAM, a FIFO and the like; in the system, the storage device in physical form is also called a memory, such as a memory bank, a TF card and the like.
In this embodiment, the functions and effects of the specific implementation of the computer device can be explained in comparison with other embodiments, and are not described herein again.
The present application further provides a computer storage medium based on a data processing method, where the computer storage medium stores computer program instructions, and the computer program instructions, when executed, implement the steps of the data processing method in any of the above embodiments.
In the present embodiment, the storage medium includes, but is not limited to, a Random Access Memory (RAM), a Read-Only Memory (ROM), a Cache (Cache), a Hard disk (HDD), or a Memory Card (Memory Card). The memory may be used to store computer program instructions. The network communication unit may be an interface for performing network connection communication, which is set in accordance with a standard prescribed by a communication protocol.
In this embodiment, the functions and effects specifically realized by the program instructions stored in the computer storage medium can be explained by comparing with other embodiments, and are not described herein again.
It will be apparent to those skilled in the art that the modules or steps of the embodiments of the present application described above may be implemented by a general purpose computing device, they may be centralized on a single computing device or distributed across a network of multiple computing devices, and alternatively, they may be implemented by program code executable by a computing device, such that they may be stored in a storage device and executed by a computing device, and in some cases, the steps shown or described may be performed in an order different from that described herein, or they may be separately fabricated into individual integrated circuit modules, or multiple ones of them may be fabricated into a single integrated circuit module. Thus, embodiments of the present application are not limited to any specific combination of hardware and software.
It is to be understood that the above description is intended to be illustrative, and not restrictive. Many embodiments and many applications other than the examples provided will be apparent to those of skill in the art upon reading the above description. The scope of the application should, therefore, be determined not with reference to the above description, but instead should be determined with reference to the pending claims along with the full scope of equivalents to which such claims are entitled.
The above description is only a preferred embodiment of the present application and is not intended to limit the present application, and it will be apparent to those skilled in the art that various modifications and variations can be made in the embodiment of the present application. Any modification, equivalent replacement, improvement and the like made within the spirit and principle of the present application shall be included in the protection scope of the present application.

Claims (13)

1. A data processing method, comprising:
acquiring target data, and encrypting the target data by using a homomorphic encryption algorithm to obtain ciphertext data;
sending a data processing request to a server, wherein the data processing request carries the ciphertext data;
according to a preset MPC protocol, a preset model is called by matching with the server to process the ciphertext data to obtain a ciphertext processing result, wherein the preset model is compatible with the preset MPC protocol and is used for performing preset processing on the ciphertext data under the condition of data encryption;
and acquiring the ciphertext processing result.
2. The method of claim 1, further comprising, after obtaining the ciphertext processing result:
and decrypting the ciphertext processing result to obtain a plaintext processing result.
3. The method according to claim 2, further comprising, after decrypting the ciphertext processing result to obtain a plaintext processing result:
obtaining a verification result of the plaintext processing result, wherein the verification result is used for indicating whether the plaintext processing result is correct or not;
and sending the ciphertext processing result and the verification result to a block chain network for uplink storage.
4. The method according to claim 3, further comprising, before/simultaneously with/after sending the data processing request to the server:
sending resource data to a contract account of the blockchain network;
correspondingly, the sending the ciphertext processing result and the verification result to a block chain network for uplink storage includes:
and sending the ciphertext processing result and the verification result to a block chain network for uplink storage, so that the block chain network sends the resource data in the contract account to the account of the server under the condition that the verification result is determined to be correct.
5. The method of claim 1, wherein the target data comprises at least one of: face image data, medical image data and human body action data.
6. The method according to claim 5, wherein when the target data includes medical image data, the preset processing includes performing diagnostic processing on the medical image data.
7. A data processing method, comprising:
receiving a data processing request sent by a client, wherein the data processing request carries ciphertext data, and the ciphertext data is generated by encrypting target data by the client by using a homomorphic encryption algorithm;
responding to the data processing request, calling a preset model according to a preset MPC protocol to cooperate with the client to process the ciphertext data to obtain a ciphertext processing result, wherein the preset model is compatible with the preset MPC protocol and is used for performing preset processing on the ciphertext data under the condition of data encryption;
and sending the ciphertext processing result to the client.
8. The method of claim 7, further comprising, after obtaining the ciphertext processing result:
and uploading the transaction event data corresponding to the data processing request to a block chain network for uplink storage.
9. The method as claimed in claim 7, wherein invoking a predetermined model according to a predetermined MPC protocol to cooperate with the client to process the ciphertext data to obtain a ciphertext processing result comprises:
performing privacy convolution operation on the ciphertext data according to the preset MPC protocol and the convolution operator in the preset model to obtain ciphertext characteristic data;
performing activation operation on the ciphertext feature data by matching with the client according to the preset MPC protocol and an activation operator in the preset model to obtain first activation data and second activation data;
performing pooling operation on the first activation data and the second activation data by matching with the client according to the preset MPC protocol and a pooling operator in the preset model to obtain first pooling data and second pooling data;
and according to the preset MPC protocol and the full-connection operator in the preset model, performing full-connection operation on the first pooled data and the second pooled data by matching with the client to obtain ciphertext processing data.
10. A data processing method, comprising:
the client acquires target data, and encrypts the target data by using a homomorphic encryption algorithm to obtain ciphertext data;
the client sends a data processing request to a server, wherein the data processing request carries the ciphertext data;
in response to the data processing request, the server and the client call a preset model according to a preset MPC protocol to process the ciphertext data to obtain a ciphertext processing result, wherein the preset model is compatible with the preset MPC protocol and is used for performing preset processing on the ciphertext data under the condition of data encryption;
the server sends the ciphertext processing result to the client;
and the client decrypts the ciphertext processing result to obtain a plaintext processing result of the target data.
11. A data processing apparatus, comprising:
the encryption module is used for acquiring target data and encrypting the target data by utilizing a homomorphic encryption algorithm to obtain ciphertext data;
the sending module is used for sending a data processing request to a server, wherein the data processing request carries the ciphertext data;
the processing module is used for calling a preset model to process the ciphertext data by matching with the server according to a preset MPC protocol to obtain a ciphertext processing result, wherein the preset model is compatible with the preset MPC protocol and is used for performing preset processing on the ciphertext data under the condition of data encryption;
and the obtaining module is used for obtaining the ciphertext processing result.
12. A computer device comprising a processor and a memory for storing processor-executable instructions that, when executed by the processor, implement the steps of the method of any one of claims 1 to 6.
13. A computer-readable storage medium having computer instructions stored thereon which, when executed, implement the steps of the method of any one of claims 1 to 6.
CN201910962649.4A 2019-10-11 2019-10-11 Data processing method, data processing device, computer equipment and storage medium Pending CN110765473A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910962649.4A CN110765473A (en) 2019-10-11 2019-10-11 Data processing method, data processing device, computer equipment and storage medium
PCT/CN2020/076141 WO2021068445A1 (en) 2019-10-11 2020-02-21 Data processing method and apparatus, computer device, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910962649.4A CN110765473A (en) 2019-10-11 2019-10-11 Data processing method, data processing device, computer equipment and storage medium

Publications (1)

Publication Number Publication Date
CN110765473A true CN110765473A (en) 2020-02-07

Family

ID=69331818

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910962649.4A Pending CN110765473A (en) 2019-10-11 2019-10-11 Data processing method, data processing device, computer equipment and storage medium

Country Status (2)

Country Link
CN (1) CN110765473A (en)
WO (1) WO2021068445A1 (en)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111142876A (en) * 2020-04-02 2020-05-12 华控清交信息科技(北京)有限公司 Compiling processing method and device and compiling processing device
CN111404943A (en) * 2020-03-18 2020-07-10 腾讯科技(深圳)有限公司 Data processing method and device, electronic equipment and computer readable storage medium
CN111538671A (en) * 2020-05-06 2020-08-14 矩阵元技术(深圳)有限公司 System testing method and device
CN111565101A (en) * 2020-04-28 2020-08-21 上海物融智能科技有限公司 Processing method and device for computing task
CN111723390A (en) * 2020-06-28 2020-09-29 天津理工大学 Commercial data protection method and system based on supply chain management
CN112615712A (en) * 2020-12-16 2021-04-06 百度在线网络技术(北京)有限公司 Data processing method, related device and computer program product
WO2021068445A1 (en) * 2019-10-11 2021-04-15 云图技术有限公司 Data processing method and apparatus, computer device, and storage medium
CN112668748A (en) * 2020-09-16 2021-04-16 华控清交信息科技(北京)有限公司 Prediction method and device and electronic equipment
WO2021184346A1 (en) * 2020-03-20 2021-09-23 云图技术有限公司 Private machine learning model generation and training methods, apparatus, and electronic device
WO2021223104A1 (en) * 2020-05-06 2021-11-11 云图技术有限公司 System testing method and apparatus
CN113810493A (en) * 2021-09-16 2021-12-17 中国电信股份有限公司 Translation method, system, device and storage medium
CN114301583A (en) * 2021-12-22 2022-04-08 阿里巴巴(中国)有限公司 Ciphertext compression method, device, equipment and storage medium

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115270163B (en) * 2022-09-26 2023-01-24 北京瑞莱智慧科技有限公司 Data processing method, related device and storage medium

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108683669A (en) * 2018-05-19 2018-10-19 深圳市图灵奇点智能科技有限公司 Data verification method and multi-party computations system
CN109690551A (en) * 2018-08-24 2019-04-26 区链通网络有限公司 Block chain data guard method, device, system and computer readable storage medium
CN110011784A (en) * 2019-04-04 2019-07-12 东北大学 Support the KNN classified service system and method for secret protection
CN110084063A (en) * 2019-04-23 2019-08-02 中国科学技术大学 A kind of gradient descent algorithm method for protecting private data
CN110211683A (en) * 2019-05-30 2019-09-06 北京理工大学 A kind of support vector machines medical data privacy training system based on block chain
CN110210245A (en) * 2019-05-30 2019-09-06 北京理工大学 A kind of medical data machine learning privacy training method based on block chain
US20190278895A1 (en) * 2018-03-07 2019-09-12 Open Inference Holdings LLC Systems and methods for biometric processing with liveness

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070005594A1 (en) * 2005-06-30 2007-01-04 Binyamin Pinkas Secure keyword search system and method
CN104821942B (en) * 2015-04-22 2017-11-14 广州大学 Face identification method and system
CN108776790A (en) * 2018-06-06 2018-11-09 海南大学 Face encryption recognition methods based on neural network under cloud environment
CN110765473A (en) * 2019-10-11 2020-02-07 矩阵元技术(深圳)有限公司 Data processing method, data processing device, computer equipment and storage medium
CN110750801B (en) * 2019-10-11 2022-06-10 矩阵元技术(深圳)有限公司 Data processing method, data processing device, computer equipment and storage medium

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190278895A1 (en) * 2018-03-07 2019-09-12 Open Inference Holdings LLC Systems and methods for biometric processing with liveness
CN108683669A (en) * 2018-05-19 2018-10-19 深圳市图灵奇点智能科技有限公司 Data verification method and multi-party computations system
CN109690551A (en) * 2018-08-24 2019-04-26 区链通网络有限公司 Block chain data guard method, device, system and computer readable storage medium
CN110011784A (en) * 2019-04-04 2019-07-12 东北大学 Support the KNN classified service system and method for secret protection
CN110084063A (en) * 2019-04-23 2019-08-02 中国科学技术大学 A kind of gradient descent algorithm method for protecting private data
CN110211683A (en) * 2019-05-30 2019-09-06 北京理工大学 A kind of support vector machines medical data privacy training system based on block chain
CN110210245A (en) * 2019-05-30 2019-09-06 北京理工大学 A kind of medical data machine learning privacy training method based on block chain

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021068445A1 (en) * 2019-10-11 2021-04-15 云图技术有限公司 Data processing method and apparatus, computer device, and storage medium
CN111404943A (en) * 2020-03-18 2020-07-10 腾讯科技(深圳)有限公司 Data processing method and device, electronic equipment and computer readable storage medium
CN111404943B (en) * 2020-03-18 2021-10-26 腾讯科技(深圳)有限公司 Data processing method and device, electronic equipment and computer readable storage medium
WO2021184346A1 (en) * 2020-03-20 2021-09-23 云图技术有限公司 Private machine learning model generation and training methods, apparatus, and electronic device
CN111142876B (en) * 2020-04-02 2020-08-18 华控清交信息科技(北京)有限公司 Compiling processing method and device and compiling processing device
CN111142876A (en) * 2020-04-02 2020-05-12 华控清交信息科技(北京)有限公司 Compiling processing method and device and compiling processing device
CN111565101A (en) * 2020-04-28 2020-08-21 上海物融智能科技有限公司 Processing method and device for computing task
CN111538671A (en) * 2020-05-06 2020-08-14 矩阵元技术(深圳)有限公司 System testing method and device
CN111538671B (en) * 2020-05-06 2023-06-16 矩阵元技术(深圳)有限公司 System testing method and device
WO2021223104A1 (en) * 2020-05-06 2021-11-11 云图技术有限公司 System testing method and apparatus
CN111723390B (en) * 2020-06-28 2023-04-07 天津理工大学 Commercial data protection method and system based on supply chain management
CN111723390A (en) * 2020-06-28 2020-09-29 天津理工大学 Commercial data protection method and system based on supply chain management
CN112668748A (en) * 2020-09-16 2021-04-16 华控清交信息科技(北京)有限公司 Prediction method and device and electronic equipment
CN112615712B (en) * 2020-12-16 2023-03-24 百度在线网络技术(北京)有限公司 Data processing method, related device and computer program product
CN112615712A (en) * 2020-12-16 2021-04-06 百度在线网络技术(北京)有限公司 Data processing method, related device and computer program product
CN113810493A (en) * 2021-09-16 2021-12-17 中国电信股份有限公司 Translation method, system, device and storage medium
CN114301583A (en) * 2021-12-22 2022-04-08 阿里巴巴(中国)有限公司 Ciphertext compression method, device, equipment and storage medium
CN114301583B (en) * 2021-12-22 2023-10-24 阿里巴巴(中国)有限公司 Ciphertext compression method, ciphertext compression device, ciphertext compression equipment and storage medium

Also Published As

Publication number Publication date
WO2021068445A1 (en) 2021-04-15

Similar Documents

Publication Publication Date Title
CN110750801B (en) Data processing method, data processing device, computer equipment and storage medium
WO2021068445A1 (en) Data processing method and apparatus, computer device, and storage medium
US11196541B2 (en) Secure machine learning analytics using homomorphic encryption
US9158925B2 (en) Server-aided private set intersection (PSI) with data transfer
CN112906044B (en) Multi-party security calculation method, device, equipment and storage medium
WO2019231481A1 (en) Privacy-preserving machine learning in the three-server model
Li et al. Distortion less secret image sharing scheme for Internet of Things system
CN110912682B (en) Data processing method, device and system
US8923519B2 (en) Method of efficient secure function evaluation using resettable tamper-resistant hardware tokens
CN114039785B (en) Data encryption, decryption and processing methods, devices, equipment and storage medium
WO2023020216A1 (en) Extremum determination method and apparatus based on secure multi-party computation, device, and storage medium
CN108028751B (en) System, computer-readable medium, and method for mobile proactive secret sharing
CN114726512B (en) Data processing method and device
CN113645294B (en) Message acquisition method and device, computer equipment and message transmission system
CN113807534B (en) Model parameter training method and device of federal learning model and electronic equipment
CN114726580B (en) Data processing method and device
CN114726524B (en) Target data sorting method and device, electronic equipment and storage medium
Shah et al. Prediction error expansion‐based reversible data hiding in encrypted images with public key cryptosystem
Narayana et al. Medical image cryptanalysis using adaptive, lightweight neural network based algorithm for IoT based secured cloud storage
CN112181308A (en) Block chain based distributed data storage method and electronic equipment
CN113722739A (en) Gradient lifting tree model generation method and device, electronic equipment and storage medium
Shaikh et al. Improving cloud data storage using data partitioning and data recovery using seed block algorithm
CN114095157B (en) Key management method, key management device, computer equipment and readable storage medium
CN111753318B (en) Multiparty security calculation method, device and system for private data
Izadi Yekta An efficient and privacy-preserving federated learning scheme

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200207