US20210019428A1 - Preservation system for preserving privacy of outsourced data in cloud based on deep convolutional neural network - Google Patents

Preservation system for preserving privacy of outsourced data in cloud based on deep convolutional neural network Download PDF

Info

Publication number
US20210019428A1
US20210019428A1 US16/930,943 US202016930943A US2021019428A1 US 20210019428 A1 US20210019428 A1 US 20210019428A1 US 202016930943 A US202016930943 A US 202016930943A US 2021019428 A1 US2021019428 A1 US 2021019428A1
Authority
US
United States
Prior art keywords
data
encrypted
circumflex over
cnn
msg
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
US16/930,943
Inventor
Ximeng Liu
Wenzhong Gou
Jiayin Li
Hongrui Lin
Yang Yang
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.)
Fuzhou University
Original Assignee
Fuzhou University
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 Fuzhou University filed Critical Fuzhou University
Assigned to FUZHOU UNIVERSITY reassignment FUZHOU UNIVERSITY ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: Guo, Wenzhong, LI, JIAYIN, LIN, HONGRUI, LIU, XIMENG, YANG, YANG
Publication of US20210019428A1 publication Critical patent/US20210019428A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • 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
    • 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
    • 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/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0478Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload applying multiple layers of encryption, e.g. nested tunnels or encrypting the content with a first key and then with at least a second key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/42Anonymization, e.g. involving pseudonyms

Definitions

  • the present invention relates to a preservation system for preserving privacy of outsourced data in a cloud based on a deep convolutional neural network (CNN) called POCNet.
  • CNN deep convolutional neural network
  • a CNN is a deep artificial neural network and a popular data mining technology that has been applied to many fields, such as image recognition, video analysis, natural language processing, and games.
  • the CNN allows for performing semi-automated or automated analysis on a large quantity of data to minimize human intervention.
  • a CNN classifier or any other classifier is used.
  • a patient may hope to store his/her personal medical image in a cloud.
  • medical service providers may also hope to use cloud servers to store classifiers they use.
  • a classifier may be a property of a specific medical service provider, how do we ensure that the classifier is preserved from unauthorized disclosure?
  • Data encryption is a potential solution, which brings another challenge. How do we execute a CNN classifier in an encrypted domain?
  • a cloud server needs to support some basic commonly used arithmetic operations (such as a comparison operation and a multiplication operation). Since data is stored as ciphertexts in a cloud, these essential arithmetic operations need to be performed on encrypted data without compromising privacy of original data.
  • a comparison operation and a multiplication operation
  • an additional server is usually required to provide a decryption capability required for secure computations, or multi-round communications are performed between a user and the cloud. In this case, a data leakage risk or energy/electricity consumption of a customer is increased.
  • an objective of the present invention is to provide a preservation system for preserving privacy of outsourced data in a cloud based on a deep CNN, to securely calculate and classify data without privacy leakage.
  • the present invention uses the following technical solutions.
  • a preservation system for preserving privacy of outsourced data in a cloud based on a deep CNN includes a key generation center, a cloud platform, a data user, and a CNN service providing unit;
  • the key generation center is an entity trusted by all other entities in the system, and is responsible for distributing and managing all keys of a data user or a CNN service provider, and all boot keys of the cloud platform;
  • the cloud platform stores and manages encrypted data outsourced from a registrant in the system, and provides a computing capability to perform a homomorphic operation on the encrypted data;
  • the CNN service provider provides a required deep CNN classification model for the data user, and a decision result reflects a current situation of the data user.
  • the preservation method for preserving privacy of outsourced data in a cloud based on a deep CNN includes the following steps:
  • Step S1 the data user transfers the encrypted data to the CNN service providing unit by using the cloud platform.
  • Step S2 after processing the encrypted data, the CNN service providing unit outputs a ciphertext result and stores the ciphertext result on the cloud platform.
  • step S2 is specifically as follows:
  • Step S21 convert a format of the encrypted data, to obtain converted encrypted data
  • Step S22 process the converted encrypted data sequentially by using a convolutional layer, a pooling layer, and an ReLU function of the CNN;
  • Step S23 execute full connection calculation and activation function calculation of the CNN, and outputting the ciphertext result.
  • the format conversion includes secure data transformation, secure ciphertext length control, and unified conversion of secure data.
  • the convolutional layer specifically inputs d 1 encrypted matrixes ⁇ circumflex over (X) ⁇ i and a matrix ⁇ i,j having a size of d 1 ⁇ d 2 , the convolutional layer outputs d 2 encrypted matrixes ⁇ j , and an architecture is as follows:
  • the pooling layer specifically inputs a w 1 ⁇ w 1 encrypted matrix ⁇ circumflex over (X) ⁇ and obtains output, that is, a w 2 ⁇ w 2 encrypted matrix ⁇ , and performs the following steps: for 0 ⁇ i ⁇ w 2 ⁇ 1 and 0 ⁇ j ⁇ w 2 1.
  • a t ⁇ t encrypted matrix ⁇ circumflex over (X) ⁇ is specifically given, and a goal of an SReLU is to produce a t ⁇ t encrypted matrix ⁇ , such that
  • the activation function calculation of the CNN is specifically as follows: giving t encrypted tuples ( ⁇ circumflex over (x) ⁇ 0 , ⁇ circumflex over (d) ⁇ 0 ), . . . ,( ⁇ circumflex over (x) ⁇ t ⁇ 1 , ⁇ circumflex over (d) ⁇ t ⁇ 1 ); and finally outputting, by an SSOFT, an encrypted identity ⁇ circumflex over (d) ⁇ *. Construction is performed as follows:
  • the present invention has the following beneficial effects:
  • a secure storage system is designed.
  • the system may perform a classification operation of the deep CNN in real time and efficiently without using an additional (non-collusion) server, such that data is securely calculated and classified without privacy leakage.
  • FIG. 1 is a schematic diagram of a system according to the present invention.
  • FIG. 2 is a system architectural diagram of a CNN according to the present invention.
  • the present invention provides a preservation system for preserving privacy of outsourced data in a cloud based on a deep CNN.
  • the system includes a key generation center, a cloud platform, a data user, and a CNN service providing unit.
  • the key generation center is an entity trusted by all other entities in the system and is responsible for distributing and managing all keys of a data user or a CNN service provider, and all boot keys of the cloud platform.
  • the cloud platform stores and manages encrypted data outsourced from a registrant in the system and provides a computing capability to perform a homomorphic operation on the encrypted data.
  • the CNN service provider provides a required deep CNN classification model for the data user, and a decision result reflects a current situation of the data user.
  • a basic safety unsigned/signed integer circuit is created, and the safety integer circuit is implemented in a plurality of encrypted domains. Details are as follows:
  • TFHE Fully Homomorphic Encryption Scheme over Tours
  • ⁇ 1 ⁇ 8 and 1 ⁇ 8 in a binary circuit architecture respectively denote 0 and 1.
  • One ⁇ -bit unsigned integer a may be denoted as (a ⁇ 1 ,a ⁇ 2 , . . . ,a 0 ).
  • is used to denote a ⁇ length ciphertext.
  • Some basic secure unsigned integers are to be constructed by using the TFHE ciphertext.
  • a procedure for constructing Badd is as follows:
  • a first different bit from high-order to low-order may be constructed as follows:
  • UI.mul secure unsigned integer multiplication circuit
  • a two's complement is represented, and a two's complement number system encodes positive and negative numbers into a binary number representation.
  • a weight of each bit is a power of 2, except the most significant bit whose weight is a negative value of a power of a corresponding bit 2.
  • dsg( ⁇ ) denotes a decimal value of a binary vector.
  • a two's complement number system may be used to denote all integers from ⁇ 2 ⁇ 1 to 2 ⁇ 1 . (a ⁇ 1 ,a ⁇ 2 , . . . ,a 0 ) is given, (1 ⁇ a ⁇ 1 ,1 ⁇ a ⁇ 2 , . . . ,1 ⁇ a 0 ) is executed for the first time, and then a decimal integer (0, . . . ,0,1) is added. After conversion is completed, the TFHE encrypts them bit by bit, and a ⁇ length ciphertext is sent to a cloud for outsourced storage. Then how to securely implement basic secure signed integer computation is demonstrated.
  • a secure signed integer addition circuit (I.add) is designed: Two ciphertexts ⁇ and ⁇ tilde over (b) ⁇ having a length of ⁇ bits and storing signed integers msg( ⁇ ) and msg( ⁇ tilde over (b) ⁇ ) are given.
  • UI.add outputs two ciphertexts, namely, ⁇ and ⁇ ( ⁇ ) that respectively store an addition result and an error/overflow information.
  • UI.add is directly used during the construction, only a ciphertext having a length of ⁇ bits is output, and a carry-out is discarded.
  • Step 2. indicate one error when either of the following two cases occurs:
  • Step 2 proceeds as follows: ⁇ ( ⁇ ) ⁇ Hand(Hxnor(a ⁇ 1 ,b ⁇ 1 ), Hxor(b ⁇ 1 ,n ⁇ 1 )) . . .
  • the circuit is denoted as ( ⁇ , ⁇ ( ⁇ )) ⁇ I.add( ⁇ ; ⁇ tilde over (c) ⁇ 0 ).
  • I.cmp a secure signed integer comparison circuit
  • Two ciphertexts ⁇ and ⁇ tilde over (b) ⁇ having a length of ⁇ bits are given, and I.cmp outputs an encrypted bit ⁇ (n).
  • a concept thereof is as follows: If sign bits are different, an integer with a positive sign bit is selected as a relatively large integer. Otherwise, two integers are compared directly by using UI.cmp and a result is output.
  • I.cmp includes the following steps:
  • Step 1 calculate ⁇ (d) ⁇ UI.cmp( ⁇ , ⁇ tilde over (b) ⁇ ).
  • the algorithm is constructed as follows:
  • is initialized as a ciphertext which encrypts 0 having a length of ⁇ bits.
  • I.maxe Two tuples ( ⁇ , ⁇ tilde over (d) ⁇ a ) and ( ⁇ tilde over (b) ⁇ , ⁇ tilde over (d) ⁇ b ) having a length of ⁇ bits are used as input, I.maxe outputs ( ⁇ , ⁇ tilde over (d) ⁇ n ), a plaintext value of ⁇ is equal to a larger one of ⁇ and ⁇ tilde over (b) ⁇ , but ⁇ tilde over (d) ⁇ n ⁇ tilde over (d) ⁇ a , ⁇ tilde over (d) ⁇ b ⁇ is a corresponding identical equation of n%, and it may be obtained as follows:
  • a secure signed integer multiplication circuit (I.mul) is designed: Two ciphertexts ⁇ and ⁇ tilde over (b) ⁇ having a length of ⁇ bits are given, and a ciphertext ⁇ including a 2 ⁇ SLWE instance is output as a storage result.
  • Step 1 same as step 1 of UI.mul.
  • plaintext bits stored from a location ⁇ 1 to a location 2 ⁇ 3 need to be inverted.
  • j ⁇ 1 , . . . ,2 ⁇ 3, ⁇ (c ⁇ 1,j ) ⁇ Hnot( ⁇ (c u ⁇ 1j )) is calculated.
  • all ⁇ tilde over (c) ⁇ ′ i are added together through integration to obtain ⁇ . That is,
  • a DU j′ data domain is transformed into a ⁇ data domain by using BK sj ⁇ and a CSP m′ s data domain is transformed into a ⁇ data domain by using BK s m ⁇ .
  • a CP uses BK ⁇ s b to transform a final result to an authorized user b. Since a transformation key acts as a public key, the bootstrap may be stored and executed at the CP without compromising privacy of a DU/CSP.
  • a parameter used in a CNN is usually a non-integer, the parameter cannot be directly used by a constructed signed integer circuit.
  • msg( ⁇ ) is not leaked when x is learned.
  • 0.25 may be denoted as 4 ⁇ 2 ⁇ 4 , and stored as ( ⁇ tilde over (c) ⁇ , ⁇ 4), where ⁇ tilde over (c) ⁇ stores an integer 4.
  • ⁇ and ⁇ tilde over (c) ⁇ are not decrypted, it is very difficult for others to determine ( ⁇ , ⁇ 2) and ( ⁇ tilde over (c) ⁇ , ⁇ 2).
  • a lowercase letter and a hat ⁇ are used to denote a fixed-point ciphertext
  • an uppercase letter ⁇ is used to denote an encrypted matrix.
  • the latter stores an encrypted fixed-point number â i,j (that is, a Scale-invariant LWE (SLWE) instance having a length of ⁇ bits and an integer number) in each element, and i and j are limited by a size of the encrypted matrix.
  • SLWE Scale-invariant LWE
  • ⁇ in the latter is a ciphertext having a length of ⁇ bits, and a non-integer is converted into a fixed-point number, thereby implementing calculation of the non-integer.
  • the circuit in this case is denoted as ⁇ circumflex over (n) ⁇ DT(â,z).
  • CLC Secure ciphertext length control
  • ciphertexts of both input and output during DT are the same, while ciphertexts of both input and output during CLC may be different.
  • msg( ⁇ 2 z ) msg( ⁇ ) ⁇ 2 x +msg( ⁇ tilde over (b) ⁇ ) ⁇ 2 y . Construction is performed is as follows:
  • Step 2 calculate ⁇ I.add( ⁇ *, ⁇ tilde over (b) ⁇ *) and output ( ⁇ ,z).
  • a construction of a secure fixed-point number comparison circuit (F.cmp), a construction of a secure fixed-point number maximum selection circuit (F. maxe), and a construction of a secure fixed-point tuple maximum selection circuit (F. maxe) are similar to that of the F.add circuit.
  • a difference lies in that in step 2 of F.add, I.add is correspondingly replaced with the secure integer circuits I.cmp, I.maxe, and I.maxt separately. Adding is performed separately.
  • secure fixed-point multiplication is constructed.
  • F.mul Secure fixed-point number multiplication
  • Step 1 calculate ⁇ circumflex over (n) ⁇ I.mul( ⁇ , ⁇ tilde over (b) ⁇ ).
  • Step 2 calculate ( ⁇ ,z) ⁇ CLC(( ⁇ ,x+y),2 ⁇ ′). After the calculation is completed, F.mul outputs ( ⁇ ,z).
  • Remark 1 DT, CLC, and Uni need only a data copy operation and do not need any arithmetic calculation. Therefore, the above two operations do not incur any computational cost at the CP.
  • Y is calculated based on the following formula:
  • F.madd Secure fixed-point matrix addition
  • F.conv Secure fixed-point convolutional computation
  • An encrypted matrix X i having a size of w 1 ⁇ w 1 and an encrypted filter matrix ⁇ having a size of s ⁇ s are input, and F.conv outputs an encrypted matrix of having a size of w 2 ⁇ w 2 by using the following program: For 0 ⁇ i ⁇ w 2 , 0 ⁇ j ⁇ w 2 , 0 ⁇ a ⁇ s ⁇ 1, and 0 ⁇ b ⁇ s ⁇ 1, calculate â a,b,i,j ⁇ F. mul(û a,b , ⁇ circumflex over (x) ⁇ ei+a,ej+b ) and
  • An architecture of a SCONV layer d 1 encrypted matrixes ⁇ circumflex over (X) ⁇ i and a matrix ⁇ i,j having a size of d 1 ⁇ d 2 are input, and a SCONV layer outputs d 2 encrypted matrixes ⁇ j .
  • the architecture is as follows:
  • F.maxe is used to construct a secure maximum pooling protocol, and then a secure pooling layer is constructed by using the secure maximum pooling protocol.
  • each encrypted fixed-point number ⁇ circumflex over (x) ⁇ i,j (0 ⁇ i,j ⁇ t ⁇ 1) is an encrypted fixed-point number ⁇ circumflex over (x) ⁇ * output by F.pool
  • ⁇ circumflex over (x) ⁇ * has a maximum plaintext value from the t 2 encrypted elements.
  • the secure pooling layer is implemented as follows: To construct the secure pooling layer, a w 1 ⁇ w 1 encrypted matrix ⁇ circumflex over (X) ⁇ is input and output is obtained (that is, an w 2 ⁇ w 2 encrypted matrix ⁇ ). The following steps are performed: for 0 ⁇ i ⁇ w 2 ⁇ 1 and 0 ⁇ j ⁇ w 2 1,
  • a simplest method is to securely calculate the ReLU function element by element. As an encrypted fixed-point number, 0 stores an integer of 0.
  • a fully-connected layer is specifically a secure fixed-point inner product circuit (F.inp):
  • secure Softmax regression needs to be used in conjunction with the secure fully-connected layer to achieve multi-class classification.
  • An SSOFT layer is implemented as follows: t encrypted tuples ( ⁇ circumflex over (x) ⁇ 0 , ⁇ circumflex over (d) ⁇ 0 ), . . . , ⁇ circumflex over (x) ⁇ t ⁇ 1 , ⁇ circumflex over (d) ⁇ t ⁇ 1 ) are given; and the SSOFT finally outputs an encrypted identity ⁇ circumflex over (d) ⁇ *. Construction is performed as follows:
  • the user-defined non-linear activation function is preferably implemented.
  • a function structure is also preserved.
  • Step 2 output encryption f i (x) that is denoted as ⁇ i .
  • Step 4 securely compare x and a relationship between piecewise intervals and p i ⁇ 1 and p i , that is,
  • Step 5 use encrypted bits I* 0 , . . . ,I* z ⁇ 1 , and select an encrypted value from ⁇ tilde over (y) ⁇ ′ 0 , . . . , ⁇ tilde over (y) ⁇ ′ z ⁇ 1 by calculating ⁇ tilde over (f) ⁇ I. movb( ⁇ tilde over (y) ⁇ ′ 0 , . . . , ⁇ tilde over (y) ⁇ ′ z ⁇ 1 ;I* 0 , . . .

Abstract

The present invention relates to a preservation system for preserving privacy of outsourced data in a cloud based on a deep convolutional neural network (CNN). The system includes a key generation center, a cloud platform, a data user, and a CNN service providing unit. The key generation center is an entity trusted by all other entities in the system, and is responsible for distributing and managing all keys of a data user or a CNN service provider, and all boot keys of the cloud platform. The cloud platform stores and manages encrypted data outsourced from a registrant in the system, and provides a computing capability to perform a homomorphic operation on the encrypted data. The CNN service provider provides a required deep classification model for the data user, and a decision result reflects a current situation of the data user.

Description

    TECHNICAL FIELD
  • The present invention relates to a preservation system for preserving privacy of outsourced data in a cloud based on a deep convolutional neural network (CNN) called POCNet.
  • BACKGROUND
  • As our daily lives (such as cloud computing and intelligent wearable devices) become more digitized, digital devices have created more data. For example, it is estimated that a data quantity is expected to reach 40 ZB by 2020, that is, 5247 GB per person. However, a study conducted by the International Data Corporation (IDC) shows that only a small percentage (3%) of existing digital data is currently marked and available, and only 0.5% of the existing data is used for analysis, which, to a certain extent, leads to growing attention and investment in big data analysis and other data mining technologies.
  • A CNN is a deep artificial neural network and a popular data mining technology that has been applied to many fields, such as image recognition, video analysis, natural language processing, and games. The CNN allows for performing semi-automated or automated analysis on a large quantity of data to minimize human intervention.
  • However, an actual situation is taken into consideration when a CNN classifier or any other classifier is used. For example, a patient may hope to store his/her personal medical image in a cloud. However, how do we ensure security of personal data of the patient? In addition, medical service providers may also hope to use cloud servers to store classifiers they use. Since a classifier may be a property of a specific medical service provider, how do we ensure that the classifier is preserved from unauthorized disclosure? Data encryption is a potential solution, which brings another challenge. How do we execute a CNN classifier in an encrypted domain?
  • To support CNN in performing a classification task and another analysis task on outsourced data, a cloud server needs to support some basic commonly used arithmetic operations (such as a comparison operation and a multiplication operation). Since data is stored as ciphertexts in a cloud, these essential arithmetic operations need to be performed on encrypted data without compromising privacy of original data. In an outsourcing cloud environment, there are many frameworks designed for processing encrypted data. However, on the existing framework, an additional server is usually required to provide a decryption capability required for secure computations, or multi-round communications are performed between a user and the cloud. In this case, a data leakage risk or energy/electricity consumption of a customer is increased.
  • SUMMARY
  • In view of this, an objective of the present invention is to provide a preservation system for preserving privacy of outsourced data in a cloud based on a deep CNN, to securely calculate and classify data without privacy leakage.
  • To achieve the above objective, the present invention uses the following technical solutions.
  • A preservation system for preserving privacy of outsourced data in a cloud based on a deep CNN is provided, where the system includes a key generation center, a cloud platform, a data user, and a CNN service providing unit; the key generation center is an entity trusted by all other entities in the system, and is responsible for distributing and managing all keys of a data user or a CNN service provider, and all boot keys of the cloud platform; the cloud platform stores and manages encrypted data outsourced from a registrant in the system, and provides a computing capability to perform a homomorphic operation on the encrypted data; the CNN service provider provides a required deep CNN classification model for the data user, and a decision result reflects a current situation of the data user.
  • The preservation method for preserving privacy of outsourced data in a cloud based on a deep CNN includes the following steps:
  • Step S1: the data user transfers the encrypted data to the CNN service providing unit by using the cloud platform; and
  • Step S2: after processing the encrypted data, the CNN service providing unit outputs a ciphertext result and stores the ciphertext result on the cloud platform.
  • Further, step S2 is specifically as follows:
  • Step S21: convert a format of the encrypted data, to obtain converted encrypted data;
  • Step S22: process the converted encrypted data sequentially by using a convolutional layer, a pooling layer, and an ReLU function of the CNN; and
  • Step S23: execute full connection calculation and activation function calculation of the CNN, and outputting the ciphertext result.
  • Further, the format conversion includes secure data transformation, secure ciphertext length control, and unified conversion of secure data.
  • Further, the convolutional layer specifically inputs d1 encrypted matrixes {circumflex over (X)}i and a matrix Ûi,j having a size of d1×d2, the convolutional layer outputs d2 encrypted matrixes Ŷj, and an architecture is as follows:
  • (1) initializing each element in Ŷj by encrypting 0; and
  • (2) for i=0, . . . ,d1−1,j=0, . . . ,d21, calculating {circumflex over (X)}′i,j←F.conv({circumflex over (X)}i, Ûi,j) and Ŷ′j←F.madd(Ŷj,{circumflex over (X)}′i,j).
  • Further, the pooling layer specifically inputs a w1×w1 encrypted matrix {circumflex over (X)} and obtains output, that is, a w2×w2 encrypted matrix Ŷ, and performs the following steps: for 0≤i≤w2−1 and 0≤j≤w21.
      • (i) constructing each encrypted matrix Ĉi,j having a size of t×t, where for ĉi,j,a,b={circumflex over (x)}ei+a,ej+b, 0≤a≤t−1,0≤b≤t−1, and e is a step;
      • (ii) executing ŷi,j←F.pool(Ĉi,j), where after the calculation is performed, ŷi,j is used as an element of Ŷ.
  • Further, for the ReLU function, a t×t encrypted matrix {circumflex over (X)} is specifically given, and a goal of an SReLU is to produce a t×t encrypted matrix Ŷ, such that
  • msg(ŷi,j)←ReLU(msg({circumflex over (x)}i,j))=max(0,msg({circumflex over (x)}i,j)).
  • Further, the full connection calculation of the CNN is specifically as follows:
  • inputting encrypted vectors {circumflex over (X)}=({circumflex over (x)}0, . . . ,{circumflex over (x)}a−1) and Ŷi=(ŷi,0, . . . ,ŷi,a−1)(0≤i≤b−1), and outputting, by a secure fully connected layer, {circumflex over (N)}=({circumflex over (n)}0, . . . ,{circumflex over (n)}b−1), where
  • msg ( n ^ i ) = j = 0 n - 1 msg ( x ^ j ) · msg ( y ^ i , j ) ;
  • and for i=0, . . . ,b−1, calculating {circumflex over (n)}i←F.inp({circumflex over (X)},Ŷi).
  • Further, the activation function calculation of the CNN is specifically as follows: giving t encrypted tuples ({circumflex over (x)}0,{circumflex over (d)}0), . . . ,({circumflex over (x)}t−1,{circumflex over (d)}t−1); and finally outputting, by an SSOFT, an encrypted identity {circumflex over (d)}*. Construction is performed as follows:
  • (1) pi is inserted into Θ, where S(Θ) denotes a size of the set Θ; and
  • (2) this process is similar to an F.pool architecture, except that F.maxe is replaced with F.maxt.
  • After the calculation is completed, only one tuple ({circumflex over (x)}*,{circumflex over (d)}*0) is left in Θ, and the encrypted identity that is finally output is denoted as {circumflex over (d)}*={circumflex over (d)}*0.
  • Compared with the prior art, the present invention has the following beneficial effects:
  • Based on the present invention, a secure storage system is designed. The system may perform a classification operation of the deep CNN in real time and efficiently without using an additional (non-collusion) server, such that data is securely calculated and classified without privacy leakage.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a schematic diagram of a system according to the present invention; and
  • FIG. 2 is a system architectural diagram of a CNN according to the present invention.
  • DETAILED DESCRIPTION
  • The present invention is described in more detail with reference to the accompanying drawings and examples.
  • Referring to FIG. 1, the present invention provides a preservation system for preserving privacy of outsourced data in a cloud based on a deep CNN. The system includes a key generation center, a cloud platform, a data user, and a CNN service providing unit. The key generation center is an entity trusted by all other entities in the system and is responsible for distributing and managing all keys of a data user or a CNN service provider, and all boot keys of the cloud platform. The cloud platform stores and manages encrypted data outsourced from a registrant in the system and provides a computing capability to perform a homomorphic operation on the encrypted data. The CNN service provider provides a required deep CNN classification model for the data user, and a decision result reflects a current situation of the data user.
  • In this example, a basic safety unsigned/signed integer circuit is created, and the safety integer circuit is implemented in a plurality of encrypted domains. Details are as follows:
  • 1. Initialize the System.
  • First, a Fully Homomorphic Encryption Scheme over Tours (TFHE) whose plaintext space is T8 used as a basis, −⅛ and ⅛ in a binary circuit architecture respectively denote 0 and 1. Then boot parameters μ0=−⅛ and μ1=⅛ are set. One μ-bit unsigned integer a may be denoted as (aμ−1,aμ−2, . . . ,a0). To store a through encryption, each bit may be encrypted by using the TFHE, to obtain ã=(aμ−1,aμ−2, . . . ,a0)=(κ(aμ−1), . . . ,κ(a0)). ã is used to denote a μ−length ciphertext.
  • 2. Basic Secure Unsigned Integer Circuit
  • Some basic secure unsigned integers are to be constructed by using the TFHE ciphertext.
  • First, a secure full adder circuit (Badd) is designed: Three encrypted bits κ(a),κ(b), and κ(cn) are given, and a secure full adder outputs two encrypted bits κ(o) and κ(ct). Therefore, o=a⊕b⊕cn and ct=(aΛb)⊕(cnΛ(a⊕b)), where o is a bit addition result, and ct is denoted as bit carry-out. A procedure for constructing Badd is as follows:
  • (1) Calculate λ1←Hand(κ(a),κ(b)),λ2←Hxor(κ(a),κ(b)), and
  • λ3←Hand(λ2,κ(cn)).
  • (2) Calculate κ(o)←Hxor(λ2,κ(cn)) and κ(ct)←Hxor(λ13). Herein, the secure full adder is denoted as (κ(o),κ(ct))←Badd(κ(a),κ(b),κ(co)).
  • A secure signed integer addition circuit (UI.add) is designed: Two μ−length ciphertexts ã=(κ(aμ−1),κ(aμ−2), . . . ,κ(a0)) and {tilde over (b)}=(κ(bμ−1),κ(bμ−2), . . . ,κ(b0)) are given, and a secure unsigned integer addition may securely output a (μ+1)−length ciphertext ñ=(κ(nμ),κ(nμ−2), . . . ,κ(n0)). Therefore, msg(ñ)=msg(ã)+msg({tilde over (b)}). The secure signed integer addition circuit has a simple and intuitive idea: Since Badd can be considered as a bit addition with carry-out, Ui.add is directly constructed by using Badd, and details are as follows:
  • (1) Initialize κ(c0), such that, c0=0.
  • (2) For i=0, . . . , μ−1, calculate (κ(ni),κ(ci+1))←Badd(κ(ai),κ(bi),κ(ci)). After calculation is performed based on the foregoing formula, it is set that κ(nμ)←κ(cμ) and the circuit is denoted as ñ←UI.add(ã,{tilde over (b)}).
  • Then, a preservation unsigned integer comparison circuit (UI.cmp) is designed:
  • Two μ−length ciphertexts ã=(κ(aμ−1),κ(aμ−2), . . . ,κ(a0)) and {tilde over (b)}=(κ(bμ−1),κ(bμ−2), . . . ,κ(b0)) are given, and UI.cmp securely outputs an encrypted bit k(t). If msg(ã)≥msg({tilde over (b)}), t=0. If msg(ã)≤msg({tilde over (b)}),t=1. A final result is defined as msg(ã) and msg({tilde over (b)}). A first different bit from high-order to low-order may be constructed as follows:
  • (1) Calculate κ(t0)←Hand(Hnot(κ(a0)),(κ(b0)).
  • (2) For i=0, . . . , μ−1, calculate
  • κ(ci)←Hand(Hnot(κ(ai)),κ(bi));
  • κ(c′i)←Hand(Hnot(κ(ai),κ(bi)),κ(ti));
  • κ(ti+1)←Hxor(κ(ci),κ(c′i)).
  • In the foregoing formula, it is set that κ(t)←κ(ti+1), and the circuit is denoted as κ(t)←UI.cmp(ã,{tilde over (b)}).
  • Finally, a secure unsigned integer multiplication circuit (UI.mul) is designed: Two μ−length ciphertexts ã and {tilde over (b)} are given, and a 2μ−length ciphertext ñ is obtained as a final multiplication result.
  • Step 1: first, for i=0 to μ−1, recurrently execute the following equations:
  • (1) for j=1, . . . ,μ−1+i, calculating κ(c′i,j)←Hand(κ(aj−i),κ(bi));
  • (2) constructing an i-th encrypted vector as {tilde over (c)}′i=(κ(c′i,i+μ−1), . . . ,κ(c′i,0)), where for i>0,c′i,0=. . . =c′i,i+1=0.
  • Step 2: add integers
    Figure US20210019428A1-20210121-P00001
    i, . . .
    Figure US20210019428A1-20210121-P00001
    μ−1 together by using UI.add, in other words, it is denoted that ñ→
    Figure US20210019428A1-20210121-P00001
    0 and κ(nμ)=κ(0); then, for i=1, . . . , μ−1, calculate ñ←UI. add(ã,
    Figure US20210019428A1-20210121-P00001
    i), where the circuit is denoted as ñ←UI.mul(ã,{tilde over (b)}), and 2μ−length ñ is finally output, because the length of ñ is increased by 1 when UI.add is executed.
  • 3. Secure Signed Integer Storage and Computation
  • Herein, it is explained how to securely store a signed integer, and a basic signed integer operation is described.
  • First, a two's complement is represented, and a two's complement number system encodes positive and negative numbers into a binary number representation. A weight of each bit is a power of 2, except the most significant bit whose weight is a negative value of a power of a corresponding bit 2. An (integer) value of a μ-bit integer a=(aμ−1,aμ−2, . . . ,a0) is denoted by using the following formula:
  • dsg ( a ) = - a μ - 1 2 μ - 1 + i = 0 μ - 2 a j 2 i ,
  • where dsg(·) denotes a decimal value of a binary vector. A two's complement number system may be used to denote all integers from −2μ−1 to 2μ−1. (aμ−1,aμ−2, . . . ,a0) is given, (1⊕aμ−1,1⊕aμ−2, . . . ,1⊕a0) is executed for the first time, and then a decimal integer (0, . . . ,0,1) is added. After conversion is completed, the TFHE encrypts them bit by bit, and a μ−length ciphertext is sent to a cloud for outsourced storage. Then how to securely implement basic secure signed integer computation is demonstrated.
  • Second, a secure signed integer equality test circuit (I.equ) is designed: Two ciphertexts ã=(κ(aμ−1),κ(aμ−2), . . . ,κ(a0)) and {tilde over (b)}=(κ(bμ−1),κ(bμ−2), . . . ,κ(b0)) having a length of μ bits and storing signed integers msg(ã) and msg({tilde over (b)}) are given, and I.eq can securely output an SLWE instance κ(t). If msg(ã)=msg({tilde over (b)}), t=1. If msg(ã)≠msg({tilde over (b)}), t=0. A high-level idea is to compare the two integers bit by bit. If all bits are the same, the two integers are equal. An implementation procedure is as follows:
  • (1) Initialize κ(t)←Hxor(κ(a0),κ(b0)).
  • (2) For i=0, . . . , μ−1, calculate κ(ιi)←Hxor(κ(ai),κ(bi)) and
  • κ(t)←Hand(κ(t),κ(ιi)). Herein, the circuit is denoted as κ(t)←<I. equ(ã,{tilde over (b)}).
  • Third, a secure signed integer addition circuit (I.add) is designed: Two ciphertexts ã and {tilde over (b)} having a length of μ bits and storing signed integers msg(ã) and msg({tilde over (b)}) are given. UI.add outputs two ciphertexts, namely, ñ and κ(ƒ) that respectively store an addition result and an error/overflow information. UI.add is directly used during the construction, only a ciphertext having a length of μ bits is output, and a carry-out is discarded.
  • Step 1. when the two's complement number system is used, perform UI.add addition to add two numbers and reserve μ bits, that is, ñ*←UI.add(ã,{tilde over (b)}), and ñ=(κ(n*μ−1), . . . ,κ(n*0)) is recorded.
  • Step 2. indicate one error when either of the following two cases occurs:
  • (1) two positive numbers produce a negative addition result
  • (aμ−1=0,bμ−1=0,nμ−1=1) and
  • (2) two negative numbers produce a positive addition result
  • (aμ−1=1,bμ−1=1,nμ−1=0), where an SLWE instance κ(ƒ) is used to store overflow information, that is, ƒ0=(1⊕aμ−1⊕bμ−1)Λ(bμ−1⊕nμ−1) such that the overflow occurs when ƒ0=1; otherwise, ƒ0=0. Step 2 proceeds as follows:
    κ(ƒ)←Hand(Hxnor(aμ−1,bμ−1), Hxor(bμ−1,nμ−1)) . . . Herein, the circuit is denoted as (ñ,κ(ƒ))←I.add(ã;{tilde over (c)}0).
  • Fourth, a secure signed integer comparison circuit (I.cmp) is designed: Two ciphertexts ã and {tilde over (b)} having a length of μ bits are given, and I.cmp outputs an encrypted bit κ(n). A concept thereof is as follows: If sign bits are different, an integer with a positive sign bit is selected as a relatively large integer. Otherwise, two integers are compared directly by using UI.cmp and a result is output. I.cmp includes the following steps:
  • Step 1: calculate κ(d)←UI.cmp(ã,{tilde over (b)}).
  • Step 2: herein, if two sign bits of the input are different (in other words, (aμ−1,⊕bμ−1=1)), select a plaintext of final output as n=aμ−1; otherwise, select the plaintext of the final output as n=d. Construction is performed as follows: t=Hxor(κ(aμ−1),κ(bμ−1); c1=Hand(κ(aμ−1)t); and c2=Hand(κ(d),Hnot(t)), and κ(n)←Hxor(c1,c2). Fifth, secure integer obvious selection is designed: Two ciphertexts ã and {tilde over (b)} having a length of μ bits and an encrypted bit κ(s) are input, and ñ is output. If s=1, sg(
    Figure US20210019428A1-20210121-P00999
    )=msg(
    Figure US20210019428A1-20210121-P00999
    ). If s=0, msg(
    Figure US20210019428A1-20210121-P00999
    )=msg(
    Figure US20210019428A1-20210121-P00999
    ). A construction procedure is as follows: For i=0, . . . , μ−1, calculating
  • κ(ci)←Hand(κ(ai),κ(s)),κ(c′i)←Hand(κ(bi),κ(s)), and κ(ni)←Hand(κ(ci),κ(c′i)). Herein, the algorithm is denoted as ñ←I.obv(ã,{tilde over (b)},κ(s)).
  • Sixth, secure multi-integer obvious selection (I.mobv) is designed: z encrypted unsigned integer values ã0, . . . , ãz−1 having a length of μ bits and z encrypted bits κ(s0), . . . ,κ(sz−1) are input, and ñ is output. If si=1, msg(ñ)=msg(ãi). Only one of s0, . . . ,sz−1 is equal to 1 and remaining numbers are equal to 0. The algorithm is constructed as follows:
  • ñ is initialized as a ciphertext which encrypts 0 having a length of μ bits. For i=0, . . . ,z−1 and j=0, . . . ,μ−1 , κ(ei,j)←Hand(κ(ai,j),κ(si)) and κ(nj)←Hxor(κ(nj),κ(ei,j)) are calculated, where ãi=κ(ai,μ−1), . . . ,κ(ai,0)). Finally, ñ=(κ(nμ−1), . . . ,κ(n0)) is output, and the circuit is denoted as ñ←I.mobv(ã0, . . . ,ãz−1;κ(s0), . . . ,κ(sz−1)).
  • Based on I.cmp and I.obv, two new circuits are designed: a secure maximum number selection (I.maxe) circuit and a secure maximum tuple selection (I.maxt) circuit. Then constructions of the two protocols are separately provided.
  • A construction of I.maxe: ã and {tilde over (b)} having a length of μ bits are used as input, and I.maxe outputs ñ. If msg(ã)≥msg({tilde over (b)}), msg(ñ)=msg(ã); otherwise, msg(ã)=msg({tilde over (b)}). It may be obtained as follows:

  • t→I.cmp(ã,{tilde over (b)}) and ñ←I.obv(ã,{tilde over (b)},t).
  • A construction of I.maxe: Two tuples (ã,{tilde over (d)}a) and ({tilde over (b)},{tilde over (d)}b) having a length of μ bits are used as input, I.maxe outputs (ñ,{tilde over (d)}n), a plaintext value of ñ is equal to a larger one of ã and {tilde over (b)}, but {tilde over (d)}n∈{{tilde over (d)}a,{tilde over (d)}b} is a corresponding identical equation of n%, and it may be obtained as follows:

  • t→I.cmp(ã,{tilde over (b)}),ñ←I.obv(ã,{tilde over (b)},t), and {tilde over (d)}n←I.obv({tilde over (d)}a,{tilde over (d)}b,t).
  • Seventh, a secure signed integer multiplication circuit (I.mul) is designed: Two ciphertexts ã and {tilde over (b)} having a length of μ bits are given, and a ciphertext ñ including a 2μ SLWE instance is output as a storage result.
  • Step 1: same as step 1 of UI.mul.
  • Step 2: invert a plaintext bit of κ(ci,i+μ−1) in {tilde over (c)}i(i=0, . . . ,μ−2), in other words, for i=0, . . . ,μ−2, calculate κ(ci,i+μ−1)←Hnot(κ(ci,i+μ−1)). For
    Figure US20210019428A1-20210121-P00001
    μ−1, plaintext bits stored from a location μ−1 to a location 2μ−3 need to be inverted. In other words, for j=μ−1, . . . ,2μ−3, κ(cμ−1,j)←Hnot(κ(cu−1j)) is calculated. Then, all {tilde over (c)}′i are added together through integration to obtain ñ. That is,
  • (1) Initialize ñ as a length of μ+1 bits, where for j=0, . . . ,μ−1;κ(nμ)=κ(0).
  • (2) For i=1, . . . ,μ−1, calculate ñ←UI.add(ñ,{tilde over (c)}*i) After I.add is executed μ times, ñ←UI.add(ñ,{tilde over (v)}) is calculated. For j=0, . . . ,μ−2;j≠μ, κ(v2μ−1)=κ(vμ)=κ(1), and κ(vj)=κ(0). Finally, relatively low 2μ bits in ñ are used as a final result, and the circuit is denoted as ñ←I.mul(ã,{tilde over (b)}).
  • 4. Secure computation with multi-key is designed, and all secure unsigned/signed integer circuits constructed above can only be calculated with a same key. If calculation needs to be performed across different domains/keys, POCNet cannot be directly applied. A simple solution is to use a multi-key fully homomorphic encryption (MKFHE) scheme to construct a circuit. However, an existing MKFHE scheme is still inefficient compared to the TFHE in terms of storage requirements and computational overheads. Another solution is to use a bootstrap and a transformation key is used to map one encrypted domain to another encrypted domain. Since the bootstrap is remarkably effective in POCNet, the second method is used to achieve secure multi-key calculation.
  • To construct a secure computations layer in POCNet, all ciphertexts are transferred to a same encrypted domain σ for secure computation, that is, a DU j′ data domain is transformed into a σ data domain by using BKsj→σand a CSP m′ s data domain is transformed into a σ data domain by using BKs m →σ. After the computation is completed, for decryption, a CP uses BKσ→s b to transform a final result to an authorized user b. Since a transformation key acts as a public key, the bootstrap may be stored and executed at the CP without compromising privacy of a DU/CSP.
  • Since a parameter used in a CNN is usually a non-integer, the parameter cannot be directly used by a constructed signed integer circuit. To store the non-integer value, the non-integer value needs to be converted into a fixed-point number, denoted as msg(ã)·2x and (ã,2 x), and a ciphertext is ã=(
    Figure US20210019428A1-20210121-P00002
    μ−1, . . . ,
    Figure US20210019428A1-20210121-P00002
    0). It is noted that information of msg(ã) is not leaked when x is learned. For example, 0.25 may be denoted as 4×2−4, and stored as ({tilde over (c)},−4), where {tilde over (c)} stores an integer 4. When ã and {tilde over (c)} are not decrypted, it is very difficult for others to determine (ã,−2) and ({tilde over (c)},−2).
  • In this example, a lowercase letter and a hat ã are used to denote a fixed-point ciphertext, and an uppercase letter  is used to denote an encrypted matrix. The latter stores an encrypted fixed-point number âi,j (that is, a Scale-invariant LWE (SLWE) instance having a length of μ bits and an integer number) in each element, and i and j are limited by a size of the encrypted matrix.
  • In this example, secure data transformation (DT):ã=(ã, x) and y are given, where ã is a ciphertext having a length of μ bits, a goal of DT is to control a plaintext length value of ã and to produce a new ciphertext {circumflex over (n)}=({circumflex over (n)},z), such that msg(ã×2x)≈msg(ñ)×2z (x≤z). ñ in the latter is a ciphertext having a length of μ bits, and a non-integer is converted into a fixed-point number, thereby implementing calculation of the non-integer. The construction is performed as follows: It is set that nμ−1=. . . =nμ−1+x−z=
    Figure US20210019428A1-20210121-P00002
    μ−1 and nj+x−z=
    Figure US20210019428A1-20210121-P00002
    j(j=μ−2, . . . ,z−x), and the circuit in this case is denoted as {circumflex over (n)}←DT(â,z).
  • Secure ciphertext length control (CLC): CLC is used to securely control a length of a ciphertext, that is, ã is set to (ã,x) having a length of μ bits, to obtain a new ciphertext (ñ,z) of μ′−length ñ, such that msg(ã)×2x≈msg(ñ)×2z(μ≥μ′). Construction is performed as follows: It is set nj=
    Figure US20210019428A1-20210121-P00002
    μ−μ′+j(j=μ′−1, . . . ,0) and z=x+μ−μ′. Herein, the circuit is denoted as (ñ,z)←CLC(â,x),μ−μ′.
  • It is noted that a difference between DT and CLC is that ciphertexts of both input and output during DT are the same, while ciphertexts of both input and output during CLC may be different.
  • Secure data uniform transformation (Uni):âa−1=(ãa−1,xa−1), âa−2=(ãa−2,xa−2), âa−3=(ãa−3,xa−3) is input, and Uni outputs {circumflex over (n)}a−1=(ña−1,z){circumflex over (n)}a−2=(ña−2,z),{circumflex over (n)}a−3=(ña−3,z) such that msg(ñj)×2x=msg(ãj)×2z. Construction is performed as follows:
  • (1) Calculate z=min(xa−1, . . . ,x0).
  • For j=0, . . . , a−1, calculate (ñj,z)←DT((ãj,xj), z).
  • Based on Uni and secure integer computation, the following commonly used secure fixed-point calculation may be implemented:
  • Secure fixed-point number addition (F.add):â=(ã, x) and {circumflex over (b)}=({tilde over (b)},y) are given, and a goal of F.add is to calculate {circumflex over (n)}=(ñ,z), such that
  • msg(ñ×2z)=msg(ã)×2x+msg({tilde over (b)})×2y. Construction is performed is as follows:
  • Step 1: execute {circumflex over (b)}*=({tilde over (b)}*,z).
  • Step 2: calculate ñ←I.add(ã*,{tilde over (b)}*) and output (ñ,z).
  • A construction of a secure fixed-point number comparison circuit (F.cmp), a construction of a secure fixed-point number maximum selection circuit (F. maxe), and a construction of a secure fixed-point tuple maximum selection circuit (F. maxe) are similar to that of the F.add circuit. A difference lies in that in step 2 of F.add, I.add is correspondingly replaced with the secure integer circuits I.cmp, I.maxe, and I.maxt separately. Adding is performed separately. Next, secure fixed-point multiplication is constructed.
  • Secure fixed-point number multiplication (F.mul):â=(ã,x) and {circumflex over (b)}=({tilde over (b)},y) are given, and a goal of F.mul is to securely calculate a fixed-point result {circumflex over (n)}=(ñ,z), such that msg(ñ)×2z=msg(ã)×msg({tilde over (b)})×2x+y. Construction is performed is as follows:
  • Step 1: calculate {circumflex over (n)}←I.mul(ã,{tilde over (b)}).
  • Step 2: calculate (ñ,z)←CLC((ñ,x+y),2μ−μ′). After the calculation is completed, F.mul outputs (ñ,z).
  • Remark 1: DT, CLC, and Uni need only a data copy operation and do not need any arithmetic calculation. Therefore, the above two operations do not incur any computational cost at the CP.
  • Remark 2: To uniform the ciphertexts, both DT and CLC can be used for fixed-point number approximation. Both the circuits may cause some precision losses but can save significant computational and storage costs.
  • In this example, a convolution layer.
  • To enable a general technician to better understand the technical solutions of the present invention, the following describes the present invention in detail below with reference to the accompanying drawings.
  • A matrix X having a size of w1×h1×d1 and each filter matrix w having a size of s×s×d1 are given, and a ciphertext CONV outputs a matrix Y having a size of w2×h2×d2, where w2=(w1−s +2p)/e+1,h2=(h1−s+2p)/e+1, and p is a zero padding amount on a border, and e a size of a filter sliding step. Mathematically, Y is calculated based on the following formula:
  • y i , j , k = γ = 0 d i - 1 α = 0 s - 1 β = 0 s - 1 u α , β , γ , k · x ai + α , aj + β , γ .
  • It is set that w1=h1, to obtain w2=h2. Before construction, calculation of two fixed-point matrixes is described and introduced.
  • Secure fixed-point matrix addition (F.madd): Two encrypted matrixes {circumflex over (X)} and Ŷ having a size of a×b are input, and F.madd outputs matrixes Ĉ having a same size. An execution process is as follows: For 0≤i<a and 0≤i<b, calculate ĉi,j←F.add(ĉi,ji,j). Secure fixed-point convolutional computation (F.conv): An encrypted matrix Xi having a size of w1×w1 and an encrypted filter matrix Û having a size of s×s are input, and F.conv outputs an encrypted matrix of having a size of w2×w2 by using the following program: For 0≤i<w2, 0≤j<w2, 0≤a<s−1, and 0≤b<s−1, calculate âa,b,i,j←F. mul(ûa,b,{circumflex over (x)}ei+a,ej+b) and
  • ĉi,j←F.add(ĉi,ja,b,i,j).
  • An architecture of a SCONV layer: d1 encrypted matrixes {circumflex over (X)}i and a matrix Ûi,j having a size of d1×d2 are input, and a SCONV layer outputs d2 encrypted matrixes Ŷj. The architecture is as follows:
  • (1) Initialize each element in Ŷj, and set an encrypted value to 0.
  • (2) For i=0, . . . ,d1−1,j=0, . . . ,d2−1, calculate {circumflex over (X)}′i,j←F. conv({circumflex over (X)}ii,j) and Ŷ′i,j←F.madd(Ŷi,{circumflex over (X)}′i,j).
  • In this example, a pooling layer is specifically as follows: Max-pooling is used as a pool, and a w1×w1 encrypted matrix is input, and an w2×w2 encrypted matrix is output. Because a secure extreme value function is used, each block of t×t is reduced to a single encrypted value, where in w2 =(w1−t+2p)/e+1, p is padding, t is a size of a filter, and e is a step (for example, w1=4,t=2,p=0,e=2,w2=2). Herein, F.maxe is used to construct a secure maximum pooling protocol, and then a secure pooling layer is constructed by using the secure maximum pooling protocol. A t×t encrypted matrix {circumflex over (X)} is given, each encrypted fixed-point number {circumflex over (x)}i,j(0≤i,j≤t−1) is an encrypted fixed-point number {circumflex over (x)}* output by F.pool, and {circumflex over (x)}* has a maximum plaintext value from the t2 encrypted elements.
      • (i) Xi,j(0≤i,j≤t−1) is inserted into a set Θ. They are denoted as {circumflex over (x)}′0, . . . ,{circumflex over (x)}′t 2 −1, where s(Θ) denotes a size of the set Θ.
      • (ii) The following program is repeated, until the set Θ has only one element. In other words, if s(Θ)=1, the element is used as a finally output {circumflex over (x)}*. Therefore, the algorithm is executed as follows:
  • If a size of s(Θ) is mod2=0 and s(Θ)>1, for i=0 to s(Θ)/2−1,{circumflex over (x)}*←F.maxe({circumflex over (x)}′2i;{circumflex over (x)}′2i+1) is calculated,
    Figure US20210019428A1-20210121-P00999
    *0,L,
    Figure US20210019428A1-20210121-P00999
    (S(Θ)−1)/2−1 is inserted into the set Θ, and it is set that Θ←Θ′.
  • If a size of s(Θ) is mod2≠0 and s(Θ)>1, for i=0 to (s(Θ)−1)/2−1,{circumflex over (x)}* ←F.maxe({circumflex over (x)}′2i;{circumflex over (x)}′2i+1) is calculated.
    Figure US20210019428A1-20210121-P00999
    *0,L,
    Figure US20210019428A1-20210121-P00999
    (S(Θ)−1)/2−1 is inserted into a set Θ′, and it is set that Θ←Θ′.
  • The secure pooling layer is implemented as follows: To construct the secure pooling layer, a w1×w1 encrypted matrix {circumflex over (X)} is input and output is obtained (that is, an w2×w2encrypted matrix Ŷ). The following steps are performed: for 0≤i≤w2−1 and 0≤j≤w21,
      • (i) constructing each encrypted matrix
        Figure US20210019428A1-20210121-P00999
        i,j having a size of t×t , where for
        Figure US20210019428A1-20210121-P00999
        i,j,a,b=
        Figure US20210019428A1-20210121-P00999
        ei+a,ej+b, 0≤a≤t−1,0≤b≤t−1, and e is a step; and
      • (ii) executing
        Figure US20210019428A1-20210121-P00999
        i,j←F.pool(
        Figure US20210019428A1-20210121-P00999
        i,j), where after the calculation is performed, ŷi,j is used as an element of Ŷ.
  • In this example, an ReLU function is specifically as follows: A t×t encrypted matrix {circumflex over (X)} is given, and a goal of an SReLU is to produce a t×t encrypted matrix Ŷ, such that msg(ŷi,j)←ReLU(msg({circumflex over (x)}x,j))=max(0,msg({circumflex over (x)}i,j)). To implement the SReLU, a simplest method is to securely calculate the ReLU function element by element. As an encrypted fixed-point number,
    Figure US20210019428A1-20210121-P00999
    0 stores an integer of 0.
  • In this example, a fully-connected layer is specifically a secure fixed-point inner product circuit (F.inp): Two encrypted vectors {circumflex over (X)}=({circumflex over (x)}0, . . . ,{circumflex over (x)}a−1) and Ŷ=(ŷ0, . . . ,ŷa−1) are given, and F.inp outputs {circumflex over (n)}, where
  • msg ( n ^ i ) = j = 0 n - 1 msg ( x ^ j ) · msg ( y ^ j ) .
  • Then construction is performed as follows: ñF.mul({circumflex over (x)}00). For j=1, . . . ,a−1,{tilde over (t)}j←F.mul({circumflex over (x)}jj) and {tilde over (f)}←F.add(ŷ,{circumflex over (t)}j) are calculated.
  • The fully-connected layer (SFC) is implemented as follows: Encrypted vectors {circumflex over (X)}=({circumflex over (x)}0, . . . ,{circumflex over (x)}a−1) and Ŷi =(ŷi,0, . . . ,ŷi,a−1)(0≤i≤b−1) are input, and the secure fully-connected layer outputs {circumflex over (N)}=({circumflex over (n)}0, . . . ,{circumflex over (n)}b−1), where
  • msg ( n ^ i ) = j = 0 n - 1 msg ( x ^ j ) · msg ( y ^ i , j ) .
  • The SFC is run as follows: For i=0, . . . ,b−1, calculate ñi←F.inp({circumflex over (X)},Ŷi).
  • In this example, secure Softmax regression needs to be used in conjunction with the secure fully-connected layer to achieve multi-class classification. For a plaintext version (x0,d0), . . . ,(xt−1,dt−1) of a softmax layer with input, a softmax function first produces y=(y0, . . . ,yt−1), where
  • y i = e x i j = 0 t - 1 e x j ( i = 0 , , t - 1 ) ,
  • for all 0≤j<k and j≠a, if ya>yj, a finally output unit is da. Since an SSOFT needs to output a ciphertext label, and ex is a monotonically increasing function, only a maximum xmax needs to be found by using (x0, . . . ,xt−1) and a corresponding dmax is output. The above construction is performed as follows:
  • An SSOFT layer is implemented as follows: t encrypted tuples ({circumflex over (x)}0,{circumflex over (d)}0), . . . , {circumflex over (x)}t−1,{circumflex over (d)}t−1) are given; and the SSOFT finally outputs an encrypted identity {circumflex over (d)}*. Construction is performed as follows:

  • pi is inserted into Θ, where S(Θ) denotes a size of the set Θ.
  • This process is similar to an F.pool architecture, except that F.maxe is replaced with F.maxt.
  • After the calculation is completed, only one tuple ({circumflex over (x)}*0,{circumflex over (d)}*0) is left in Θ, and the encrypted identity that is finally output is denoted as {circumflex over (d)}={tilde over (d)}*0.
  • In this example, the user-defined non-linear activation function is preferably implemented. During calculation of the non-linear function, a function structure is also preserved.
  • Details are as follows:
  • Privacy-preserving piecewise polynomial calculation protocol: A ciphertext {circumflex over (x)}0 and an encrypted piecewise function f(x)=fi(x) (if pi≤x<pi−1) are given, where fi(x)=ai,k−1xk−1 +. . . +ai,1x+ai,0, 0≤i≤z , and k≥1 (all fixed-point coefficients ai,k−1, . . . , ai,0 (stored as ãi,k−1, . . . , ãi,0), and piecewise intervals and pi−1 are encrypted (stored as {circumflex over (p)}i−1, . . . ,{circumflex over (p)}i,0). A goal of the privacy-preserving piecewise polynomial calculation protocol is for secure computation and encryption f(msg({circumflex over (x)}0)). Details are as follows:
  • Step 1: calculate an encrypted value of x x2, . . . , xk−1, where it is set that {circumflex over (t)}1={circumflex over (x)}0. If k>2, for j=2, . . . ,k−1, calculate {circumflex over (t)}j←F.mul({circumflex over (x)}0,{circumflex over (t)}j−1). Before Uni is executed, if k=1, for i=0, . . . ,z−1, it is set that ŷii,0, and skip to step 3 for processing. Otherwise, step 2 is performed.
  • Step 2: output encryption fi (x) that is denoted as ŷi. Construction thereof is performed as follows: For i=0, . . . , z−1, record that ŷii,0; then for i=0, . . . ,z−1 and j=1, . . . ,k−1, calculate ĝi,j←F.mul({circumflex over (t)}ji,j) and ŷi←F·add(ŷii,j).
  • Step 3: normalize all encrypted fixed-point numbers to same precision, and calculate (ŷ′0, . . . ,ŷ′z−1)←Uni(ŷ0, . . . ,ŷz−1), where for i=0, . . . ,z−1,ŷ′i=({tilde over (y)}′,c).
  • Step 4: securely compare x and a relationship between piecewise intervals and pi−1 and pi, that is,
  • (1) for i1=−1, . . . ,z−1, calculating ℑi 1 ←F.cmp ({circumflex over (x)}0,{circumflex over (p)}i 1 );
  • (2) for i2=0, . . . ,z−2, calculating ℑ′i 2 ←H.not(ℑi 2 );
  • (3) for i3=0, . . . ,z−1 , calculating ℑ*i 3 ←H.xnor(ℑ′i 3 ,ℑi 3 −1). Note: For ℑ*0, . . . ,ℑ*z−1, only one plaintext is equal to 1, and others are equal to 0.
  • Step 5: use encrypted bits ℑ*0, . . . ,ℑ*z−1, and select an encrypted value from {tilde over (y)}′0, . . . ,{tilde over (y)}′z−1 by calculating {tilde over (f)}←I. movb({tilde over (y)}′0, . . . ,{tilde over (y)}′z−1;ℑ*0, . . . ,ℑ*z−1); finally, output {circumflex over (f)}=({tilde over (f)},c), where {tilde over (f)}=(fμ−1, . . . ,f0).
  • Implement function privacy: Our privacy-preserving piecewise polynomial calculation protocol ensures privacy of user data and a user-defined function structure by performing the following setting: (1) Quantities of subfunctions used in a piecewise polynomial are the same for piecewise functions of all users. 2) Subfunctions of all the users share a same degree k.
  • The afore-mentioned are only preferred examples of the present invention, and all equivalent changes and modifications made in accordance with the claims of the present invention shall fall within the scope of the present invention.

Claims (9)

What is claimed is:
1. A preservation system for preserving privacy of outsourced data in a cloud based on a deep convolutional neural network (CNN), wherein the system comprises a key generation center, a cloud platform, a data user, and a CNN service providing unit; the key generation center is an entity trusted by all other entities in the system, and is responsible for distributing and managing all keys of a data user or a CNN service provider, and all boot keys of the cloud platform; the cloud platform stores and manages encrypted data outsourced from a registrant in the system, and provides a computing capability to perform a homomorphic operation on the encrypted data; the CNN service provider provides a required deep CNN classification model for the data user, and a decision result reflects a current situation of the data user.
2. The preservation method for preserving privacy of outsourced data in a cloud based on a deep CNN according to claim 1, comprising the following steps:
step S1: transferring, by the data user, the encrypted data to the CNN service providing unit by using the cloud platform; and
step S2: after processing the encrypted data, outputting, by the CNN service providing unit, a ciphertext result and storing the ciphertext result on the cloud platform.
3. The preservation method for preserving privacy of outsourced data in a cloud based on a deep CNN according to claim 2, wherein step S2 is specifically as follows:
step S21: converting a format of the encrypted data, to obtain converted encrypted data;
step S22: processing the converted encrypted data sequentially by using a convolutional layer, a pooling layer, and an ReLU function of the CNN; and
step S23: executing full connection calculation and activation function calculation of the CNN, and outputting the ciphertext result.
4. The preservation method for preserving privacy of outsourced data in a cloud based on a deep CNN according to claim 3, wherein the format conversion comprises secure data transformation, secure ciphertext length control, and unified conversion of secure data.
5. The preservation method for preserving privacy of outsourced data in a cloud based on a deep CNN according to claim 3, wherein the convolutional layer specifically inputs d1 encrypted matrixes {circumflex over (X)}i and a matrix Ûi,j having a size of d1×d2 , the convolutional layer outputs d2 encrypted matrixes Ŷj, and an architecture is as follows:
(1) initializing each element in Ŷj by encrypting 0; and
(2) for i=0, . . . ,d1−1,j=0, . . . ,d2−1, calculating {circumflex over (X)}′i,j←F.conv({circumflex over (X)}ii,j) and Ŷ′j←F.madd(Ŷj,{circumflex over (X)}′i,j).
6. The preservation method for preserving privacy of outsourced data in a cloud based on a deep CNN according to claim 3, wherein the pooling layer specifically inputs a w1×w1 encrypted matrix {circumflex over (X)} and obtains output (that is, a w2×w2encrypted matrix Ŷ), and performs the following steps: for 0≤i≤w2−1 and 0≤j≤w2−1,
(i) constructing each encrypted matrix
Figure US20210019428A1-20210121-P00999
i,j having a size of t×t, wherein for
Figure US20210019428A1-20210121-P00999
i,j,a,b=
Figure US20210019428A1-20210121-P00999
ei+a,ej+b, 0≤a≤t −1, 0≤b≤t−1, and e is a step; and
(ii) executing ŷi,j←F.pool(Ĉi,j), wherein after the calculation is performed,
Figure US20210019428A1-20210121-P00999
i,j is used as an element of Ŷ.
7. The preservation method for preserving privacy of outsourced data in a cloud based on a deep CNN according to claim 3, wherein for the ReLU function, a t×t encrypted matrix {circumflex over (X)} is specifically given, and a goal of an SReLU is to produce a t×t encrypted matrix Ŷ, such that msg(ŷi,j)←ReLU(msg({circumflex over (x)}x,j))=max(0, msg({circumflex over (x)}i,j)).
8. The preservation method for preserving privacy of outsourced data in a cloud based on a deep CNN according to claim 3, wherein the full connection calculation of the CNN is specifically as follows:
inputting encrypted vectors
Figure US20210019428A1-20210121-P00999
=(
Figure US20210019428A1-20210121-P00999
0,L,
Figure US20210019428A1-20210121-P00999
a−1) and
Figure US20210019428A1-20210121-P00999
=(
Figure US20210019428A1-20210121-P00999
i,0,L,
Figure US20210019428A1-20210121-P00999
i,a−1)0≤i≤b−1), and outputting, by a secure fully connected layer,
Figure US20210019428A1-20210121-P00999
=(
Figure US20210019428A1-20210121-P00999
0,L,
Figure US20210019428A1-20210121-P00999
b−1), wherein msg({circumflex over (n)}j)=Σj=0 a−1msg({circumflex over (x)}j)·msg(ŷi,j); and for i=0, . . . ,b−1, calculating
Figure US20210019428A1-20210121-P00999
←F.inp(
Figure US20210019428A1-20210121-P00999
,
Figure US20210019428A1-20210121-P00999
i).
9. The preservation method for preserving privacy of outsourced data in a cloud based on a deep CNN according to claim 3, wherein the activation function calculation of the CNN is specifically as follows: giving t encrypted tuples (
Figure US20210019428A1-20210121-P00999
0,
Figure US20210019428A1-20210121-P00999
0),L,(
Figure US20210019428A1-20210121-P00999
t−1,
Figure US20210019428A1-20210121-P00999
t−1); and finally outputting, by an SSOFT, an encrypted identity {circumflex over (d)}*, wherein construction is performed as follows:
(1) pi is inserted into Θ, wherein s(Θ) denotes a size of the set Θ; and
(2) this process is similar to an F.pool architecture, except that F.maxe is replaced with F.maxt;
wherein after the calculation is completed, only one tuple (
Figure US20210019428A1-20210121-P00999
*0,
Figure US20210019428A1-20210121-P00999
*0) is left in Θ, and the encrypted identity that is finally output is denoted as {circumflex over (d)}*={circumflex over (d)}*0.
US16/930,943 2019-07-19 2020-07-16 Preservation system for preserving privacy of outsourced data in cloud based on deep convolutional neural network Pending US20210019428A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910653448.6A CN110598438B (en) 2019-07-19 2019-07-19 Cloud protection outsourcing data privacy protection system based on deep convolutional neural network
CN201910653448.6 2019-07-19

Publications (1)

Publication Number Publication Date
US20210019428A1 true US20210019428A1 (en) 2021-01-21

Family

ID=68853002

Family Applications (1)

Application Number Title Priority Date Filing Date
US16/930,943 Pending US20210019428A1 (en) 2019-07-19 2020-07-16 Preservation system for preserving privacy of outsourced data in cloud based on deep convolutional neural network

Country Status (2)

Country Link
US (1) US20210019428A1 (en)
CN (1) CN110598438B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114003961A (en) * 2021-12-03 2022-02-01 青岛大学 Deep neural network reasoning method with privacy protection
CN116484430A (en) * 2023-06-21 2023-07-25 济南道图信息科技有限公司 Encryption protection method for user privacy data of intelligent psychological platform

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111324870B (en) * 2020-01-22 2022-10-11 武汉大学 Outsourcing convolutional neural network privacy protection system based on safe two-party calculation
CN112906715A (en) * 2021-02-19 2021-06-04 电子科技大学 Safety image feature extraction and classification method based on deep neural network
CN113423086B (en) * 2021-03-18 2022-08-05 北京邮电大学 Vehicle matching method and related equipment thereof

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180330179A1 (en) * 2017-05-11 2018-11-15 Veridium Ip Limited System and method for biometric identification
CN110197234A (en) * 2019-06-13 2019-09-03 四川大学 A kind of encryption traffic classification method based on binary channels convolutional neural networks
US20190334716A1 (en) * 2018-04-27 2019-10-31 The University Of Akron Blockchain-empowered crowdsourced computing system
US20200017117A1 (en) * 2018-07-14 2020-01-16 Stephen Milton Vehicle-data analytics
US20200036510A1 (en) * 2018-07-25 2020-01-30 Sap Se Neural network encryption system
US20200213079A1 (en) * 2018-05-04 2020-07-02 Cornami Inc. Method and Apparatus for Configuring a Reduced Instruction Set Computer Processor Architecture to Execute a Fully Homomorphic Encryption Algorithm
US20200228336A1 (en) * 2018-03-07 2020-07-16 Private Identity Llc Systems and methods for privacy-enabled biometric processing
US20200252198A1 (en) * 2019-02-06 2020-08-06 International Business Machines Corporation Secure Multi-Party Learning and Inferring Insights Based on Encrypted Data
US10873456B1 (en) * 2019-05-07 2020-12-22 LedgerDomain, LLC Neural network classifiers for block chain data structures
US20210014039A1 (en) * 2019-07-08 2021-01-14 Tencent America LLC Distributed and collaborative analytics of encrypted data using deep polynomial networks
US20210014205A1 (en) * 2019-07-08 2021-01-14 Caci International Inc. Systems and methods for securing information
CN112906715A (en) * 2021-02-19 2021-06-04 电子科技大学 Safety image feature extraction and classification method based on deep neural network
WO2022042848A1 (en) * 2020-08-27 2022-03-03 Ecole Polytechnique Federale De Lausanne (Epfl) System and method for privacy-preserving distributed training of neural network models on distributed datasets
US20220247551A1 (en) * 2019-04-23 2022-08-04 Onespan Nv Methods and systems for privacy preserving evaluation of machine learning models

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9699146B1 (en) * 2014-11-04 2017-07-04 Amazon Technologies, Inc. Secure access to user data
CN108712260B (en) * 2018-05-09 2021-06-25 曲阜师范大学 Multi-party deep learning computing agent method for protecting privacy in cloud environment
CN109086866B (en) * 2018-07-02 2021-07-30 重庆大学 Partial binary convolution method suitable for embedded equipment
CN109885650B (en) * 2019-01-08 2021-05-11 南京邮电大学 Outsourcing cloud environment privacy protection ciphertext sorting retrieval method
CN110008717B (en) * 2019-02-26 2023-04-11 东北大学 Decision tree classification service system and method supporting privacy protection

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180330179A1 (en) * 2017-05-11 2018-11-15 Veridium Ip Limited System and method for biometric identification
US20200228336A1 (en) * 2018-03-07 2020-07-16 Private Identity Llc Systems and methods for privacy-enabled biometric processing
US20190334716A1 (en) * 2018-04-27 2019-10-31 The University Of Akron Blockchain-empowered crowdsourced computing system
US20200213079A1 (en) * 2018-05-04 2020-07-02 Cornami Inc. Method and Apparatus for Configuring a Reduced Instruction Set Computer Processor Architecture to Execute a Fully Homomorphic Encryption Algorithm
US20200017117A1 (en) * 2018-07-14 2020-01-16 Stephen Milton Vehicle-data analytics
US20200036510A1 (en) * 2018-07-25 2020-01-30 Sap Se Neural network encryption system
US20200252198A1 (en) * 2019-02-06 2020-08-06 International Business Machines Corporation Secure Multi-Party Learning and Inferring Insights Based on Encrypted Data
US20220247551A1 (en) * 2019-04-23 2022-08-04 Onespan Nv Methods and systems for privacy preserving evaluation of machine learning models
US10873456B1 (en) * 2019-05-07 2020-12-22 LedgerDomain, LLC Neural network classifiers for block chain data structures
CN110197234A (en) * 2019-06-13 2019-09-03 四川大学 A kind of encryption traffic classification method based on binary channels convolutional neural networks
US20210014039A1 (en) * 2019-07-08 2021-01-14 Tencent America LLC Distributed and collaborative analytics of encrypted data using deep polynomial networks
US20210014205A1 (en) * 2019-07-08 2021-01-14 Caci International Inc. Systems and methods for securing information
WO2022042848A1 (en) * 2020-08-27 2022-03-03 Ecole Polytechnique Federale De Lausanne (Epfl) System and method for privacy-preserving distributed training of neural network models on distributed datasets
CN112906715A (en) * 2021-02-19 2021-06-04 电子科技大学 Safety image feature extraction and classification method based on deep neural network

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Chiraag Juvekar and Vinod Vaikuntanathan and Anantha Chandrakasan; {GAZELLE}: A Low Latency Framework for Secure Neural Network Inference; USENIX Association ;1651--1669; 2018 (Year: 2018) *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114003961A (en) * 2021-12-03 2022-02-01 青岛大学 Deep neural network reasoning method with privacy protection
CN116484430A (en) * 2023-06-21 2023-07-25 济南道图信息科技有限公司 Encryption protection method for user privacy data of intelligent psychological platform

Also Published As

Publication number Publication date
CN110598438A (en) 2019-12-20
CN110598438B (en) 2023-05-30

Similar Documents

Publication Publication Date Title
US20210019428A1 (en) Preservation system for preserving privacy of outsourced data in cloud based on deep convolutional neural network
JP7064682B2 (en) Privacy protection based on homomorphic encryption Multi-institutional data classification method
US11301571B2 (en) Neural-network training using secure data processing
US11354539B2 (en) Encrypted data model verification
US20220092216A1 (en) Privacy-preserving machine learning in the three-server model
Liu et al. Privacy-preserving outsourced calculation toolkit in the cloud
US11343068B2 (en) Secure multi-party learning and inferring insights based on encrypted data
Zhong et al. An efficient and outsourcing-supported attribute-based access control scheme for edge-enabled smart healthcare
US20200366459A1 (en) Searching Over Encrypted Model and Encrypted Data Using Secure Single-and Multi-Party Learning Based on Encrypted Data
US9049023B2 (en) Outsourcing the decryption of functional encryption ciphertexts
US20210209247A1 (en) Privacy-preserving machine learning in the three-server model
Sathya et al. A review of homomorphic encryption libraries for secure computation
CN108737115B (en) Private attribute set intersection solving method with privacy protection
CN110059501B (en) Safe outsourcing machine learning method based on differential privacy
CN112347495A (en) Trusted privacy intelligent service computing system and method based on block chain
CN114696990B (en) Multi-party computing method, system and related equipment based on fully homomorphic encryption
CN109547201A (en) A kind of encryption method of root key, computer readable storage medium and terminal device
CN101842824B (en) Pairing computation device, pairing computation method, and recording medium where pairing computation program is recorded
Parashar et al. Symmetric key encryption technique: A cellular automata based approach
Aditya et al. Image encryption using dynamic DNA encoding and pixel scrambling using composite chaotic maps
CN112906715A (en) Safety image feature extraction and classification method based on deep neural network
Kibiwott et al. Privacy Preservation for eHealth Big Data in Cloud Accessed Using Resource-Constrained Devices: Survey.
CN115941351A (en) Trusted privacy computing system based on cloud service and encryption technology
Zhang et al. A secure and privacy-preserving word vector training scheme based on functional encryption with inner-product predicates
CN115309928A (en) Image encryption retrieval method, device and medium capable of hiding data access

Legal Events

Date Code Title Description
AS Assignment

Owner name: FUZHOU UNIVERSITY, CHINA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:LIU, XIMENG;GUO, WENZHONG;LI, JIAYIN;AND OTHERS;REEL/FRAME:053691/0141

Effective date: 20200713

STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: FINAL REJECTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED