Patent Publication Number: US-2011060901-A1

Title: Cryptographic System for Performing Secure Iterative Matrix Inversions and Solving Systems of Linear Equations

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application claims the benefit of U.S. Provisional Application No. 61/240,181 filed on Sep. 4, 2009 by the present inventors, which is incorporated herein by reference. 
    
    
     TECHNICAL FIELD 
     Disclosed embodiments relate to cryptography methods and systems. Specifically, they relate to cryptosystems for the execution of operations directly on encrypted data. 
     BACKGROUND 
     In modern society, digital data about individuals can be found relatively easily in the communication networks, especially the Internet. Although the public supports the last decades&#39; advances in digital networks, the sensitive nature of this data motivates the raise of an increasing concern about the public availability of personal data, and the processing performed on it. For instance, in Europe this concern has been reflected in a series of Directives, dealing with the protection of individuals&#39; personal data. Directive 95/46/EC deals with the protection of individuals with regard to the processing of personal data and the free movement of such data, where personal data means any information relating to an identified or identifiable natural person. One of the main ideas of this Directive is that data processing systems must respect the fundamental rights and freedoms, especially the right to privacy. Similar laws and directives regarding informational privacy have been proposed in the US and other developed countries. These include Internet privacy, medical privacy, financial privacy, law enforcement privacy, and political privacy. 
     There are currently numerous methods available to provide security to a database containing data intended to be held private to third parties. This problem is solved by methods of secure authentication. These methods are widely used to protect the security of databases containing medical, financial, and other types of data. An additional level of security can be added by encrypting all the data contained within the secure database and transmitted to and from the secure database during uploading or downloading operations. This is especially useful when data must be transmitted over a potentially unsecure medium such as computer networks. However, even in these increased security systems at some point the encrypted data is decrypted by an authorized user to perform the necessary data analysis tasks. For instance, in the case of medical research the secure clinical data management system containing the encrypted clinical data and physiological time-series corresponding to a particular study, research, or clinical trial requires the authorized researcher to decrypt the data in order to perform the needed mathematical analysis, signal processing, and statistical analysis in order to generate the study results. There are situations where this conventional framework does not meet the security requirements, that is, in order to analyze and process the encrypted data, such data should not be first decrypted (i.e. the data should be kept encrypted at all times). There are situations where data should be completely private even to researchers, clinical administrators, and system administrators. This may be due to purely privacy reasons or due to research considerations. For instance, certain studies may require scientists and researchers to be completely blinded and the hypothesis and analysis methods to be chosen a-priori. In order to accomplish this, methods for performing the typical mathematical operations and computations including statistical analysis techniques, algebraic methods, signal processing methods, and other computation operations directly on the encrypted datasets are needed. Currently, the availability of such secure methods and cryptosystems is limited. 
     Conventional cryptographic protocols deal with the problem of protecting some private information from an unauthorized third party that otherwise could modify or have access to the information. In the scenario of secure processing, where the privacy must be preserved not only against an unauthorized third party, but also against the parties that process the data, there are no available systems or methods that can be used in real-world scenarios in terms of both computational cost and communication complexity. 
     Up to now, the efficient protocols presented in the field of signal processing in the encrypted domain have been focused on linear operations, like scalar products, and non-iterative algorithms. Nevertheless, there are many basic algorithms needed for most signal processing applications that are iterative and involve not only scalar products with known values, but also products between two a-priori unknown sequences. The lack of these algorithms would suppose missing a powerful and irreplaceable tool that enables almost any signal processing application and most types of analysis methods. 
     Currently there is no practical fully homomorphic cryptosystem, that is, there is no secure cryptosystem that allows for the homomorphic computation of additions and products without restrictions. There has been a recent contribution by Gentry that presents a cryptosystem based on ideal lattices with bootstrappable decryption, and it has been shown that it achieves a full homomorphism. Nevertheless, the authors of this method concede that making the scheme practical remains an open problem. 
     At the moment there are no cryptosystems available that are capable of performing computations such as solving systems of linear equations without imposing any restrictions on the matrix coefficients. These cryptosystems are a critical building block needed to develop and implement more complex cryptosystems capable of performing advanced signal processing, computation, and analysis directly on encrypted data. 
     SUMMARY 
     According to one embodiment, the proposed system involves a cryptographic system (i.e. a cryptosystem) for the execution of operations directly on encrypted data, that is, a system designed to address the problem of efficiently processing signals in untrusted environments, where not only the communication channel between parties is unsecure, but also the parties that perform the computation cannot be trusted. 
     Disclosed embodiments include a cryptographic system implemented in at least one digital computer with one or more processors or hardware such as FPGAs for performing iterative secure computations, analysis, and signal processing directly on encrypted data in untrusted environments. According to a basic embodiment, the proposed cryptographic system comprises: (a) at least one secure protocol for performing matrix multiplications in the encrypted domain, and (b) at least one secure iterative protocol for performing matrix inversions and solving systems of equations based on an iterative secure protocol substantially equivalent to a Newton secure protocol. According to a particular embodiment, and without limitation, the system comprises a plurality of privacy-preserving protocols for solving systems of linear equations (SLE) directly based on homomorphic computation and secret sharing. More specifically, according to a particular embodiment the system uses a secure iterative protocol whereby systems of linear equations and matrix inversions are solved securely and iteratively without imposing any restrictions on the matrix coefficients based on an iterative protocol substantially equivalent to a Newton secure protocol. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       Disclosed embodiments are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings. 
         FIG. 1  shows a block diagram to illustrate the cryptographic system according to one embodiment. 
         FIG. 2  shows a high level block diagram to illustrate the operation of the cryptographic system. 
         FIG. 3  shows a block diagram to illustrate the secure iterative protocol for performing matrix inversions in the encrypted domain according to one embodiment. 
     
    
    
     DETAILED DESCRIPTION 
       FIG. 1  shows a block diagram of the cryptographic system  102  according to one embodiment. The embodiments disclosed describe how to realize a cryptographic system  102  for performing secure mathematical computations, signal processing, statistical signal processing, statistics, and data analysis directly on encrypted data  100  in untrusted environments. According to one embodiment, the system involves a cryptosystem  102  for the execution of operations directly on encrypted data  100 , that is, a system designed to address the problem of efficiently processing signals in untrusted environments, where not only the communication channel between parties is unsecure, but also the parties that perform the computation cannot be trusted. 
     There are currently numerous methods available to provide security to a database containing data intended to be held private to third parties. This problem is solved by methods of secure authentication. These methods are widely used to protect the security of databases containing medical, financial, and other types of data. An additional level of security can be added by encrypting all the data contained within the secure database and transmitted to and from the secure database during uploading or downloading operations. This is especially useful when data must be transmitted over a potentially unsecure medium such as computer networks. However, even in these increased security systems at some point the encrypted data is decrypted by an authorized user to perform the necessary data analysis tasks. For instance, in the case of medical research the secure clinical data management system containing the encrypted clinical data and physiological time-series corresponding to a particular study, research, or clinical trial requires the authorized researcher to decrypt the data in order to perform the needed mathematical analysis, signal processing, and statistical analysis in order to generate the study results. There are situations where this conventional framework does not meet the security requirements, that is, in order to analyze and process the encrypted data, such data should not be first decrypted (i.e. the data should be kept encrypted at all times). There are situations where data should be completely private even to researchers, clinical administrators, and system administrators. This may be due to purely privacy reasons or due to research considerations. For instance, certain studies may require scientists and researchers to be completely blinded and the hypothesis and analysis methods to be chosen a-priori. In order to accomplish this, methods for performing the typical mathematical operations and computations including statistical analysis techniques, algebraic methods, signal processing methods, and other computation operations directly on the encrypted datasets are needed. Currently, the availability of such secure methods and cryptosystems is limited. 
     According to a disclosed embodiment, the cryptographic system  102  is implemented in a digital computer with one or more processors for performing secure computations and signal processing directly on encrypted data  100  in untrusted environments, said cryptographic system  102  comprises: (a) at least one secure protocol for performing matrix multiplications in the encrypted domain  104 , and (b) at least one secure iterative protocol for performing matrix inversions and solving systems of linear equations based on an iterative protocol substantially equivalent to a Newton secure protocol  106  (the Newton secure protocol embodiment is described in detail below). According to a particular embodiment, and without limitation, the system uses a secure iterative protocol whereby systems of linear equations are solved securely and iteratively to directly generate the results  112  of such secure mathematical computations, signal processing, statistical signal processing, statistics, and data analysis directly on encrypted data  100  in untrusted environments. According to other embodiments the disclosed cryptosystem can be implemented in other hardware besides a digital computer including microcontrollers, DSPs, FPGAs or ASICs, as well as in firmware and software. 
     The disclosed embodiments of the cryptosystem  102  and associated secure protocols have specific and substantial utility by themselves as systems and methods for cryptography and secure (encrypted) computation but also in a variety of practical applications in diverse fields including secure clinical data management systems, secure web-enabled platforms for collaboration involving privacy data, secure law enforcement systems, secure financial systems, and secure military systems involving transmission of encrypted data to be processed in real-time without decryption. 
     According to a basic embodiment, the proposed cryptographic system  102  comprises: (a) at least one secure protocol for performing matrix multiplications in the encrypted domain  104 , and (b) at least one secure iterative protocol for performing matrix inversions based on a secure iterative protocol substantially equivalent to a Newton secure protocol  106  whereby systems of linear equations are solved securely using a secure multiplication protocol based on homomorphic computation  108  and secret sharing  110  without placing any restrictions on the nature of the matrix coefficients (i.e. the matrix coefficients can be real numbers or complex numbers) and the matrix inverse calculated iteratively. 
     By way of example, and not by way of limitation, the embodiments of the disclosed cryptosystem  102  can be used to perform direct analysis and processing in encrypted clinical, financial, national security, military, law enforcement, and political data without the need to decrypt said data prior to performing said analysis and processing. For instance, according to one embodiment the disclosed cryptosystem  102  can be used to realize and implement a secure clinical system wherein all patient data, clinical history, clinical data, physiologic data and time series, biochemical data, and drug therapy data are encrypted at all times for secure transmission, management, and collaboration among researchers and clinicians; and all operations, processing, and statistical analysis performed on such data is conducted on the encrypted domain (i.e. with the data encrypted at all times). A specific particular embodiment of such secure clinical data management and analysis system comprises (a) at least one secure protocol for performing matrix multiplications in the encrypted domain  104 , and (b) at least one secure iterative protocol for performing matrix inversions based on a secure iterative protocol substantially equivalent to a Newton secure protocol  106  in addition to the well-known elements comprising clinical management systems. 
       FIG. 2  shows a high level diagram to illustrate the operation of the cryptographic system according to one embodiment. In the embodiment illustrated, and without limitation, there are two parties    200  and    220 . The first party owns an encrypted matrix [[A]] and an encrypted vector [[b]], as well as the key for producing encryptions using a homomorphic encryption  202 . The party   owns both the encryption and decryption key  216  for the same homomorphic encryption. The cryptographic system is used at both ends  206  and  212  in order to privately solve the linear system of equations A·x=b. This cryptographic system comprises a secure protocol of communication between both ends  208  and  214  that defines the operations performed and the format of the interchanged numbers in order to interactively solve the system without disclosing any information. This communication takes place over any communication channel  210  (e.g., a wired or wireless medium or a sole device). After the execution of the secure protocol, the system outputs the solution x  204  and  218  to the linear system of equations A·x=b. It is important to note that both   and   can represent a plurality of parties or entities (not necessarily a single entity). 
     Secure matrix multiplication (linear transformations), computing matrix inversions, and solving linear systems of equations iteratively in the encrypted domain are fundamental mathematical building blocks to solve a great variety of problems involving data analysis, time-series analysis, digital signal processing, statistical signal processing, optimal filtering, adaptive filtering, digital communications, coding, encryption, information theory, and any other problem involving the least squares framework and representation of signals in vector spaces. 
     While particular embodiments are described, it is understood that, after learning the teachings contained in this disclosure, modifications and generalizations will be apparent to those skilled in the art without departing from the spirit of the disclosed embodiments. 
     A. Mathematical Notation. 
     In the detailed description the following mathematical notation is used. The mathematical notation is thoroughly described in this section to aid those skilled in the art to understand, implement, and practice the disclosed embodiments. 
     In the description we use indistinctly lowercase letters to represent classes in a ring (  +, ·) and a representative of that class in the interval [0, n). ┌.┘ represents the rounding function of a number to the nearest integer. 
     The used vectors have size L and are represented by lower-case boldface letters, whereas matrices are represented by upper-case boldface letters. A′={α i,j } r,s   t,u  represents the submatrix of A of size (t−r+1)×(u−s+1), defined by a α′ i,j =α i+r−1,j+s−1 . 
     The encryption of a number x is represented by [[x]], and the vector (matrix) formed by the encryptions of the vector x (matrix X) is represented by [[x]] ([[X]]). 
     The operations performed between encrypted and clear numbers are indicated as if they were performed in the clear; e.g. [[X]]·b represents the encryption of [[X·b]]. 
     Regarding the complexity calculations, the complexity of basic modular operations, like additions (A), products (P) and exponentiations (X) is denoted by Comp A , Comp P , Comp X  respectively, prefixing an E (i.e. EA, EP, EX) when they are performed under encryption. The factor ct&lt;1 denotes the ratio between the size of a clear-text value and that of an encrypted value. Finally, the subscript cm denotes communication complexity, measured in number of sent encryptions, while cp indicates computational complexity, with an indication of the party whose complexity is represented. 
     B. Techniques Employed According to One Embodiment. 
     According to one embodiment, the cryptographic system  102  uses secure multiparty computation techniques including homomorphic encryption and secret sharing. 
     According to one embodiment the cryptographic system  102  makes use of homomorphisms between the groups of clear-text and cipher-text, that allow for the execution of a given operation directly on encrypted values, without the need for decryption. This includes homomorphic RSA cryptosystem, with a multiplicative homomorphism, or Paillier with an additive homomorphism. The methods implemented are not restricted to the use of cryptosystem for the presented protocols, as far as it presents an additive homomorphism. In this embodiment the system  102  uses an extension of Paillier encryption in its threshold and non-threshold form; that is, a k out of M threshold public key encryption system is a cryptosystem where the private key is distributed among M parties, and at least k of them are needed for decryption. 
     According to one embodiment the cryptographic system  102  makes use of secret sharing. In this embodiment a given value (the secret) is divided among several parties, such that the cooperation among a number of these parties is needed in order to recover the secret. None of the parties alone can have access to the secret. According to one embodiment the scheme is based on polynomials, and the need of k points in order to completely determine a degree (k−1) polynomial. The disclosed embodiment uses secret sharing for two-party protocols based on linear functions, without limitation, since each party can represent a plurality of entities. According to one embodiment, the system supports the computation of sums and products directly on the shares as follows: 1) let   be the domain of the secrets; 2) then, a share of a secret x is defined as two values x A  and x B , owned by their respective parties, such that x A +x B ≡x mod n; 3) hereinafter, randomizing an encrypted value x means obtaining one share and providing the encryption of the other (through homomorphic addition). 
     C. Definitions of Protocols and Constructions According to One Embodiment. 
     According to one embodiment of the cryptosystem  102 , and without limitation, the protocols are based on two parties,   and  , both using an additively homomorphic cryptosystem in an asymmetric scenario, where   can only encrypt, but   also possesses the decryption key, and can perform both encryption and decryption. For the problem of solving an SLE A·x=b, the system requires that   owns an encrypted version of the system matrix [[A]], and of the independent vector [[b]]. 
     According to one embodiment, and without limitation, the SLE may have A being either a positive definite matrix or a strictly diagonally dominant matrix. In this particular case, it can be guaranteed both a solution to the system and the convergence of the studied methods, as detailed later. 
     Regarding the privacy requirements, according to one embodiment the cryptosystem  102  is especially adapted for semi-honest parties, in the sense that they adhere to the established protocol, but they can be curious about the information they can get from the interaction. In this embodiment, the protocols can be proven private; informally, both parties   and   can only get the information leaked from the solution to the system, and no information is leaked from the intermediate steps of the protocols. 
     D. Secure Computational Engine and Method for Multiplying Matrices in the Encrypted Domain. 
     In order to multiply two encrypted matrices, as there is no multiplication operation in an additively homomorphic cryptosystem, it is necessary to execute an interactive protocol in order to perform each product. According to one embodiment, the systems uses the following method for non-threshold encryption. 
     According to one embodiment of the secure protocol, and without limitation, it is assumed that there exists an additively homomorphic cryptosystem with plaintext in   such that   can decrypt and both   and   can encrypt. In this embodiment,   owns two encrypted scalars [[x 1 ]] and [[x 2 ]] and wants to multiply them under encryption. In order to do that, according to one embodiment   generates two random values r 1 ,r 2 ∈  and uses them to blind both numbers, using homomorphic modulo-n sum obtaining [[z 1 ]]=[[x 1 ]]+r 1  mod n, and [[z 2 ]]=[[x 2 ]]+r 2  mod n, and sends them to  . 
     According to one embodiment of the method, due to his decryption capabilities,   can obtain z 1  and z 2  in the clear, multiply them, and reencrypt the result [[z 1 ·z 2 ]].   sends this encrypted product to   who, through homomorphic sums, can obtain the desired result, as 
       [[ x   1   ·x   2   ]]=[[z   1   ·z   2   ]]−r   1   [[x   2   ]]−r   2   [[x   1   ]]−r   1   r   2 . 
     According to the embodiment involving a threshold homomorphic cryptosystem, the procedure is analogous, with the exception that the random values must be generated by both parties. 
     According to the embodiment involving a product of an L×M matrix and a scalar, the protocol is exactly the same as the scalar-scalar case, with L×M scalar products in parallel. 
     According to the embodiment involving a matrix-matrix product, all the scalar products are performed using the scalar-scalar product protocol in parallel, with only one randomization per matrix coefficient, and the remaining operations are sums, that can be performed homomorphically. According to one embodiment, in order to minimize the computation and communication complexity,   may let   perform all the partial additions that   can do in the clear and   would need to do homomorphically. 
     Neglecting the complexity of the random number generation algorithms, the complexity of the whole protocol, when multiplying an L×M matrix and an M×N matrix is 
       Comp cmMULT ( L, M, N )= M· ( L+N )+ L·N    
       Comp cpMULT,A ( L, M, N )= L·N·M· (3Comp EA +2Comp EP ) 
       Comp cpMULT,B ( L, M, N )= M· ( L+N )Comp Decrypt   +M·L·N Comp P   +L·N· (( M− 1)Comp A +Comp Encrypt ). 
     E. Secure Iterative Protocol for Performing Matrix Inversions and Solving Systems of Equations  Based on an Iterative Protocol. 
       FIG. 3  shows an illustrative block diagram of the operation of the cryptographic system. Let L denote the dimension of the system matrix A.   and   agree on an initial matrix) X (0)    300  that fulfills the convergence criteria. For the first iteration,   calculates homomorphically the encryption of the matrix X (1)    302 . For each subsequent iteration, being k the number of the current iteration, both parties execute the following steps:   and   use the secure multiplication protocol in order to get the encrypted matrix Q (k)    304 ;   and   use the secure multiplication protocol in order to get the encrypted matrix X (k+1)    306 . After each iteration or after a predefined number of iterations, a stopping condition is checked  308 . When the stopping condition  308  is fulfilled, the protocol stops, and   sends the encrypted [[X (k) ]] to   for decryption  310 , and both parties obtain the resulting X (k)    312 . 
     There are cases in which, instead of or additionally to solving a SLE, the inverse of the system matrix is also needed, like the case of regression analysis in statistics. For these applications, the system matrix A must be inverted. According to one embodiment the cryptosystems includes a secure protocol for performing the execution of an iterative method. We refer to this embodiment as the Newton embodiment, Newton iterative protocol, or Newton method, interchangeably. According to one embodiment, one iteration of this method has the following expression 
         X   (k)   =X   (k−1) ·(2 I−AX   (k-1) ),
 
     where X (k)  will converge to A −1 . 
     According to one embodiment, the secure protocol for the Newton secure protocol executes an initial iteration with an agreed initial value X (0) , performed uniquely with homomorphic operations. Then, the following iterations make use of the secure multiplication protocol and homomorphic sums. Each iteration needs two rounds of communication:
         1. The first one to calculate [[Q (k) ]]=[[A]]·[[X (k−1) ]],   2. the second one to calculate [[A (k) ]]=[[X (k−1) ]]·(2I−[[Q (k) ]]).       

     According to one embodiment, the result gets multiplied after each iteration by the quantization step of the used integers, so after a sufficiently high number of iterations the protocol stops. 
     The protocol is provably secure with semihonest parties due to the semantic security of the cryptosystem, and the security of the sequentially composed multiplication protocols. 
     The complexity of the disclosed embodiments is evaluated as follows. The first step involves only one round of interaction, and its complexity is given by 
       Comp cmNEW1 =Comp cmMULT ( L, L, L ) 
       Comp cpNEW1A =Comp cpMULT,A ( L, L, L )+ L   3 COMP EP +( L   3   −L   2   +L )Comp EA    
       Comp cpNEW1,B =Comp cpMULT,B ( L, L, L ). 
     The complexity of each of the subsequent iterations of this protocol is the following 
       Comp cmNEW =2Comp cmMULT ( L, L, L ) 
       Comp cpNEW,A =2Comp cpMULT,A ( L, L, L )+ L Comp EA    
       Comp cpNEW,B =2Comp cpMULT,B ( L, L, L ). 
     Let us assume that the elements of the matrix A are quantized with a quantization step Δ, and their absolute value is bounded by T&gt;0. Then, the elements of matrix resulting from the first iteration of the protocol are bounded by L 2 T 3 +2T. For each of the next iterations, the bound T (k−1)  is updated as T (k) =(T (k−1) ) 2 ·T·L 2 +2·K. Thus, the order of the bound after m iterations is O (T 2     m+1     −1 ·L 2     m+1     −2 ), i.e. the bit-size of the cipher is exponential in the number of iterations. 
     The convergence of the disclosed embodiment of the Newton secure iterative protocol is assured whenever the initial matrix X (0)  satisfies ∥AX (0) −I∥&lt;1. As the initial vector is chosen by both parties, it can be such that this condition is fulfilled, given the bounds to the elements of A and the bounds to the eigenvalues obtained by the application of Ostrowski&#39;s theorem. 
     F. Extension to Systems with Complex Elements According to One Embodiment. 
     The secure iterative protocol presented in the earlier section does not impose any restrictions on the matrix coefficients. It can be used for both unrestricted real coefficients and complex coefficients. In this section we explain how the secure iterative protocol can be implemented in the case of complex coefficients. 
     For convenience, and without loss of generality, a binomial representation is chosen for complex numbers; the encryption of a complex number [[x]] is given by the pair [[x]]=([[ {x}]], [[ {x}]]), that is, the pair of encryptions of its real and imaginary parts. 
     According to one embodiment, the complex addition operation can be performed through two real additions; thus, it can be performed homomorphically between two encrypted complex numbers as two homomorphic real additions. Regarding the complex product, when it involves one known factor and one encrypted number, it can also be performed homomorphically as four homomorphic multiplications and two homomorphic additions. When involving two encrypted factors, it is performed through four parallel (real) scalar multiplication protocols and two homomorphic additions. 
     Thus, the matrix multiplication protocol disclosed in the previous section works on complex numbers by adopting the proposed encrypted complex representation, and by substituting the real additions and products by their corresponding complex operations. As a result, the communication complexity is doubled, the number of performed products is multiplied by four, and the number of performed additions is doubled. 
     For the secure SLE solving protocol, the needed modifications are essentially the same, being the involved scale factors also complex. We must remark that the hypotheses on the system matrix that were imposed for ensuring the convergence of the algorithms are kept unaltered when dealing with systems with complex coefficients, as they are general hypotheses not restricted to systems with real coefficients. 
     While particular embodiments have been described, it is understood that, after learning the teachings contained in this disclosure, modifications and generalizations will be apparent to those skilled in the art without departing from the spirit of the disclosed embodiments. It is noted that the foregoing examples have been provided merely for the purpose of explanation and are in no way to be construed as limiting. While the system has been described with reference to various embodiments, it is understood that the words which have been used herein are words of description and illustration, rather than words of limitations. Further, although the system has been described herein with reference to particular means, materials and embodiments, the actual embodiments are not intended to be limited to the particulars disclosed herein; rather, the system extends to all functionally equivalent structures, methods and uses, such as are within the scope of the appended claims. Those skilled in the art, having the benefit of the teachings of this specification, may effect numerous modifications thereto and changes may be made without departing from the scope and spirit of the disclosed embodiments in its aspects.