Abstract

The Jordan decomposition of matrix is a typical scientific and engineering computational task, but such computation involves enormous computing resources for large matrices, which is burdensome for the resource-limited clients. Cloud computing enables computational resource-limited clients to economically outsource such problems to the cloud server. However, outsourcing Jordan decomposition of large-scale matrix to the cloud brings great security concerns and challenges since the matrices usually contain sensitive information. In this paper, we present a secure, verifiable, efficient, and privacy preserving algorithm for outsourcing Jordan decomposition of large-scale matrix. Security analysis shows that our algorithm is practically secure. Efficient verification algorithm is used to verify the results returned from the cloud.

1. Introduction

With the rapid development of information technology in recent years, cloud outsourcing computing has attracted more and more attention from the network industry [1, 2]. Compared with the traditional computing mode, cloud computing greatly saves computing time and cost for users. Therefore, cloud computing is favored by many users.

However, while outsourcing cloud computing brings many benefits to cloud users, there are also many security threats [3]. Since users usually have no way to know whether the cloud is honest or not, how to ensure the security of users’ privacy information in outsourcing computing has become the primary issue. When the user outsources the computing task to the cloud for computing, the privacy information contained in the original computing task may be known by the cloud, so the security of the user’s privacy information cannot be guaranteed. Therefore, when users outsource computing tasks to the cloud, they need to encrypt the privacy information contained in the original computing tasks so as to ensure the security of users’ privacy data. How does this protocol ensure that the results returned by the cloud to users are correct? For example, in order to reduce the cost and gain more benefits, the cloud returns an incorrect result to the user. At this time, in order to ensure the user’s own interests, the user needs to verify the result.

On the basis of solving the above two security threats, we should ensure the effectiveness of outsourcing computing. It takes much more time for users to calculate by themselves than by outsourcing, so outsourcing computing is chosen to improve the calculation efficiency.

In recent years, many scholars have proposed outsourcing computing protocols for different aspects of matrix computing. In 1998, Atallah et al. [4] proposed an outsourcing computing protocol for large-scale matrix multiplication, but did not realize the verifiability of the results. In 2008, Benjamin and Atallah [5] used homomorphism encryption technology and realized the verifiability of the outsourced computing protocol results, but the complexity of the encryption process was high. In 2009, Gentry [6] proposed a solution to large-scale linear equations, but its operating cost was too high. In 2017, Yang and Wu [7] also proposed a large-scale matrix multiplication. However, based on the multiplication problem of nonsquare matrix, the idea of classification discussion was adopted, which increased the complexity of outsourcing calculation. In the same year, Zhou and Li [8] proposed an outsourcing computing protocol for large-scale matrix decomposition, including eigenvalue decomposition of matrix, SVD decomposition, and so on, but there was no outsourcing computing protocol involving matrix Jordan decomposition. Jordan decomposition has been widely used in matrix equation theory, ordinary differential equation, modern cybernetics, and other aspects [9]. At the same time, based on the large-scale matrix, Jordan decomposition requires a lot of material and financial resources.

In this paper, we propose an outsourcing computing protocol based on large-scale matrix Jordan decomposition, which realizes the verifiability and efficiency of the results on the basis of ensuring the security.

This paper is mainly divided into the following parts. In Section 2, we introduce the relevant background knowledge. In Section 3, we introduce the system model. In Section 4, we design an outsourcing computing protocol based on Jordan decomposition of large-scale matrix. In Section 5, we analyze the outsourcing computing protocol proposed in this paper. Finally, the paper is summarized.

2. Background Knowledge

2.1. Jordan Decomposition

Let be a real symmetric matrix, a real number, and a nonzero vector such thatthen is the eigenvalue of matrix and is the eigenvector corresponding to the eigenvalue .

Given a general matrix , Jordan decomposition can be used to decompose it as follows:where is an invertible matrix and is called the Jordan block, . We use to denote the matrix and use to denote the matrix . The Jordan matrix is called the Jordan canonical form of matrix , and its diagonal elements are the eigenvalues of the matrix .

If the cloud does not know the eigenvalues of the matrix, then the cloud will not know the Jordan canonical form of the matrix. is called the transformation matrix.

Assuming that is the eigenvalue of matrix and is the eigenvector corresponding to , then

For any matrix , carry out the following transformation:where is the identity matrix, from which we can get the Jordan canonical form and the transformation matrix of matrix [1013], so if the cloud does not know and , it will not get .

2.2. Permutations and Function

Using Cauchy representation, we map the set to itself and express the permutation as follows:

In this representation, the first row is the preimage of the mapping, and the second row is the image under the mapping. In equation (5), we can represent permutation as a bijective function whose range and domain are set as set .

The function is defined as follows:

We randomly pick a bunch of numbers , and each of these numbers is randomly picked from space . Then, the encrypted matrix can be defined aswhere both the range and the definition domain of bijective function are . It can be seen from the definition that in the encrypted matrix , each row and each column have only one nonzero element, and the encrypted matrix is an orthonormal matrix.

3. System Model

In outsourcing computing, security computing models can be divided into two categories according to the differences between adversaries: semihonest model and malicious model [14]. In the semihonest model, although the cloud complies with the protocol, it will passively attempt to obtain the privacy information in the user’s original computing task [14]. In the malicious model, the cloud will not only proactively obtain privacy information from the client but also violate the protocol and arbitrarily return an error result to the client, unwilling to be detected by the client. Therefore, in the malicious cloud model, users must be able to verify the results returned by the cloud to resist cloud spoofing. In this article, we consider the malicious model.

The matrix Jordan decomposition outsourcing model designed by us is shown in Figure 1. Firstly, the client generates the key , uses to encrypt the original matrix , protects the privacy information contained in the original matrix , and obtains the encrypted matrix . Secondly, the client sends the encrypted matrix to the cloud and uses the cloud’s powerful computing power and huge storage capacity to decompose the encrypted matrix with Jordan decomposition. Then, the cloud returns the Jordan decomposition result of the encrypted matrix to the client. After receiving the result returned from the cloud, the client verifies the result. If the result is correct, the client decrypts it to get the Jordan decomposition result of the original matrix . Otherwise, the client will deny the result returned from the cloud and let the cloud calculate again.

Our large-scale matrix Jordan decomposition outsourcing protocol needs to achieve the following objectives [15]:(1)Security: no user’s private information can be obtained by the cloud.(2)Verifiability: the client can verify the correctness of the result with a high probability and can also find the wrong result from the cloud with a nonnegligible probability.(3)Validity: compared with Jordan decomposition of the matrix calculated by the client itself, the client can greatly reduce the local computation through outsourcing.

Our system model is divided into five parts, as shown in Figure 1:(1)Key generation: the client randomly generates a key to encrypt the original matrix .(2)Encryption: the client uses the key to encrypt the original matrix . In the process of encrypting the original matrix into the encrypted matrix , we use matrix multiplication and linear mapping.(3)Cloud computing: the cloud decomposes the encrypted matrix with Jordan decomposition and returns the results to the client.(4)Verification: the client verifies the results returned by the cloud. If the result is correct, the client accepts the result. Otherwise, the client will reject the returned result and ask the cloud to compute again.(5)Decryption: if the cloud returns the correct result, the client decrypts the Jordan canonical form, the transformation matrix, and the inverse of the transformation matrix of matrix into the Jordan standard form, the transformation matrix, and the inverse of the transformation matrix of matrix . Then, the Jordan decomposition result of the original matrix is obtained.

4. Protocol Design

4.1. Key Generation

In this paper, we use the encrypted matrix to generate the key, and the process of generating the encrypted matrix is as follows:where is the random number generated by space .The definition of space we have described in the background knowledge, , is a bijective function.

4.2. Encryption

In the Jordan decomposition outsourcing of matrix, the user’s purpose is to get the Jordan standard form, transformation matrix, and the inverse of transformation matrix of matrix . At the same time, the user wants matrix , matrix ’s Jordan standard form, and transformation matrix not to be exposed in the cloud. In this paper, we will encrypt the user’s privacy information, that is, we will encrypt the original matrix and the Jordan standard form and transformation matrix of the original matrix . As can be seen from Section 4.1, we only need to encrypt the original matrix and its eigenvalues and eigenvectors.(i)In the matrix Jordan decomposition outsourcing process, if the user directly sends original matrix to the cloud, the privacy information in matrix may be exposed to the cloud. In order not to disclose the privacy information of , the client first selects randomly from the real number set R and then encrypts the original matrix as follows:According to the above encryption method, we can know that the eigenvectors of matrix and matrix are the same, and the relationship between the eigenvalue of and the eigenvalue of is as follows:The above formula is proved as follows: suppose is an eigenvalue of matrix and is the eigenvector corresponding to the eigenvalue , thenEnd of proof.Since the cloud does not know the exact value of , if the client sends to the cloud, then the privacy information contained in matrix itself and its eigenvalues are protected. However, matrix and matrix have the same eigenvector. In other words, the privacy information contained in the eigenvector of matrix is not protected. So, we are also going to encrypt the eigenvectors of .(ii)Now, we encrypt the eigenvectors of matrix . First, let us sayThen, equation (11) can be expressed asMultiply both sides of equation (13) by matrix :Therefore, we can write equation (13) as follows:where . At this point, the original matrix is transformed into the encrypted matrix through encryption, and their relation can be expressed as . According to equation (12), the encrypted matrix hides the privacy information contained in the eigenvector of matrix .

4.3. Cloud Computing

Through the above encryption, we have completed the protection of the user’s privacy information. At this point, we send the encrypted matrix to the cloud, which decomposes it with Jordan decomposition and returns the decomposed result to the client. Then, the client gets the Jordan standard form, the transformation matrix, and the inverse of the transformation matrix of the encrypted matrix , which are

The Jordan standard form of matrix is , the transformation matrix of matrix is , and the inverse of the transformation matrix of matrix is , where is a Jordan block, is a Jordan matrix, and the diagonal elements of are the eigenvalues of matrix ; , is an matrix, and is an invertible transformation matrix.

In the encryption process, we use the encrypted matrix to ensure that as long as the cloud returns an orthonormal eigenvector, the client will also get an orthonormal eigenvector after decryption. The proof is as follows:

Suppose and are the orthonormal eigenvectors of matrix returned from the cloud, and the client decrypts them, and the obtained two eigenvectors satisfy and , then we can get and , and because of , and are also orthonormal.

4.4. Verification

For the results returned to the client from the cloud, it is necessary for the client to verify the results. To ensure that the results , , and are correct, the user first checks whether is a Jordan matrix. If is not a Jordan matrix, the user thinks the result is incorrect. If is a Jordan matrix, then the user verifies whether the following formula is correct:

This is equivalent to verifying whether the following formula is true:

The verification method is as follows:(1)Choose a random vector ; each element in is selected randomly from the set .(2)The user computes and .(3)Repeat steps 1 and 2 for a total of rounds of tests. In the rounds of tests, if is constant, the client will accept the result. Otherwise, the client judges that the result is wrong and does not accept the result.

4.5. Decryption

If the client verifies that the result returned by the cloud is correct, then the client will decrypt the result and convert it into the Jordan standard form, the transformation matrix, and the inverse of the transformation matrix of matrix . The decryption process is as follows:

Through equation (18), the Jordan standard form , the transformation matrix , and the inverse of the transformation matrix of the original matrix can be obtained as

Then, we can getThen, the client gets the Jordan decomposition of the original matrix .

5. Protocol Analysis

5.1. Security Analysis

The original matrix is encrypted as a matrix , where is an encrypted matrix and is a random number generated by the set of real numbers R. Firstly, the original matrix is encrypted as . Assuming that the cloud knows matrix , if the cloud wants to use violent means to obtain matrix through , it also needs to guess times, where represents the number of elements in the real number set R. Then, the encrypted matrix is used to encrypt matrix ; that is, . This encryption causes the elements in matrix to be rearranged in the following form:

According to equation (21), the elements of are rearranged by the function and narrowed by , where has possibilities and has two possibilities. At this time, even if the cloud wants to get matrix from matrix , its probability is only , so when is large, its probability is negligible.

After the user sends the encrypted matrix to the cloud, the cloud decomposes matrix with Jordan decomposition, so the cloud knows the eigenvalue and the eigenvector of matrix . The following analysis shows how the protocol protects the eigenvalue and eigenvector of matrix .

The relation between the eigenvalue of matrix and matrix is equation (10). If the cloud does not know the random real number , it will not use to get .

The relation between the eigenvector of matrix and matrix is equation (12). Obviously, the encrypted matrix protects the eigenvector well. According to the previous discussion, the probability of the cloud to get matrix is , so when is large, the cloud has no way to decrypt from the eigenvector .

Based on the above analysis, we believe that users’ privacy information is well protected.

5.2. Result Verifiability Analysis

In this section, we demonstrate that our verification algorithm is highly resistant to cloud spoofing. The certification process is as follows.

First, we prove that any correct results returned from cloud computing can be successfully verified. If the cloud returns a correct result, then is equal to matrix , so in each round of check, no matter what the value of is, there is ; that is, any correct result can be verified.

Second, we prove that the probability of any incorrect results returned from the cloud being verified is negligible. If the returned matrix is not a Jordan matrix, the client directly assumes that the result is wrong and therefore cannot receive the wrong result. When is a Jordan matrix, we show that our protocol has a high probability of resisting false results. The error analysis of our verification algorithm shows that the probability of error result passing verification is less than [16]; that is, the probability of error result passing verification decreases exponentially with the increase of verification times ( represents the verification times). Therefore, if the appropriate value is selected, any error results returned from the cloud are unlikely to pass verification.

5.3. Effectiveness Analysis

Compared with directly computing the matrix Jordan decomposition, users can reduce the computational burden by outsourcing calculation. Our system model requires the client to perform four algorithms: key generation, encryption, verification, and decryption. The computational complexity of the four algorithms is analyzed in the following sections to verify the effectiveness of the outsourcing protocol.

5.3.1. Key Generation

Generating the encrypted matrix is all the tasks of the algorithm, and its algorithm complexity is .

5.3.2. Encryption Algorithm

We use encryption algorithm to encrypt the original matrix into matrix , and . In this encryption process, the multiplication of the encrypted matrix and the original matrix is the most time-consuming operation. According to equation (21), its algorithm complexity is .

5.3.3. Verification Algorithm

In each round of random detection, the client has to calculate and , and matrix and vector multiplication is the most complex calculation operation, and its algorithm complexity is . Because the verification algorithm requires rounds of random detection, the overall computational complexity of the verification algorithm is . Compared with the large matrix , is far less than , that is, , so the computational complexity of the verification algorithm is .

5.3.4. Decryption Algorithm

If the results , , and returned by the cloud are correct, the client decrypts them and gets , , and of the original matrix . The decryption algorithm is as follows:

The most time-consuming operation is to calculate , whose computational complexity is .

To sum up, the computational complexity of all the calculations that need to be performed by the client is . In contrast, the computational complexity of directly computing the matrix Jordan decomposition is . If is big enough, there will be a big difference between and . Therefore, users can save a lot of computing time and cost by outsourcing computing, thus achieving the efficiency.

6. Conclusion

In this paper, we design a secure, verifiable, efficient large-scale matrix Jordan decomposition outsourcing protocol. We use efficient encryption technology to ensure the security of users’ privacy information. At the same time, we design an efficient verification algorithm to ensure that the client can effectively verify whether the cloud returns the correct results. Matrix Jordan decomposition has a wide range of applications in the field of science, which we will further study.

Data Availability

The data of this article are computed by the algebra method, which are available from the corresponding author upon request.

Conflicts of Interest

The authors declare that they have no conflicts of interest.

Acknowledgments

The first author was supported by the Yuyou Team Support Program of Northern University of Technology (107051360019XN137/007).