Abstract

Big data transmission in wireless sensor network (WSN) consumes energy while the node in WSN is energy-limited, and the data transmitted needs to be encrypted resulting from the ease of being eavesdropped in WSN links. Compressive sensing (CS) can encrypt data and reduce the data volume to solve these two problems. However, the nodes in WSNs are not only energy-limited, but also storage and calculation resource-constrained. The traditional CS uses the measurement matrix as the secret key, which consumes a huge storage space. Moreover, the calculation cost of the traditional CS is large. In this paper, semitensor product compressive sensing (STP-CS) is proposed, which reduces the size of the secret key to save the storage space by breaking through the dimension match restriction of the matrix multiplication and decreases the calculation amount to save the calculation resource. Simulation results show that STP-CS encryption can achieve better performances of saving storage and calculation resources compared with the traditional CS encryption.

1. Introduction

For its ease of deployment and cost effectiveness, wireless sensor network (WSN) is widely used in environment monitoring, disaster relief, military, and so on [13]. For example, with WSN for forest fire monitoring, numerous sensors are deployed in the monitor area, and big data should be gathered and transmitted in real-time. Big data transmission consumes vast energy, but the node in WSNs is energy-limited. If the battery of the node is drained, the node is useless. Moreover, since the nodes in WSNs use wireless communication technologies, the link is easy to be eavesdropped, and the data transmission needs to be encrypted. So big data transmission in WSNs should solve the energy-efficiency and encryption problems. CS can decrease the volume of the data transmitted, which can save the energy to prolong the life of the node [4, 5]. CS is also a kind of encryption method resulting from the randomness of the measurement matrix [6]. So CS can be used to encrypt data and save energy simultaneously.

However, the CS encryption uses the measurement matrix as the secret key, while the measurement matrix needs a huge storage space which is not suitable for WSNs. In WSNs, nodes are not only energy-limited, but also storage and calculation resources-constrained. Many optimization methods for the measurement matrix have been proposed [7, 8]. However, most of these existing methods focused on how to improve the recovery accuracy, decrease the iteration number, and accelerate the calculation. For reducing the size of the measurement matrix, most works focused on reducing the row number of the measurement matrix [9, 10], because the column number must be equal to the signal length according to the rule of matrix multiplication. Another kind of method to reduce the matrix size is dividing the signal into blocks, but this needs extra data processing overhead.

Another kind of CS encryption can save storage space by storing matrix generation parameters as the secret key rather than the whole matrix [11, 12]. This kind of CS encryption generates matrices by deterministic methods such as algebraic curves [13], coding (LDPC, BCH) [14], and chaotic systems (Chebyshev, Logistic, and Tent) [15, 16]; it can save huge storage space compared with keeping the whole matrix. However, using this method, users have to generate the matrix before encryption for each transmission. Although the deterministic method can decrease the key storage space by storing parameters, it needs to calculate the measurement matrix in real-time, which is at the expense of the calculation resource.

In this paper, semitensor product compressive sensing (STP-CS) is proposed to solve the problems above. STP-CS can save the storage space by introducing the semitensor product [1719] into compressive sensing, which can break through the dimension restriction of matrix multiplication and reduce the row and column numbers of the measurement matrix simultaneously. Compared with deterministic methods, the calculation resource of STP-CS is saved, because STP-CS does not need to generate the matrix in real-time before data encryption. An algorithm for STP-CS is also proposed, which saves the calculation resource compared with the traditional CS in theory and under simulation. Contributions of this paper are as follows:(i)STP-CS reduces the row and column numbers of the measurement matrix simultaneously to save the storage space.(ii)An algorithm of STP-CS is proposed to save the computing resources.(iii)The recovery performance of STP-CS is similar to those of the traditional CS and CCS, and the compression ratio performance of STP-CS is not affected.

The rest of this paper is organized as follows. Section 2 introduces the details of STP-CS encryption. The storage and calculation resources of STP-CS are analyzed in Section 3. Simulation results are discussed in Section 4. The last section concludes this paper.

Notation. The following notation is used throughout the paper. WSN denotes the wireless sensor network. CS denotes compressive sensing. CCS denotes the chaotic compressive sensing. STP-CS denotes the semitensor product compressive sensing. , denote the plain message and cipher message, respectively. , are the length and sparsity of , respectively. denotes the measurement matrix, and , are the row and column number of the measurement matrix, respectively.

In this section, some works about how to decrease the storage space of the CS secret key are introduced. There are two kinds of methods to decrease the storage space; one kind is reducing the size of the measurement matrix. Another is using the deterministic measurement matrix, and with this method, the matrix generation parameters are saved rather than the whole matrix.

A method for designing the measurement matrix is proposed in [10]. This method can reduce the row number of the measurement matrix, but the side information is needed for the design of the measurement matrix. Model based compressive sensing is proposed in [9]. Using this model based CS, the signal can be recovered by less number of measurements by leveraging more realistic signal models; less number of measurements means the row number of measurement matrix is reduced. But the recovery algorithm has to be improved; the traditional recovery algorithm cannot be used. Compared with these methods, STP-CS can reduce not only the row number of the measurement matrix, but also the column number by breaking through the restriction of matrix multiplication.

There are many kinds of deterministic measurement matrices. The chaotic sequence has the property of pseudo-random, so it can be used for constructing the measurement matrix [15]. The possibility of constructing measurement matrix with different kinds of chaotic systems is investigated, including Chen system, Chua system, and Lorenz system [16]. Algebraic curves like elliptic curves can also be used to construct the deterministic measurement matrices [13]. LDPC code is another kind of method for constructing the deterministic measurement matrices [14]. All these methods only need to store some parameters rather than the whole matrix, but the measurement matrix has to be generated in real-time. Compared with these methods, STP-CS can save huge computing resource.

In addition, there are many other matrices which can be used as deterministic measurement matrix, such as cyclic matrix [20], Toeplitz matrix [21], chirp matrix [22], and polynomial matrix [23]. However, these matrices have other restrictions. Cyclic matrix and Toeplitz matrix still need to store lots of test data, and the construction of polynomial matrix is limited by the signal length [20].

3. STP-CS Data Communication

In this section, the details of our proposed STP-CS encryption are introduced. Before this, CS encryption is introduced.

3.1. CS Encryption

Based on CS theory [24, 25], suppose is a plain message; project to using the matrix , , where is called the measurement matrix and . Because is very different from , is regarded as the cipher message, and is the secret key. At the receiver, can be recovered with and by utilizing some algorithms such as BP, OMP, and ROMP [24, 26, 27]. For the recovery, should be sparse or sparse on some orthogonal basis ; that is, . The sparsity here means values of are nonzero, while the other values are zero, where . Though , for the accuracy recovery, cannot be arbitrarily small; it has to be satisfied withwhere is a small constant [24]. Resulting from the dimension restriction of the matrix multiplication, the column number of the measurement matrix has to be equal to the dimension of the signal . For storing a CS secret key, elements need to be stored. So, to decrease the size of the measurement matrix, this restriction has to be broken through.

3.2. Semitensor Product

The semitensor product (STP) was proposed by Cheng and Zhang in [17]. STP is the generalization of the conventional matrix multiplication, and it can break through the dimension match restriction of the conventional matrix multiplication.

Suppose is a row vector of dimension ; is a column vector of dimension ; dividing to equal parts, that is, , each part is a row vector of dimension . The definition of STP, denoted by , isSimilarly, . Generalized to a matrix, suppose , ; if is the factor of or is the factor of , the definition of the semitensor product of and is as follows:where denotes the th row of and denotes the th column of .

3.3. STP-CS Encryption

Now, introduce STP into CS encryption [28]. The definition of STP-CS is as follows:where , , . To decrease the size of the measurement matrix , should be as small as possible. For meeting the requirement of STP, we choose with the condition . According to [17],where and denotes the Kronecker product [17]. When , (5) translates to , which is the traditional CS. From (5), STP-CS with the measurement matrix is equivalent to the traditional CS with the measurement matrix . The RIP, spark, and coherence of the measurement matrix are introduced in [28], needs to meet these conditions. Based on the definition of STP-CS, for a signal , the column number of the measurement matrix only needs to be satisfied with the condition , while the traditional CS should meet the dimension match, and the column number must be equal to . So compared with the traditional CS, the column number of the measurement matrix can be decreased. As for the row number of the measurement matrix in STP-CS, it can be also decreased which will be introduced in next section, while the row number of the measurement matrix in the traditional CS cannot break through the restriction in (1). So, although the STP-CS encryption also keeps the measurement matrix as the secret key, it can save a huge storage space by decreasing the size of the measurement matrix.

Compared with deterministic methods [15], like chaotic compressive sensing (CCS), the storage space of the measurement matrix in STP-CS is not decreased, because CCS stores matrix generation parameters such as chaotic parameter or chaos sequence initial value. But calculation resource of STP-CS is saved. The measurement matrix in CCS has to be generated in real-time, which will need much calculation resource. So STP-CS can save storage space compared with the traditional CS and save calculation resource compared with CCS. In fact, STP-CS can also save calculation resource compared with the traditional CS, which will be introduced in the next section. So STP-CS can be widely used in resource-limited scenarios like WSNs. STP-CS encryption can not only solve the security and energy-efficiency problems but also save storage and calculation resources.

3.4. An Algorithm for STP-CS

In this part, an algorithm for STP-CS is proposed, which can implement STP-CS using less calculation resource than the traditional CS.

From (3), computing needs to compute , . To compute , split to , and use each element of to multiply the corresponding block of , which means that every element of needs to be multiplied by several numbers. As for matrix multiplication, suppose ; an arbitrary element of needs to be multiplied by every element of the th row of . Based on the above analysis, an algorithm for STP-CS using matrix multiplication is proposed.(1)Project to an matrix as follows:(2)Left multiply the above matrix using the STP-CS measurement matrix :(3)Transform each row of into a column vector, and construct a new column vector using these vectors. This new column vector is equal to .

Next is the brief proof for step (). Based on the second step of the algorithm, we haveAnd can be split into blocks with elements; the th element of the th block of isSo , and can be transformed to .

The diagram of the STP-CS algorithm above is shown in Figure 1. is the plain message and is the cipher message. is the secret key of STP-CS encryption.

4. Performance Analysis

In this section, the performance of STP-CS is analyzed, including storage resource, calculation resource, and compression ratio.

Based on (5), STP-CS with the measurement matrix is equivalent to the traditional CS with the measurement matrix . According to (1), we haveAnd thenwhere is a small constant. In order to compress the signal, the dimension of should be satisfied with ; that is, , so the range of the row number of isBecause storing a measurement matrix needs to keep elements, the range of the storage space for one STP-CS key isBased on , set , , and is the factor of ; (13) can be transformed toEquation (14) is the relationship between the key storage space and the dimension and sparsity of the signal . For comparison, suppose is the measurement matrix for the traditional CS. To encrypt the same signal, the condition , should be satisfied, so the storage space for one traditional CS key isFrom (14) and (15), the low bound of one STP-CS key storage space is smaller than that of one traditional CS key storage space, when .

According to (4) and (5), is a column vector of dimension . According to (3), includes column vectors with dimension ; that is,where , in which is the th row of , and is th block of . The dimension of is . From (2), computing each needs multiplications, that is, multiplications, and additions. includes . So computing the whole needs multiplications and additions. However, using the traditional CS needs the measurement matrix in order to get the same data volume of STP-CS. Computing each measurement needs multiplications and additions. Computing the whole needs multiplications and additions. To get the same number of measurements, the multiplication resources of the traditional CS are times that of STP-CS; the addition resources of traditional CS are times that of STP-CS. Resulting from , , the traditional CS needs more resources than STP-CS. When , the resources needed are the same for both methods. In fact, if , STP-CS degenerates to the traditional CS.

Now analyze the computing resource of the algorithm proposed in Section 2. Computing each element of needs multiplications and additions, and has elements, so the whole resources needed for computing are multiplications and additions. Compared with the definition of STP-CS, the calculation quantity is the same.

Next, we analyze the compression ratio of STP-CS. From (5), the dimension of is , so the compression ratio is , where and are the row number and column number of the STP-CS measurement matrix, respectively. From (12), the range of compression ratio of STP-CS is . And the compression ratio of the traditional CS is , where is the row number of the traditional CS measurement matrix, and is the dimension of the signal. From the row number restriction, the range of of traditional CS is . So the range of STP-CS is the same as that of the traditional CS. STP-CS can obtain the same compression ratio as the traditional CS.

5. Simulation Results

In this section, simulations of STP-CS encryption and decryption are discussed. In the experiment, the length of the original signal is , and the sparsity is . The signal is a frequency domain sparse signal, which is combined by some discrete sine signals. The recovery algorithm is OMP, and the recovery performance is measured by the relative error,which is the 2-norm of the recovery error relative to the 2-norm of the original signal , and is the recovered signal. The simulation time is 200, and the relative errors in Figures 2, 5, and 6 are the average values of the 200 simulation results.

Figure 2 shows the recovery performance of STP-CS compared with the traditional CS and CCS [16]. The compression ratio is , and two groups of the STP-CS matrix , are processed. The sizes of two STP-CS matrices are and , respectively. The sizes of the traditional CS and CCS are both . From Figure 2, four curves coincide with each other after 20 dB. For example, At 20 dB, the relative error of the traditional CS is , the relative error of CCS is , the relative error of STP-CS with matrix is , the relative error of STP-CS with matrix is , and the relative errors of three kinds of matrices tend to be zero at 30 dB. Figure 3 shows the variance of the relative errors of the 200 simulation results. From Figure 3, the variance is small, after 10 dB, all variances are less than 0.01. The variance of STP-CS is smaller than the traditional CS and CCS. So the relative error of STP-CS is stable. This implies that the recovery performance of STP-CS is similar to those of the traditional CS and CCS. The size of the STP-CS matrix is extremely small, which implies that the small-size measurement matrix of STP-CS achieves a similar recovery performance as that of the traditional CS, so STP-CS can save storage space.

Not only the above signal but also STP-CS can be used for other kinds of signals. Table 1 shows the recovery results of four kinds of signals. These signals are generated by MATLAB, including Bernoulli, Gaussian, Uniform, and Power distributions. The recovery algorithm is OMP, and the measurement matrix is a Gaussian matrix for three kinds of length signals. From Table 1, the relative errors are small for these four kinds of signals. STP-CS can encrypt the signals with different length, but the dimension of the measurement matrix of the traditional CS should be adjusted to match the signal length.

STP-CS can be also used for the image. Figure 4 shows the recovery results for a Lena image. The image size is , the size of the measurement matrix is , and the PSNR (Peak Signal to Noise Ratio) is 33.64 dB. The compression ratio of STP-CS is 0.5. For the traditional CS, the size of the measurement matrix should be for the compression ratio 0.5, so STP-CS can save huge storage space for the measurement matrix.

The computing resources are measured by computing time. In this part, the encryption time is recorded by MATLAB system time, and the unit is millisecond. The compression ratio is also . The size of the STP-CS matrix is , the size of the traditional CS matrix is , and the size of the chaotic matrix is . The encryption time of the above three methods is 0.161 ms, 0.254 ms, and 1.953 s, respectively. Because the CCS needs to generate the matrix, the time of CCS is very long. Table 1 shows the computing time for different groups of , for the STP-CS matrix. From Table 2, the computing time increases with the increments of , , and . So, to reduce the computing time, and should be small. Along with the increment of the signal length, the traditional CS should increase the row of the measurement matrix which will increase the calculation quantity, while the STP-CS does not need to increase the row number. So the STP-CS also has the advantage on the decrement of computing resources.

In Figure 5, the compression ratio performance of STP-CS is shown. The compression ratio of STP-CS is ; to get the small-size matrix, we choose as small as possible. At 20 dB, the relative error of the matrix is , the relative error of the matrix is , the relative error of the matrix is , and the relative error of the matrix is . The recovery errors of these four matrices tend to be zero after 20 dB. This implies that the STP-CS can also achieve low compression ratio without affecting the recovery accuracy. Even the compression ratio is 0.125; at 30 dB, the relative error is 0.0261, similar to that of the ratio of 0.25, 0.0207. So the relative error can also tend to be zero at high SNR.

From Figure 6, only the original matrix can decrypt the data correctly, and the recovery errors of the other three matrices are larger than from  dB to 30 dB. The elements of other three matrices are only partly the same as those of the original matrix, and the encrypted data cannot be decrypted by a different key. Even if there is an eavesdropper who has of the elements of the key, the encrypted data still cannot be decrypted. At dB, the relative errors of these three matrices are larger than , which implies that, even at high SNR, the eavesdropper still cannot recover the data accurately.

For comparison, Figure 7 shows the security of the traditional CS. Similar to the encryption of STP-CS, only the original matrix can decrypt the data correctly, and the other three matrices cannot decrypt the data; the recovery errors of the other three matrices are larger than from  dB to  dB. Based on this relative error, the performance of the traditional CS is better than STP-CS. But the dimension of the measurement matrix is , while the dimension of the measurement matrix is , so the security performance of STP-CS can be improved by increasing the size of the measurement matrix.

6. Conclusions

CS can fulfill the energy-efficiency and the encryption for big data transmission simultaneously. But the measurement matrix needs huge storage space, and the calculation cost of CS is large. In this paper, we propose STP-CS encryption to decrease the storage space for the secret key to save storage resource and reduce the calculation amount to save calculation resource. The simulation results show that the performance of saving resource is better compared with the traditional CS and CCS.

Conflicts of Interest

The authors declare that there are no conflicts of interest regarding the publication of this paper.

Acknowledgments

This paper is supported by the National Key Research and Development Program of China (Grants nos. 2016YFB0800602 and 2016YFB0800604), the National Natural Science Foundation of China (Grants nos. 61573067 and 61472045), the Beijing City Board of Education Science and Technology Project (Grant no. KM201510015009), and the Beijing City Board of Education Science and Technology Key Project (Grant no. KZ201510015015).