A verifiable privacy-preserving convolutional neural network system
By employing private and public verifiable schemes in convolutional neural network systems, the problems of data privacy and verifiability of computation results in cloud computing environments are solved, achieving data security and result verification in different scenarios, and ensuring the security of private data and the correctness of computation results.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SHANGHAI TECH UNIV
- Filing Date
- 2022-12-14
- Publication Date
- 2026-07-24
Smart Images

Figure CN116244731B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to a verifiable, privacy-preserving convolutional neural network system. Background Technology
[0002] In recent years, convolutional neural networks (CNNs) have been widely used in various fields such as the Internet of Things (IoT), industry, healthcare, and finance. Taking the IoT as an example, IoT sensing devices apply CNNs to collected voice, image, and other data for semantic recognition, image segmentation, and high-resolution image reconstruction. CNNs are complex, multi-layered neural networks, making it difficult for devices with limited computing resources (such as IoT sensing devices and smart bracelets) to use them efficiently. Thanks to the widespread adoption of cloud computing, devices with limited computing resources (clients) only need to delegate their data to a cloud server, requesting the server to compute a high-order multivariate polynomial function transformed by the CNN on the data, and then obtain the computation result from the cloud server. With the participation of the cloud server, the client can avoid participating in complex calculations, thus enabling the client to efficiently use complex CNNs with limited computing resources.
[0003] While cloud computing avoids client-side involvement in complex calculations, it also presents several security challenges. First, the data delegated by the client may be highly sensitive, such as private voice data or facial recognition data. This delegated private data could be accessed by the cloud server or attackers outside of it, posing a significant risk of data breaches. Second, cloud servers may return incorrect calculation results to reduce workload or due to being hijacked by malicious attackers.
[0004] Existing technical solutions cannot simultaneously address the aforementioned security issues, namely, providing the following key characteristics: 1) Data privacy: achieving semantic security in protecting client-side privacy data; 2) Verifiability: allowing clients to verify the correctness of cloud server computation results. Verifiability is categorized into private verifiability and public verifiability based on the application scenario. Private verifiability is suitable for scenarios where only one device or organization wants to obtain the computation results, such as an IoT sensor using a convolutional neural network for image analysis, where the sensor uses its private key to verify the cloud server's computation results. Public verifiability, on the other hand, does not require a private key; any client can verify the computation results. Public verifiability is suitable for scenarios where multiple devices or organizations want to obtain the convolutional neural network's computation results, such as multiple hospitals using convolutional neural networks to process patient medical data across these hospitals, requiring each hospital to verify the computation results and make disease diagnoses based on them. Summary of the Invention
[0005] The purpose of this invention is to provide a system that can simultaneously satisfy data privacy and provide different verification methods according to different use scenarios.
[0006] To achieve the above objectives, the technical solution of the present invention provides a verifiable privacy-preserving convolutional neural network system, which uses a given pre-trained convolutional neural network on privacy data. The system is characterized by employing either a privately verifiable scheme or a publicly verifiable scheme, wherein:
[0007] If a private, verifiable scheme is adopted, it includes several clients providing data, one client wanting to obtain the computation results, and... A cloud server that does not require communication allows any client to upload private data to the cloud server, but only allows clients that want to obtain the calculation results to verify the calculation results of the cloud server. If a publicly verifiable scheme is adopted, it includes several clients that provide data and two cloud servers that do not need to communicate, allowing any client to upload data and verify the calculation results of the cloud servers.
[0008] Preferably, the operation of the privately verifiable scheme is as follows: Step 101: Based on safety parameters Generate common parameters Public key used for encrypting data A private verification key used to verify the calculation results. and the evaluation key used for computation ,in: , , yes The power of; It is a polynomial ring; public key It was made public to all clients providing data so that they could encrypt the data. Represents a polynomial ring Private verification key It is only sent to the client who wants to obtain the computation result so that they can verify the server's computation result; evaluation key. Sent to the One server, ; Step 102, anyone holding the public key All clients can store private data Encrypt to ciphertext And send the encrypted message to One cloud server; Step 103, the Each cloud server is based on the evaluation key. ciphertext sum function Calculate and output some of the calculation results. and its labels ; Step 104: Holding the private verification key The client, based on partial calculation results and their corresponding tags Obtain the calculation results and its labels ; Step 105: Clients wishing to obtain the calculation results use a private authentication key. examine Is it equal to If the two are equal, the current client considers the calculation result to be correct. It is correct; otherwise, the current client considers the calculation result to be correct. That is incorrect.
[0009] Preferably, the operation of the publicly verifiable scheme is as follows: Step 201: Based on safety parameters Generate common parameters ,in: It is a power of 2; It is a polynomial ring; , , It is a prime number. cyclic group; It is a Type-3 bilinear mapping; The client runs a key generation algorithm to generate a public key for encrypting data. Public verification key used to verify the calculation results and the evaluation key used for computation , where: public key and public verification key The key is made public to all clients so they can encrypt data and verify the computation results of the cloud server; the key is evaluated. Sent to the One server, ; Step 202, anyone holding the public key All clients can store private data Encrypt to ciphertext The encrypted message was then sent to two cloud servers. Step 203, the Each cloud server uses the key used for computation. ciphertext sum function Calculate part of the calculation results and its labels and output and ,in: It is a cyclic group A generator; Representing a polynomial exist The value at is ; Step 204: Any client calculates based on partial results. Obtain the calculation results ; Step 205: The client uses a publicly verifiable key. Check formula Is it true?: If the expression is true, the client considers the calculation result to be true. It is correct; otherwise, the client considers the calculation result to be correct. It is incorrect, among which, This represents a bilinear mapping.
[0010] This invention provides a verifiable, privacy-preserving convolutional neural network system that simultaneously achieves data privacy and verifiability. The system offers two schemes to meet the needs of different application scenarios; both schemes achieve data privacy and verifiability. The difference lies in the following: one is a private verifiable scheme with faster verification speed but requiring a private key, while the other is a public verifiable scheme with slower verification speed but not requiring a private key. The system disclosed in this invention has significant application value. Attached Figure Description
[0011] Figure 1 The principle of the present invention is illustrated. Detailed Implementation
[0012] The present invention will be further illustrated below with reference to specific embodiments. It should be understood that these embodiments are for illustrative purposes only and are not intended to limit the scope of the invention. Furthermore, it should be understood that after reading the teachings of this invention, those skilled in the art can make various alterations or modifications to the invention, and these equivalent forms also fall within the scope defined by the appended claims.
[0013] In the verifiable privacy-preserving convolutional neural network system disclosed in this invention, the convolutional neural network has already been obtained through a training process. This invention only discusses how to use a given convolutional neural network on privacy-preserving data. A convolutional neural network can be transformed into a high-order multivariate polynomial function. ,in, It is private data. .
[0014] This invention discloses a verifiable, privacy-preserving convolutional neural network system comprising two schemes. One is a privately verifiable scheme, which includes several clients providing data, one client seeking computation results, and two cloud servers that do not need to communicate. The privately verifiable scheme allows any client to upload private data to the cloud servers, but only the client seeking computation results is allowed to verify the cloud servers' computation results. The other is a publicly verifiable scheme, which also includes several clients providing data and two cloud servers that do not need to communicate. The publicly verifiable scheme allows any client to upload data and verify the cloud servers' computation results.
[0015] The operation process of a privately verifiable scheme is as follows: Step 1: Based on safety parameters Generate common parameters Public key used for encrypting data A private verification key used to verify the calculation results. and the evaluation key used for computation as well as .
[0016] in: , , It is a power of 2; It is a polynomial ring; public key It will be made available to all clients so that they can encrypt data. Represents a polynomial ring Private verification key It will only be sent to a specific client so that they can verify the server's computation results; the evaluation key. It will be sent to the One server, .
[0017] Step 2, anyone holding the public key All clients can store private data Encrypt to ciphertext The encrypted message was then sent to two cloud servers.
[0018] Step 3: Each cloud server uses the evaluation key. ciphertext sum function It can calculate and output partial calculation results. and its labels .
[0019] Step 4: Hold the private verification key The client, based on partial calculation results and their corresponding tags Obtain the calculation results and its labels The verification process is as follows: the client uses a private verification key. examine Is it equal to If the two are equal, the client considers the calculation result to be correct. It is correct; otherwise, the client would consider the calculation result to be correct. That is incorrect.
[0020] The operation process of the publicly verifiable scheme is as follows: Step 1: Based on safety parameters Generate common parameters ,in: It is a power of 2; It is a polynomial ring; , , It is a prime number. cyclic group; It is a Type-3 bilinear mapping.
[0021] The client runs a key generation algorithm to generate a public key for encrypting data. Public verification key used to verify the calculation results and the evaluation key used for computation and , where: public key and public verification key It will be made public to all clients so that they can encrypt data and verify the computation results of the cloud server, and calculate the key. It will be sent to the One server.
[0022] Step 2 is the same as the aforementioned privately verifiable scheme.
[0023] Step 3: Each cloud server uses the key used for computation. ciphertext sum function Partial calculation results can be obtained. and its labels and output and .here: It is a cyclic group A generator; Representing a polynomial exist The value at is .
[0024] Step 4: Any client calculates based on partial results. Obtain the calculation results The verification process is as follows: the client uses a publicly verifiable key. Check formula Is it true?: If the expression is true, the client considers the calculation result to be true. It is correct; otherwise, the client considers the calculation result to be correct. That is incorrect.
Claims
1. A verifiable privacy-preserving convolutional neural network system, using a given pre-trained convolutional neural network on privacy-preserving data, characterized in that, Either a proprietary verifiable scheme or a publicly verifiable scheme is adopted, wherein: If a private and verifiable scheme is adopted, it includes several clients that provide data, one client that wants to obtain the calculation result, and two cloud servers that do not need to communicate. Any client that provides data is allowed to upload private data to the cloud server, but only the client that wants to obtain the calculation result is allowed to verify the calculation result of the cloud server. If a publicly verifiable scheme is adopted, it includes several clients that provide data and two cloud servers that do not need to communicate, allowing any client to upload data and verify the calculation results of the cloud servers; The operation process of the privately verifiable scheme is as follows: Step 101: Based on safety parameters Generate common parameters Public key used for encrypting data A private verification key used to verify the calculation results. and the evaluation key used for computation ,in: , , yes The power of; It is a polynomial ring; public key It was made public to all clients providing data so that they could encrypt the data. Represents a polynomial ring Private verification key It is only sent to the client that wants to obtain the computation result so that it can verify the server's computation result; the evaluation key. Sent to the One server, ; Step 102, anyone holding the public key The client will store private data Encrypt to ciphertext And send the encrypted message to One cloud server; Step 103, the Each cloud server is based on the evaluation key. ciphertext sum function Calculate and output some of the calculation results. and its labels ; Step 104: Holding the private verification key The client, based on partial calculation results and their corresponding tags Obtain the calculation results and its labels ; Step 105: Clients wishing to obtain the calculation results use a private authentication key. examine Is it equal to If the two are equal, the current client considers the calculation result to be correct. It is correct; otherwise, the current client considers the calculation result to be correct. That's wrong; The operation process of the publicly verifiable scheme is as follows: Step 201: Based on safety parameters Generate common parameters ,in: It is a power of 2; It is a polynomial ring; , , It is a prime number. cyclic group; It is a Type-3 bilinear mapping; The client runs a key generation algorithm to generate a public key for encrypting data. Public verification key used to verify the calculation results and the evaluation key used for computation , where: public key and public verification key The key is made public to all clients to encrypt data and verify the computation results of the cloud server; the key is evaluated. Sent to the One server, ; Step 202, anyone holding the public key The client will store private data Encrypt to ciphertext The encrypted message was then sent to two cloud servers. Step 203, the Each cloud server uses the key used for computation. ciphertext sum function Calculate part of the calculation results and its labels and output and ,in: It is a cyclic group A generator; Representing a polynomial exist The value at is ; Step 204: Any client calculates based on partial results. Obtain the calculation results ; Step 205: The client uses the public verification key. Check formula Is it true?: If the expression is true, the client considers the calculation result to be true. It is correct; otherwise, the client considers the calculation result to be correct. It is incorrect, among which, This represents a bilinear mapping.