Abstract
Computing the determinant of large matrix is a time-consuming task, which is appearing more and more widely in science and engineering problems in the era of big data. Fortunately, cloud computing can provide large storage and computation resources, and thus, act as an ideal platform to complete computation outsourced from resource-constrained devices. However, cloud computing also causes security issues. For example, the curious cloud may spy on user privacy through outsourced data. The malicious cloud violating computing scripts, as well as cloud hardware failure, will lead to incorrect results. Therefore, we propose a secure outsourcing algorithm to compute the determinant of large matrix under the malicious cloud mode in this paper. The algorithm protects the privacy of the original matrix by applying row/column permutation and other transformations to the matrix. To resist malicious cheating on the computation tasks, a new verification method is utilized in our algorithm. Unlike previous algorithms that require multiple rounds of verification, our verification requires only one round without trading off the cheating detectability, which greatly reduces the local computation burden. Both theoretical and experimental analysis demonstrate that our algorithm achieves a better efficiency on local users than previous ones on various dimensions of matrices, without sacrificing the security requirements in terms of privacy protection and cheating detectability.
Keywords: matrix determinant, secure outsourcing, cloud computing
1. Introduction
The development of cloud computing provides great convenience to resource-constrained clients. They can outsource complex computations into the cloud by paying a fee. Computation outsourcing brings economic benefits to both resource-constrained clients and high-performance servers. Nevertheless, in practice, cloud servers are untrustworthy, which brings many security issues to computation outsourcing. According to [1], security has become a top issue that affects the business potential of cloud computing. The outsourced data usually contain private user information. The curious cloud may spy on user privacy through outsourced data. Besides, the malicious cloud may violate the computing scripts and return incorrect results to the client. Even without considering the maliciousness of the cloud, computing errors caused by the cloud hardware failure, software errors, etc. should also be detected by the client locally. In addition to these traditional security issues, with the development of smart phones, virtual assistants (VA) have been widely used in smart phones, which are vulnerable to malicious attacks; it uploads voice records to the cloud without the user’s knowledge or consent [2]. Therefore, cloud-based secure computation outsourcing algorithms have become hot topics of researches.
There are generally two types of security assumptions in cloud-based secure outsourcing algorithms [3]. The cloud that is assumed to be semihonest (or honest-but-curious) is only curious about the privacy contained in outsourced data. The cloud assumed to be malicious may firstly be semihonest, and then cause damage or forge results to sabotage the computation. Besides, in the above two security assumptions, the local computational burden of the client should be as low as possible. Otherwise, the efficiency benefit of outsourcing will be nullified. Therefore, the secure outsourcing algorithms under the malicious model require the considerations of efficiency, privacy protection, and cheating detectability.
In order to reduce the local computational burden using cloud computation outsourcing while protecting privacy and detecting false results, researchers have proposed secure outsourcing algorithms for many commonly used and complex computations, including the computation of matrix determinant. The computation of matrix determinant has appeared more and more widely in science and engineering problems recently. Many researches of medicine and biology use the matrix determinant for signal processing before using machine learning algorithms for practical classification tasks. For example, when machine learning algorithms are used for medical diagnosis, the data collected by the medical sensors are usually time series and contain private user information. Many researches divide the signal into several segments and fill them into matrices. Then, the determinants of matrices are considered as the feature values of the original signal. However, the computation of matrix determinant is still unaffordable for the sensors. They usually need to outsource matrix determinant computations to high-performance hardware.
To improve the detectability of cheating behaviors from the malicious cloud, all previous algorithms must increase the rounds of verification, which significantly increase the local computational burden of the client. Moreover, the currently known algorithm with the best privacy protection in [4] uses significantly more local computations than other algorithms. Therefore, we aim to propose a novel algorithm for secure outsourcing of matrix determinant computation, to solve the conflicts between the efficiency and security issues. The contributions of this paper are summarized as follows:
We propose a secure outsourcing algorithm for the matrix determinant computation under the malicious cloud model, which can not only ensure the confidentiality of matrix, but also detect the forged results returned from the malicious cloud. We use the permutation, mix-row/mix-column, and split operations in our algorithm to protect privacy, which achieves the currently known lowest computation cost.
We propose a one-round verification method in the proposed algorithm, which achieves a high cheating detectability. The malicious forged results can only escape our local verification with the probability of , given a matrix of dimensions. In all the previous algorithms, the detectability of malicious forged results depends on the rounds of verification, and to achieve a high cheating detectability, multiple rounds of verification are required, which also brings high computational burden to the client. In the previous three algorithms [4,5,6], the succeeding probability of malicious forged results is , where l is the number of verification rounds and recommended to be greater than 20.
We conduct theoretical proofs of the correctness, efficiency, privacy protection, and cheating detectability for the proposed algorithm. Experimental results also demonstrate the superior efficiency of the proposed algorithm.
The rest of the paper is organized as follows: We introduce the related work and comparative analysis in Section 2. In Section 3, we introduce some background knowledge and the system model of our algorithm. Section 4 describes the proposed secure outsourcing algorithm for matrix determinant. We conduct the correctness, security, and complexity analysis of the proposed algorithm in Section 5. We evaluate the performance of our algorithm in Section 6. Finally, we conclude our work in Section 7.
2. Related Work and Comparative Analysis
Recently, the privacy and security issues in lightweight devices are widely concerned (e.g., the intrusion detection system on lightweight devices [7] and the secure computation outsourcing on resource-constrained devices). As we all know, although cloud computation outsourcing brings convenience to resource-constrained devices, it also causes privacy issues. Therefore, there are many researches on how to protect user privacy and verify the correctness of results when using cloud computing. From the perspective of the cloud, data access control mechanisms can be used to protect user privacy and ensure data availability. Kayes et al. [8] gave a survey on context-aware access control mechanisms (CAAC) during data management in cloud and fog networks. They also proposed a new generation of Fog-Based CAAC (FB-CAAC) framework for accessing data from distributed cloud data centers. When computations on the encrypted data are required, access control mechanisms are not enough. From the perspective of the client, Fully Homomorphic Encryption algorithms (FHE) [9,10,11,12] and Attribute-based Encryption algorithms (ABE) [13,14,15] have great application potential in cloud secure computation outsourcing, but their high computational complexities limit their practical applications, especially for resource-constrained devices. In addition, there are a large number of researches on the secure outsourcing algorithms for commonly-used and complex scientific computations (e.g., modular exponentiation [16,17], extended Euclidean [18], bilinear pairings [19,20,21], polynomial multiplication [22]).
There are many applications of matrix in the field of computer science, such as Digital Image Processing (DIP), computer graphics, computer geometry, Artificial Intelligence (AI), network communications, and so on. Thus, many computations of matrix are also commonly used and complex. However, some scientific computations of matrix have high computational complexities. Therefore, there are also many researches on secure outsourcing algorithms for computations of matrix. For example, the secure outsourcing algorithm for matrix multiplication has been widely studied [23,24,25,26]. In addition, Non-negative Matrix Factorization (NMF) is widely used in DIP, face recognition, text analysis, and other fields. Thus, there are many secure outsourcing algorithms for NMF [27,28,29,30]. Matrix inverse is also one of the most basic computations in large-scale data analysis. Computing the inverse of matrix on resource-constrained devices such as sensors is usually costly. Thus, there are also some secure outsourcing algorithms for matrix inverse [31,32,33]. Besides, in the field of machine learning, Singular Value Decomposition (SVD) has a wide range of applications. It can be used not only for feature decomposition in dimension reduction algorithms but also recommendation system, Natural Language Processing (NLP), and other fields. Securely outsourcing SVD to the cloud can greatly reduce the computation costs of the client. Chakan et al. proposed a secure outsourcing algorithm for SVD [34]. The local computational complexity of this algorithm is and the complexity of cloud is . Chen et al. proposed a secure outsourcing scheme for SVD with less interactions between the client and the cloud [35].
Similar to the above computations of matrix, the determinant is also an important computation of matrix in the field of scientific and engineering. In the semihonest model, Kim et al. proposed a secure matrix determinant outsourcing method based on FHE [36]. Their scheme computes the determinant by the standard definition of matrix determinant, which results in a high computational burden of the client. Zong et al. introduced a division-free computational method for FHE-based secure matrix determinant computation outsourcing [37], which is significantly more efficient than the method in [36]. The above two algorithms only considered the privacy under the semihonest model.
However, in practice, the cloud may be malicious. To the best of our knowledge, the existing secure outsourcing algorithms for matrix determinant computation under the malicious model include [4,5,6]. In [5], Lei et al. used the block matrix and permutation techniques to protect privacy. In their algorithm, the client’s local computations include multiplications, where m is the increase in dimension after encryption and n is the original dimension of matrix. Liu et al. proposed a new matrix determinant secure outsourcing algorithm using the permutation and mix-row/mix-column operations, which avoid the increase in matrix dimension during the encryption and reduces the number of local multiplications to [6]. Zhang et al. proposed a method that has better privacy [4]; however, because times of elementary column/row transformations are involved in the process of encryption, it has a higher local computational burden than other algorithms, which require local multiplications. All the above three algorithms and our proposed algorithm have the same cloud computational complexity ().
In our algorithm, in addition to the permutation and mix-row/mix-column operations, we used split operation to achieve a higher privacy. To prevent malicious cloud from forging computation results, the above three algorithms adopted the idea of Freivalds’ algorithm [38] with computation costs that need to increase the frequency of verification (l) to improve the cheating detectability. l is greater than 20 at least in their works. In our proposed algorithm, only one round of verification is required, so there is no factor l in the computation cost. Table 1 demonstrates comparisons of our algorithm and the three existing algorithms from aspects of local multiplications, privacy protection level, and cheating detectability. Since multiplications dominate the local computation, local additions are omitted here and will be discussed later in Section 5. As we will discuss in Section 5, our proposed algorithm uses the lowest overall local computation cost to achieve a high detectability of result cheating (or a negligible probability of cheating success).
Table 1.
Efficiency and Security comparative assessment.
3. Preliminary
The notations and their implications used in this paper are shown in Table 2. This section will introduce some background knowledge of our algorithm.
Table 2.
Symbols and implications.
| Symbol | Implication |
|---|---|
| A vector | |
| A full rank matrix | |
| The determinant of matrix | |
| Choose an element from set randomly | |
| Security parameter | |
| The probability that attacker A obtains the secret input x using data | |
| The probability that the client C detects the forged results using data | |
| The element in the ith row and jth column of matrix | |
| / | The ith row of matrix |
| / | The jth column of matrix |
| The transpose of | |
| The inner product of vector and vector | |
| The Low triangle and Up triangle decomposition of matrix |
3.1. System Model
The secure outsourcing algorithm for matrix determinant consists of the following five parts.
KeyGen() : is a security parameter related to key generation. The generated key is used to encrypt the input data, and is used to verify and decrypt the returned results. Both and should be kept privately by the client C.
Encrypt(x, ) : x is the input data. The client uses to encrypt the input x and gets encrypted data . is sent to the server S for computing.
Compute(f, ) : f is a function given by the client. The server computes using the given function f and encrypted data .
Verify(, ) : The client verifies the results returned from the cloud. If the is valid, the output of this function is Ture. Otherwise, the output is ⊥.
Decrypt(, ) : The client uses the secret key to decrypt and obtains the result y.
The proposed algorithm is effective in the malicious cloud model. The malicious cloud can not only use its known information to infer the privacy of the client, but also maliciously forge false computation results to tamper with the whole algorithm. The system model of secure outsourcing for matrix determinant in this paper is shown as Figure 1.
Figure 1.
System model of secure outsourcing for matrix determinant computation.
3.2. Definitions of Correctness, Efficiency, and Security
When the key generation function KeyGen() produces satisfying ( is the domain of input x), if Encrypt(x, ) and Compute(f, ) , then Decrypt(,). The outsourcing algorithm is correct.
A semihonest attacker may only be curious about the privacy contained in outsourced data. As shown in Equation (1), for any attacker A in the cloud server, if the probability of computing the secret input x with its known information () is so small that it can be ignored in the polynomial time, the proposed secure outsourcing algorithm for matrix determinant is privacy-protected.
| (1) |
A malicious attacker may cause damage or forge results to sabotage the computation. As shown in Equation (2), for any forged computation results (forge) returned from the cloud server, if the probability that the client (C) recognizes the forged results using the Verify(,) function is infinitely close to 1, the proposed secure outsourcing algorithm for matrix determinant is cheating-detected, which means the cheating detectability of the algorithm is high, and the success probability of attacker’s result cheating is negligible.
| (2) |
If the local computation complexity of the client is substantially less than the computation complexity of the previous algorithm without outsourcing, the secure outsourcing algorithm for matrix determinant is efficient.
4. Secure Outsourcing of Matrix Determinant
In this section, we propose a secure outsourcing algorithm for matrix determinant. In comparison with the previous algorithms, our algorithm aims to improve the privacy protection ability and cheating detectability with less local computation costs. We use the permutation, mix-row/mix-column, and split operations in our algorithm to protect the privacy of matrix. Besides, we use a new result verification method to improve the cheating detectability, which is different from [4,5,6]. The main idea of the verification method is to ensure that at least the diagonal elements in the results of Low triangle and Up triangle (LU) decomposition returned from the cloud are correct. The security analysis in Section 5 will prove that it is more difficult for the forged results returned from the malicious cloud to pass this verification than the previous ones. The proposed algorithm is described as follows. The size of the input matrix is in the rest of this section.
4.1. Key Generation
The client needs to input a key space . Eight diagonal matrices are generated by selecting random nonzero values from . Then, the client picks 8 random parameters (lines 2 and 3 of Algorithm 1).
The client computes by lines 4–6 of Algorithm 1. It is easy to see that in is the determinant of .
The client computes by lines 7–14 of Algorithm 1.
| Algorithm 1 Procedure of Secret Key Generation |
|
In the function, can be , given a security parameter . From the analysis in Section 5, the number of elements in is associated with the security of the algorithm. When , the probability that the cloud obtains the privacy input is less than , which is negligible. Other ways of defining are also applicable, as long as the number of elements in the set is sufficient to resist the brute-force attack of the cloud.
| (3) |
| (4) |
4.2. Encryption
While keeping the other rows, the client randomly splits the ith and jth rows of to get four matrices . (lines 2–3 of Algorithm 2).
The client computes by lines 4–7 of Algorithm 2.
| Algorithm 2 Procedure of Encryption |
In the algorithm of Encrypt, the computations of matrices () involve the generations of vectors , , , and . We can randomly pick n numbers as the elements of vector from . Then, we can compute . In the same way, we can compute and . After computing the matrices , the client sends the matrices to the cloud.
4.3. Computations of Server
After receiving the matrices, the cloud computes the LU decomposition for , , , and to get , , , where is the LU decomposition function (lines 2–5 of Algorithm 3).
The cloud computes determinants of and obtains . (lines 6–9 of Algorithm 3).
The cloud returns to the client.
| (5) |
| (6) |
| (7) |
| Algorithm 3 Procedure of Computation |
|
4.4. Verification
The client initializes the flag to true.
The client performs the verifications of Equations (5)–(7). If any of them are invalid, the function returns ⊥ (lines 3–5 of Algorithm 4).
The verifications in lines 6–17 verify all the diagonal elements in at least once. If any verification is invalid, the function returns ⊥.
If all the verifications are valid, the function returns true.
If the output of the Verify function is true, the clients executes the Decrypt function. Otherwise, the client rejects the results returned from the cloud.
| Algorithm 4 Procedure of Verification |
4.5. Decryption
The client computes the result (Algorithm 5) .
| Algorithm 5 Procedure of Decryption |
|
Obviously, the input parameters of the Verify and Decrypt functions are the same. In fact, the result of the Decrypt function can be obtained during the execution of the Verify function in the proposed algorithm. We separate them into two parts for the sake of clarity and convenience to compare with the previous algorithms. The specific flowchart of the proposed algorithm is shown in Figure 2.
Figure 2.
Flowchart of the secure outsourcing algorithm for matrix determinant computation.
In the next section, the correctness, security, and computational complexity of the proposed algorithm will be analyzed.
5. Correctness, Security, and Computational Complexity Analysis
5.1. Correctness
Theorem 1.
The proposed secure outsourcing algorithm for matrix determinant is correct.
Proof of Theorem 1.
When proving the correctness of a secure outsourcing algorithm, it is reasonable to believe that both the client and the cloud honestly follow the procedure of the algorithm. In the procedure of , the determinant of matrix is computed by
(8) where
(9)
(10) According to the function , we can obtain
(11)
(12) Thus, we can obtain
(13) Finally, Equation (8) is proved. This implies that the function always yields the correct determinant and the proposed algorithm is correct. □
5.2. Computational Complexity
We analyze the computational complexities of the client and the cloud in this section. The function, function, function, and function are executed by the client. The function is executed by the cloud. We first analyze the computational complexity of the client.
Theorem 2.
The computational complexity of the client side of the proposed secure outsourcing algorithm for matrix determinant is .
Proof of Theorem 2.
The operations involved in the function include multiplication and mix-row/mix-column, where multiplications and additions need to be computed. The computations in lines 4–6 require a total of multiplications. The computations in lines 7–14 and line 5 require a total of multiplications.
The function involves matrix split operations and matrix multiplications. Obviously, the matrix split operation needs only subtractions. The major computations are lines 4–7. Since , and are obtained by randomly swapping rows/columns of diagonal matrices, the computations of , and require a total of multiplications; therefore, the function requires a total of multiplications and subtractions.
In the function, the verifications of Equations (5)–(7) require multiplications. The verifications of lines 6–17 compute times of the vector’s inner product, which require additions and multiplications. The verification in Equation (7) requires 2 additions. Therefore, the function requires multiplications and additions.
Two divisions and one addition are required in . Thus, it is easy to see that the computational complexity of the function is .
In conclusion, the client needs to undertake a total of multiplications and additions. Therefore, the computational complexity of the client side of the proposed algorithm is . □
In Table 3, the number of multiplications required by every part of the proposed algorithm is demonstrated and compared with three existing algorithms from [4,5,6]. In Table 4, the numbers of additions required by the proposed algorithm are listed and compared in the same way as Table 3. Although the complexity of the KEYGEN and ENCRYPT is higher than the compared schemes [5,6], the complexities of VERIFY and DECRYPT in the compared schemes are higher than that of the proposed algorithm. According to [4,5,6], to improve security, the value of l is usually greater than 20 and the value of m is usually greater than 100, where l is the frequency of verification and m is the increase of the dimension after encryption. In fact, when l in the compared algorithms is set to 20, the security of those algorithms are very poor, which is equivalent to the security of the proposed algorithm running on a matrix of dimensions . When pursuing higher security, the local computational cost of the compared algorithms will be significantly higher than the algorithm in this paper. Therefore, it is easy to see that the proposed algorithm has the lowest local computational burden.
Table 3.
Local multiplication burden.
Table 4.
Local addition burden.
Theorem 3.
The computational complexity of the server side of the proposed secure outsourcing algorithm for matrix determinant is .
Proof of Theorem 3.
Only the function is performed by the server side. Four iterations of LU decomposition computations and multiplications are required in Algorithm 3. If the server supposes the fastest LU decomposition algorithm (e.g., Williams’ algorithm [39]), the computational overhead for the cloud side can be reduced to , which has been proven in [5]. □
In comparison with the previous algorithms, the specific theoretical performance of the proposed algorithm is shown in Table 5. The nonoutsourcing algorithm for matrix determinant is using the fast LU decomposition method in paper [39]. Obviously, the local computation complexity of the client () is substantially less than the computation complexity of nonoutsourcing ().
Table 5.
Theoretical computational complexity.
5.3. Security
A cloud server can be a passive or active attacker. Next, we will analyze the security of the proposed algorithm against both passive and active attacks.
5.3.1. Privacy against Passive Attacks
A passive attacker (semihonest) follows the procedure of the algorithm while exploiting the intermediate information to breach the privacy of matrix.
Theorem 4.
The proposed secure outsourcing algorithm for matrix determinant is privacy-protected.
Proof of Theorem 4.
It is easy to see that the methods of encrypting matrices , and are consistent. The privacy input matrix can be obtained by computing or . We take as an example to prove that the proposed algorithm is privacy-protected. As and are visible to the attacker, to restore , the attacker needs to guess , , , and . Then, the attacker uses the inverse matrices of , , , and to restore . When generating the original diagonal matrices , , , and in the function, a total of elements are selected from the key space . The probability of attacker A correctly guessing the elements is . Besides, from the perspective of the attacker, as long as the frequencies of mix-rows/mix-columns () are large enough, it is equivalent to repositioning the n nonzero elements of the diagonal matrix (, , , ) to ensure that all rows/columns of the new matrix have only one element. Thus, through the mix-row/mix-column operations in lines 7–14 of Algorithm 1, the attacker successfully guessing any matrix requires attempts. Therefore, the passive attacker should make brute-force guesses to obtain . Then, the attacker can easily compute . The probability that the attacker A obtains the secret input is shown at Equation (14). When either the size of the matrix or the key space is large enough, the value of will be so small that it can be ignored.
As for the privacy of the output , because , the attacker must obtain before computing . As , computing is equivalent to guessing , , , and . Thus, the probability that the attacker A obtains the secret output is the same as obtaining the input privacy.
Thus, we can conclude that the proposed secure outsourcing algorithm for matrix determinant is privacy-protected.
(14) □
5.3.2. Security against Active Attacks
An active attacker (malicious) injects false computation results into the algorithm to tamper with the whole procedure.
Theorem 5.
The proposed secure outsourcing algorithm for matrix determinant is cheating-detected.
Proof of Theorem 5.
There are three types of attacks with different complexity levels.
In the first attack, the attacker returns random to the client with computational complexity. Obviously, , , and . Thus, it cannot pass the verifications of Equations (5)–(7). The malicious cloud can also perform a small number of computations with computational complexity so that and , which can nullify the verifications of Equations (5) and (6). However, due to the lack of , it still fails to pass the verification of Equation (7).
The complexity of the second type of attack is . There are two ways of attacking. In the first way, the attacker computes the correct results , but chooses a random ath element on the diagonal of or and tampers with it (e.g., ). In the same way, the attacker tampers with a random bth element on the diagonal of or (e.g., ). Besides, the attacker also changes the by . The above attack returns to the client, which can successfully nullify the verifications of Equations (5)–(7). However, it cannot pass the verification in lines 6–17 of the function. The verifications in lines 6–17 verify all the diagonal elements in , , , and at least once. The nature of the verifications in lines 6–17 is to select elements in the matrices and , respectively, to verify the correctness of the diagonal elements in , , , and . As shown in Equations (15) and (16), the error in the ath/bth term in / will be propagated to /, which is not equal to /. Thus, the forged and can be certainly detected.
(15)
(16) In the second way, before performing the function, the attacker tampers with a random element in and , respectively (Tampering with more items will be easier to detect.). Then, the attacker performs the function with the forged input , and returns the cheating result to the client. As the verification in lines 6–17 can only detect this attack with a probability of . This way of attacking can easily nullify the verification in lines 6–17. However, as shown in Equation (17), it cannot pass the verification of Equation (7). Forging more elements in , or elements in can also be detected by Equation (7) (e.g., the cloud returns to the client where is the cheating result and is the correct result).
(17) The complexity of the third attack is much greater than others. In order to pass all the verification, before attacking, the attacker has to make brute-force guesses to get the positions that the client verifies in and (lines 6–17). Then, the cloud constructs two forged matrices and . The forged matrices and satisfy the condition that the elements at the detected positions remain unchanged, and the elements at other positions are changed. Meanwhile, the attacker ensures , . Afterwards, the cloud tampers with by . The third attack is the only way to pass all the verifications in with a probability of and return a forged result . The probability that the client C successfully detects the forged result is shown in Equation (18), which infinitely approaches 1 when n is large enough. Thus, we can conclude that the proposed secure outsourcing algorithm for matrix determinant is cheating-detected, when the size of the matrix is large enough.
(18) □
As shown in Table 6, the theoretical security of the proposed algorithm is significantly higher than the other three algorithms while using the same key space . According to [4,5,6], the parameter l is recommended to be greater than 20. Thus, when , the proposed algorithm can achieve a high cheating detectability comparable to these three algorithms with the lowest computational cost, as demonstrated in Table 3 and Table 4. Actually, it is common to compute the determinant of the large matrices with dimensions of far-greater than 5 in DIP and machine learning.
Table 6.
Probability of successful attack.
6. Performance Evaluation
According to the above theoretical analysis, our algorithm can significantly reduce the local computational burden of the client. In this section, we implement the algorithm to assess its practical efficiency. The client and the cloud server functions in our experiments were conducted on the same machine, which has an Intel(R) Core(TM) i7-8550U CPU 1.80 GHz with eight cores. We implemented the proposed algorithm by Matlab and used the LAPACK [40] package to perform the LU decomposition. The communication costs between the client and the server were ignored, since the computations dominate the running time. Table 7 shows the notations used in this section.
Table 7.
Notations in experiments.
| Notations | Implication |
|---|---|
| The time consumption of nonoutsourcing scheme. | |
| The time consumption of cloud. | |
| The time consumption of client in key generation and encryption. | |
| The time consumption of client in decryption and verification. | |
| The time consumption of client. | |
| Acceleration ratio of client. |
Our goal is to reduce the client’s computational burden through outsourcing. Therefore, the ratio of time consumption without outsourcing to time consumption with outsourcing is an important measure, which is referred to as the Acceleration Ratio of clients.
In our comparisons, we only considered the existing algorithms proposed for the malicious model, without considering those merely for the semihonest model, since the former model is more secure. As far as we know, the currently existing algorithms for the malicious model include only Lei’s algorithm [5], Liu’s algorithm [6], and Zhang’s algorithm [4]. In the experiment, we set the parameter l to 20 in the three previous algorithms, and set the parameter m to 500 in Lei’s algorithm. We compared the running time of every part of the algorithms on matrices of different dimensions. Table 8 and Figure 3 show that our algorithm has the highest acceleration rate on matrices of all dimensions. The time consumption on cloud in our algorithm is slightly higher than the three previous algorithms, which is not a big issue since this follows the aim of outsourcing by moving computational burden from local to cloud. As shown in Figure 4, compared with the previous algorithms and nonoutsourcing algorithms, our proposed algorithm has the lowest local computational burden. As for the security level, even if l is set to 20, the security of the three previous algorithms are still much lower than the proposed algorithm.
Table 8.
Experimental results (time in milliseconds).
| Algorithm | Dimension | ||||||
|---|---|---|---|---|---|---|---|
| Our algorithm | 500 | 32.829 | 14.188 | 3.547 | 17.735 | 49.264 | 1.851 |
| 2000 | 290.013 | 94.517 | 31.670 | 126.187 | 352.725 | 2.298 | |
| 3000 | 606.768 | 191.122 | 41.954 | 233.078 | 903.288 | 2.603 | |
| 5000 | 2410.926 | 470.294 | 148.515 | 618.809 | 2982.729 | 3.896 | |
| 8000 | 4666.675 | 808.776 | 228.117 | 1036.893 | 6163.738 | 4.501 | |
| 10,000 | 12,818.648 | 1960.510 | 459.867 | 2420.337 | 15,895.125 | 5.296 | |
| Lei’s algorithm [5] | 500 | 32.829 | 1.747 | 25.184 | 26.931 | 45.775 | 1.219 |
| 2000 | 290.013 | 5.528 | 186.026 | 191.554 | 348.904 | 1.514 | |
| 3000 | 606.768 | 10.951 | 341.002 | 351.953 | 894.031 | 1.724 | |
| 5000 | 2410.926 | 42.309 | 974.528 | 1016.837 | 2767.491 | 2.371 | |
| 8000 | 4666.675 | 274.662 | 1198.869 | 1473.532 | 5495.207 | 3.167 | |
| 10,000 | 12,818.648 | 796.518 | 2779.116 | 3575.634 | 14,175.942 | 3.585 | |
| Liu’s algorithm [6] | 500 | 32.829 | 0.793 | 19.764 | 20.557 | 38.379 | 1.597 |
| 2000 | 290.013 | 4.923 | 152.771 | 157.694 | 311.684 | 1.839 | |
| 3000 | 606.768 | 7.595 | 258.414 | 266.009 | 894.031 | 2.281 | |
| 5000 | 2410.926 | 30.519 | 669.924 | 701.443 | 2531.673 | 3.442 | |
| 8000 | 4666.675 | 132.731 | 985.303 | 1118.034 | 4951.749 | 4.174 | |
| 10,000 | 12,818.648 | 551.634 | 2024.461 | 2576.095 | 13,667.593 | 4.976 | |
| Zhang’s algorithm [4] | 500 | 32.829 | 18.475 | 20.498 | 38.973 | 37.517 | 0.842 |
| 2000 | 290.013 | 104.772 | 167.538 | 272.310 | 324.941 | 1.065 | |
| 3000 | 606.768 | 207.462 | 277.737 | 485.199 | 875.963 | 1.251 | |
| 5000 | 2410.926 | 522.743 | 720.335 | 1243.078 | 2539.492 | 1.939 | |
| 8000 | 4666.675 | 983.769 | 1142.779 | 2126.548 | 5027.820 | 2.194 | |
| 10,000 | 12,818.648 | 2647.539 | 3176.957 | 5824.496 | 12,741.742 | 2.201 |
Figure 3.
Acceleration ratio of the client.
Figure 4.
The time consumption of the client.
In order to prove that the proposed algorithm achieves a higher security level with less local computation costs. we also compare the local running time of the proposed algorithm with the previous three algorithm on different values of parameter l. In this experiment, the dimension of matrix is fixed at 2000. As shown in Figure 5, because the proposed algorithm uses a new verification method, which does not involve the parameter l, the local running time of the proposed algorithm remains unchanged. As the parameter l increases, the cheating detectability of the previous three algorithms increases, since the forged results can escape local verifications with the probability of , while in our algorithm the cheating detectability remains at the probability of . However, the local computational burden of the three algorithms also increases significantly.
Figure 5.
The time consumption of the client when using different parameter l.
We also apply the proposed secure outsourcing algorithm as a basic module to the Cramer’s rule to solve linear equations. We compare the time consumption of outsourcing determinant computation and nonoutsourcing in solving linear equations of different dimensions. As shown in Figure 6, outsourcing the computations of determinant can significantly reduce the time consumption of solving linear equations, which also proves the efficiency superiority of the proposed secure outsourcing algorithm for matrix determinant computation.
Figure 6.
The time consumption of solving linear equations.
7. Conclusions
In this paper, we propose a new secure outsourcing algorithm for matrix determinant computation under the malicious model. We also conduct theoretical analysis to prove the correctness, efficiency, privacy protection level, and cheating detectability for the proposed algorithm. In comparison with the previous algorithms in [4,5,6], the proposed algorithm achieves higher cheating detectability with less computations on the client. The previous algorithms [4,5,6] use Freivald’s method [38] for verification, which achieves a high cheating detectability by continuously increasing local computational burden. The cheating detectability of the proposed algorithm does not depend on the frequency of verification but is only related to the size of the matrix. Even in the case that the dimension of the matrix is not large enough (greater than or equal to 5), the cheating detectability of our algorithm is significantly better than the previous algorithms. For the privacy, the state-of-the-art algorithm [4] has the highest privacy, but its local computation cost usually nullifies the efficiency benefit of outsourcing when the dimension of matrix is less than 2000. Our algorithm with the lowest local computation cost achieves privacy comparable with the state-of-the-art works. We also conduct experiments to demonstrate the local efficiency superiority of the proposed algorithm. However, the theoretical analysis and experimental results also show that the proposed algorithm has a higher cloud computation cost than the three previous algorithms, which is not a big issue since this follows the aim of outsourcing by moving computational burden from local to cloud. As future work, we will study how to reduce the cloud’s computational burden in the secure outsourcing algorithms for computations of the matrix.
Author Contributions
Conceptualization, M.S. and Y.S.; methodology, M.S.; software, M.S.; validation, M.S. and Y.S.; formal analysis, M.S. and Y.S.; investigation, M.S.; resources, M.S. and Y.S.; data curation, M.S.; writing—original draft preparation, M.S.; writing—review and editing, Y.S.; visualization, M.S.; supervision, Y.S.; project administration, Y.S.; funding acquisition, Y.S. All authors have read and agreed to the published version of the manuscript.
Funding
This research was funded by the Science and Technology Program of Guangzhou, China (Grant No. 201904010209), and the Science and Technology Program of Guangdong Province, China (Grant No. 2017A010101039).
Institutional Review Board Statement
Not applicable.
Informed Consent Statement
Not applicable.
Data Availability Statement
Not applicable.
Conflicts of Interest
The authors declare no conflict of interest.
Footnotes
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.
References
- 1.Brunette G., Mogull R. Security guidance for critical areas of focus in cloud computing v2.1. [(accessed on 4 September 2021)];Cloud Secur. Alliance. 2017 :1–76. Available online: http://www.cloudsecurityalliance.org/csaguide.pdf. [Google Scholar]
- 2.Bolton T., Dargahi T., Belguith S., Al-Rakhami M.S., Sodhro A.H. On the security and privacy challenges of virtual assistants. Sensors. 2021;21:2312. doi: 10.3390/s21072312. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 3.Goldreich O., Micali S., Wigderson A. Providing Sound Foundations for Cryptography: On the Work of Shafi Goldwasser and Silvio Micali. ACM; New York, NY, USA: 2019. How to play any mental game, or a completeness theorem for protocols with honest majority; pp. 307–328. [Google Scholar]
- 4.Zhang S., Tian C., Zhang H., Yu J., Li F. Practical and Secure Outsourcing Algorithms of Matrix Operations Based on a Novel Matrix Encryption Method. IEEE Access. 2019;7:53823–53838. doi: 10.1109/ACCESS.2019.2913591. [DOI] [Google Scholar]
- 5.Lei X., Liao X., Huang T., Li H. Cloud computing service: The caseof large matrix determinant computation. IEEE Trans. Serv. Comput. 2014;8:688–700. doi: 10.1109/TSC.2014.2331694. [DOI] [Google Scholar]
- 6.Liu J., Bi J., Li M. Secure outsourcing of large matrix determinant computation. Front. Comput. Sci. 2020;14:1–12. doi: 10.1007/s11704-019-9189-7. [DOI] [Google Scholar]
- 7.Nykvist C., Larsson M., Sodhro A.H., Gurtov A. A lightweight portable intrusion detection communication system for auditing applications. Int. J. Commun. Syst. 2020;33:e4327. doi: 10.1002/dac.4327. [DOI] [Google Scholar]
- 8.Kayes A., Kalaria R., Sarker I.H., Islam M., Watters P.A., Ng A., Hammoudeh M., Badsha S., Kumara I. A survey of context-aware access control mechanisms for cloud and fog networks: Taxonomy and open research issues. Sensors. 2020;20:2464. doi: 10.3390/s20092464. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 9.Brakerski Z. Annual Cryptology Conference. Springer; Berlin/Heidelberg, Germany: 2012. Fully homomorphic encryptionwithout modulus switching from classical GapSVP; pp. 868–886. [Google Scholar]
- 10.Chillotti I., Gama N., Georgieva M., Izabachène M. TFHE: Fast fully homomorphic encryption over the torus. J. Cryptol. 2020;33:34–91. doi: 10.1007/s00145-019-09319-x. [DOI] [Google Scholar]
- 11.Shen T., Wang F., Chen K., Wang K., Li B. Efficient leveled (multi) identity-based fully homomorphic encryption schemes. IEEE Access. 2019;7:79299–79310. doi: 10.1109/ACCESS.2019.2922685. [DOI] [Google Scholar]
- 12.Da Silva D.W., de Araujo C.P., Chow E., Barillas B.S. A new approach towards fully homomorphic encryption over geometric algebra; Proceedings of the 2019 IEEE 10th Annual Ubiquitous Computing, Electronics & Mobile Communication Conference (UEMCON); New York, NY, USA. 10–12 October 2019; pp. 0241–0249. [Google Scholar]
- 13.Li J., Yu Q., Zhang Y., Shen J. Key-policy attribute-based encryption against continual auxiliary input leakage. Inf. Sci. 2019;470:175–188. doi: 10.1016/j.ins.2018.07.077. [DOI] [Google Scholar]
- 14.Waters B. International Workshop on Public Key Cryptography. Springer; Berlin/Heidelberg, Germany: 2011. Ciphertext-policy attribute-based encryption: An expressive, efficient, and provably secure realization; pp. 53–70. [Google Scholar]
- 15.Attrapadung N. Annual International Conference on the Theory and Applications of Cryptographic Techniques. Springer; Berlin/Heidelberg, Germany: 2019. Unbounded dynamic predicate compositions in attribute-based encryption; pp. 34–67. [Google Scholar]
- 16.Fu A., Li S., Yu S., Zhang Y., Sun Y. Privacy-preserving composite modular exponentiation outsourcing with optimal checkability in single untrusted cloud server. J. Netw. Comput. Appl. 2018;118:102–112. doi: 10.1016/j.jnca.2018.06.003. [DOI] [Google Scholar]
- 17.Su Q., Zhang R., Xue R. Secure outsourcing algorithms for composite modular exponentiation based on single untrusted cloud. Comput. J. 2020;63:1271. doi: 10.1093/comjnl/bxz165. [DOI] [Google Scholar]
- 18.Zhou Q., Tian C., Zhang H., Yu J., Li F. How to securely outsource the extended euclidean algorithm for large-scale polynomials over finite fields. Inf. Sci. 2020;512:641–660. doi: 10.1016/j.ins.2019.10.007. [DOI] [Google Scholar]
- 19.Ren Y., Ding N., Wang T., Lu H., Gu D. New algorithms for verifiable outsourcing of bilinear pairings. Sci. China Inf. Sci. 2016;59:1–3. doi: 10.1007/s11432-016-5550-8. [DOI] [Google Scholar]
- 20.Lin C., He D., Huang X., Xie X., Choo K.K.R. Blockchain-based system for secure outsourcing of bilinear pairings. Inf. Sci. 2020;527:590–601. doi: 10.1016/j.ins.2018.12.043. [DOI] [Google Scholar]
- 21.Tong L., Yu J., Zhang H. Secure Outsourcing Algorithm for Bilinear Pairings without Pre-Computation; Proceedings of the 2019 IEEE Conference on Dependable and Secure Computing (DSC); Hangzhou, China. 18–20 November 2019; pp. 1–7. [Google Scholar]
- 22.Song M., Sang Y., Zeng Y., Luo S. Blockchain-Based Secure Outsourcing of Polynomial Multiplication and Its Application in Fully Homomorphic Encryption. Secur. Commun. Netw. 2021;2021:9962575. [Google Scholar]
- 23.Zhang Y., Blanton M. International Conference on Information Security. Springer; Berlin/Heidelberg, Germany: 2014. Efficient secure and verifiable outsourcing of matrix multiplications; pp. 158–178. [Google Scholar]
- 24.Kumar M., Mishra V., Shukla A., Singh M., Vardhan M. A novel publicly delegable secure outsourcing algorithm for large-scale matrix multiplication. J. Intell. Fuzzy Syst. 2020;38:6445–6455. doi: 10.3233/JIFS-179725. [DOI] [Google Scholar]
- 25.Wang S., Huang H. Secure outsourced computation of multiple matrix multiplication based on fully homomorphic encryption. KSII Trans. Internet Inf. Syst. (TIIS) 2019;13:5616–5630. [Google Scholar]
- 26.Wu Y., Liao Y., Liang Y., Liu Y. Secure and Efficient Protocol for Outsourcing Large-Scale Matrix Multiplication to the Cloud. IEEE Access. 2020;8:227556–227565. doi: 10.1109/ACCESS.2020.3045999. [DOI] [Google Scholar]
- 27.Duan J., Zhou J., Li Y. Secure and verifiable outsourcing of nonnegative matrix factorization (NMF); Proceedings of the 4th ACM Workshop on Information Hiding and Multimedia Security; Vigo, Spain. 20–22 June 2016; pp. 63–68. [Google Scholar]
- 28.Liu Z., Li B., Han Q. Secure and verifiable outsourcing protocol for non-negative matrix factorisation. Int. J. High Perform. Comput. Netw. 2018;11:14–23. doi: 10.1504/IJHPCN.2018.088875. [DOI] [Google Scholar]
- 29.Fu A., Chen Z., Mu Y., Susilo W., Sun Y., Wu J. Cloud-based outsourcing for enabling privacy-preserving large-scale non-negative matrix factorization. IEEE Trans. Serv. Comput. 2019 doi: 10.1109/TSC.2019.2937484. [DOI] [Google Scholar]
- 30.Duan J., Zhou J., Li Y. Secure and verifiable outsourcing of large-scale nonnegative matrix factorization (NMF) IEEE Trans. Serv. Comput. 2019 doi: 10.1109/TSC.2019.2911282. [DOI] [Google Scholar]
- 31.Hu C., Alhothaily A., Alrawais A., Cheng X., Sturtivant C., Liu H. A secure and verifiable outsourcing scheme for matrix inverse computation; Proceedings of the IEEE INFOCOM 2017-IEEE Conference on Computer Communications; Atlanta, GA, USA. 1–4 May 2017; pp. 1–9. [Google Scholar]
- 32.Pan S., Wang Q., Zheng F., Dong J. International Conference on Wireless Algorithms, Systems, and Applications. Springer; Berlin/Heidelberg, Germany: 2018. Secure and efficient outsourcing of large-scale matrix inverse computation; pp. 374–386. [Google Scholar]
- 33.Chen Z., Fu A., Xiao K., Su M., Yu Y., Wang Y. Secure and verifiable outsourcing of large-scale matrix inversion without precondition in cloud computing; Proceedings of the 2018 IEEE International Conference on Communications (ICC); Kansas City, MO, USA. 20–24 May 2018; pp. 1–6. [Google Scholar]
- 34.Pramkaew C., Ngamsuriyaroj S. Lightweight scheme of secure outsourcing SVD of a large matrix on cloud. J. Inf. Secur. Appl. 2018;41:92–102. doi: 10.1016/j.jisa.2018.06.003. [DOI] [Google Scholar]
- 35.Chen J., Liu L., Chen R., Peng W. Australasian Conference on Information Security and Privacy. Springer; Berlin/Heidelberg, Germany: 2020. SHOSVD: Secure Outsourcing of High-Order Singular Value Decomposition; pp. 309–329. [Google Scholar]
- 36.Kim D., Son Y., Kim D., Kim A., Hong S., Cheon J.H. Privacy-preserving approximate GWAS computation based on homomorphic encryption. BMC Med. Genom. 2020;13:77. doi: 10.1186/s12920-020-0722-1. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 37.Zong H., Huang H., Wang S. Secure Outsourced Computation of Matrix Determinant Based on Fully Homomorphic Encryption. IEEE Access. 2021;9:22651–22661. doi: 10.1109/ACCESS.2021.3056476. [DOI] [Google Scholar]
- 38.Freivalds R. Probabilistic Machines Can Use Less Running Time; Proceedings of the IFIP Congress; Toronto, ON, Canada. 8–12 August 1977; p. 842. [Google Scholar]
- 39.Chen Y., Nguyen P.Q. Annual International Conference on the Theory and Applications of Cryptographic Techniques. Springer; Berlin/Heidelberg, Germany: 2012. Faster algorithms for approximate common divisors: Breaking fully-homomorphic-encryption challenges over the integers; pp. 502–519. [Google Scholar]
- 40.Anderson E., Bai Z., Bischof C., Blackford L.S., Demmel J., Dongarra J., Du Croz J., Greenbaum A., Hammarling S., McKenney A., et al. LAPACK Users’ Guide. SIAM; Philadelphia, PA, USA: 1999. [Google Scholar]
Associated Data
This section collects any data citations, data availability statements, or supplementary materials included in this article.
Data Availability Statement
Not applicable.






