Abstract

Firstly, this study introduces a definition of generalized stability (GST) in discrete-time nonautonomous chaos system (DNCS), which is an extension for chaos generalized synchronization. Secondly, a constructive theorem of DNCS has been proposed. As an example, a GST DNCS is constructed based on a novel 4-dimensional discrete chaotic map. Numerical simulations show that the dynamic behaviors of this map have chaotic attractor characteristics. As one application, we design a chaotic pseudorandom number generator (CPRNG) based on the GST DNCS. We use the SP800-22 test suite to test the randomness of four 100-key streams consisting of 1,000,000 bits generated by the CPRNG, the RC4 algorithm, the ZUC algorithm, and a 6-dimensional CGS-based CPRNG, respectively. The numerical results show that the randomness performances of the two CPRNGs are promising. In addition, theoretically the key space of the CPRNG is larger than 21116. As another application, this study designs a stream avalanche encryption scheme (SAES) in RGB image encryption. The results show that the GST DNCS is able to generate the avalanche effects which are similar to those generated via ideal CPRNGs.

1. Introduction

Chaos, characterized by its deterministic, unpredictable features and extremely sensitive dependence on initial conditions, stems from nonlinear systems (e.g., see [13]). During the last three decades, chaos theory has been developed to model complex nature and social phenomena by using quite simple mathematical models. Thus it has captured much attention of the scientific community for predicting the behavior of systems in the real world.

Nonautonomous discrete systems were introduced in [4]; as we can see, they also appear connected to some nonautonomous difference equations (e.g., see [5, 6]). A lot of natural questions concerned the nonautonomous dynamical systems; therefore the research of the nonautonomous system is recently very intensive (e.g., see [79]). However, there is no much research on discrete nonautonomous chaotic systems.

Mathematically chaos synchronization (CS) means that the trajectories of two different chaotic systems exhibit identical phenomena with time evolution. Synchronization phenomenon is a kind of typical collective behaviors that could be found in many physical, biological, and engineering systems (e.g., see [1016]).

Chaos generalized synchronization (CGS) means that, with time evolution, the trajectories of two different chaotic systems tend to become identical with respect to a transformation in a specific domain. Therefore CGS has more general meaning than CS. The study of CGS has also attracted much attention (e.g., see [1725]).

Generally speaking, there are different methods such that two systems achieve generalized synchronization such as design control laws to force coupled systems to satisfy a prescribed functional relation [2628]. In series papers [2932], we have studied the general representations of two systems to achieve GS.

Since the pioneer work of Pecora and Carroll on CS secure communication [33], CS and CGS have been used as new tools in secure communications and have been used as designs of pseudorandom number generators (e.g., [1725, 3437]). Research along this line is promising.

This paper extends the concept of the generalized synchronization [38] to generalized stability (GST) for discrete-time nonautonomous chaos system (DNCS), and then we propose a corresponding GST theorem. Using the GST theorem helps design a novel nonautonomous chaotic discrete system and construct a chaos-based pseudorandom number generator (CPRNG). We test the randomness of the CPRNG, the RC4 algorithm, the ZUC algorithm [39], and a 6-dimensional CGS-based CPRNG2 [40] by the SP800-22 test suite of the INST [41], respectively. At last, as an application, by using the CPRNG and the SAES a RGB image has been encrypted in communication.

The rest of this paper is organized as follows. Section 2 introduces the definition and the theorem of GST. Section 3 presents a novel 4-dimensional nonautonomous chaotic discrete system and an 8-dimensional GST system and simulates the dynamic behaviors of the GST system. Section 4 designs the CPRNG and makes the statistic tests for the CPRNG, the RC4 algorithm, the ZUC algorithm, and the 6-dimensional CGS-based CPRNG2, respectively. An image encryption example of the CPRNG and the SAES is introduced in Section 5. Finally, Section 6 presents some concluding remarks.

2. Definition and Theorem of GST

A point of view states that two events with relationship of cause and effect might be described via CGS for two systems. Motivated by CGS, let us introduce the concept of GST.

Definition 1. Consider two systemswhereIf there exists a transformation , wherefor , there exist and such that all trajectories of (1) and (2) with initial conditions satisfyThen the systems in (1) and (2) are said to be in GST with respect to the transformation . System (1) is called the driving system; system (2) is said to be the driven system.

In order to construct the novel DNCS with the GST property, we present the following.

Theorem 2. Let , and be defined by (3); . Suppose thatIf two systems (1) and (2) are in GST via the transformation , if and only if, the function given in (2) has the following form:and the functionguarantees that the zero solution of the following error equation is stable on the open set defined by Definition 1:

Proof. DenoteThenTherefore, two dynamic systems (1) and (2) are in GST via the transformation , if and only if the function makes the zero solution of the error equation (9) stable. This completes the proof.

3. A Novel GST DNCS

The construction of the novel GST DNCS is divided into 3 steps: (1) construct a chaotic system ; (2) introduce a transformation ; (3) construct a system such that guarantees the zero solution of the error equation (9) stable.

Step 1. Construct a novel 4-dimensional nonautonomous chaotic system as follows:The calculated Lyapunov exponents of system (12) are ; therefore, system (12) is a chaotic system.

Now, select the following initial condition:

The chaotic orbits of the state variables for the first 5000 iterations are shown in Figure 1. The evolution of state variables, , , , and , is shown in Figure 2. Observe that the dynamic behaviors of the chaotic map demonstrate chaotic attractor characteristics.

Step 2. Letwhich is an invertible matrix. Define a transformation as follows:where

Step 3. First, we need the following lemma.

Lemma 3 (see [42]). If there exists a positive definite function such that is negative semidefinite, then the system is zero solution stable.
Then, we construct system (2). LetwhereNow we prove that guarantees that error equation (19) will be zero solution stable.
In fact, define a positive definite functionand thenTherefore, is a negative semidefinite function. According to Lemma 3, (19) is zero solution stable.
Hence we conclude, from Theorem 2, that the constructed dynamic systems (12) and (17) are in GST with respect to transformation (15) for any initial value .

Now we choose (22) as the initial condition:

The first 5000 iterations of variable components of are obtained as shown in Figure 3. The evolution of state variables, , , , and , is shown in Figure 4. The simulation result shows that the system has chaotic attractor characteristics. And Figure 5 shows that and are rapidly in GST with respect to transformation .

In summary, both theory and numerical simulation shows that the constructed dynamic systems (12) and (17) are in GST.

4. Chaotic Pseudorandom Number Generator and Test

4.1. Pseudorandom Number Generator

Denotewhere and are defined by (12) and (17). First introduce a transformation , which transforms the chaotic streams of GST systems (23) into keystreams. Denoteand then is defined bywhere .

Now we can design a CPRNG based on transformation (24) and (25) and the GST systems (12) and (17). The seeds of the CPRNG are the initial conditions of the GST systems, which can be chosen via random number generators. Therefore the output keystreams of the CPRNG can be obtained via (25) and the GST systems (12) and (17).

4.2. Randomness Test

The NIST SP800-22 test suite [41] consists of 15 statistical tests (see the first column in Table 2) that were developed to test the randomness of binary sequences produced by either hardware or software based cryptographic random or pseudorandom number generators [41]. Each statistical test is formulated to test a specific null hypothesis (): the sequence being tested is random. A significance level () can be chosen for the tests. If value ≥, then the null hypothesis is accepted; that is, the sequence appears to be random. Typically, is chosen in the range . NIST SP800-22 test suite is stricter than the FIPS140-2 test suite NIST [43]. A binary sequence which has passed all tests of FIPS140-2 test suite may not pass all tests in the NIST SP800-22 test suite.

In order to test the pseudorandomness of the CPRNG, we transform the “16-bit” stream defined by (25) to the bit stream as follows.

Construct a transform , which is defined bys.t., for all ,Let ; thenwhere and are both Matlab commands. And the transformation is defined via

Now the SP800-22 test is used to check 100 keystreams randomly generated, respectively, by CPRNG with perturbed randomly initial condition , , and the parameters of matrix (14) in the range . The results are listed in the 2nd column of Tables 1 and 2.

The ZUC algorithm, a stream cipher designed by Chinese cryptologists, is accepted by the 3GPP LTE as the international encryption standard for the 4G mobile communication. Now, the SP800-22 test is used to test the 100 keystreams randomly generated by the ZUC algorithm program (see Appendix  A in [39]). The statistical test results are shown in the 4th column of Tables 1 and 2.

In paper [40], a nonautonomous discrete CGS system based CPRNG has been proposed. The SP800-22 statistic test results of the CPRNG2 are listed in the 5th column of Tables 1 and 2 (also see Tables I and II in [40]).

The well-known RC4 was designed by Rivest of the RSA Security in 1987, which has been widely used in popular protocols such as Secure Sockets. The RC4 algorithm as PRNG can be designed via the Matlab commands as shown in Algorithm 1.

N=20000;
K=randi([0254],1,255);
S=[0:255-1];j=0;
for  i=1:255
j=mod(j+S(i)+K(i),255);
      Sk=S(j+1);
         S(j+1)=S(i);
         S(i)=Sk;
end
   C=zeros(1,N);j=0;i=0;k=1;
for  l=1:N/8
     i=mod(i+1,255);
     j=mod(j+S(i+1),255);
       Sk=S(j+1);
         S(j+1)=S(i+1);
            S(i+1)=Sk;
   C(l)=S(mod(S(j+1)+S(i+1),255)+1);
end
   C=(dec2bin(C));
  C=C(:);
    C=bin2dec(C);        

Here, “” generates a vector of uniformly distributed random integers of dimension ; “” means taking modulus after division; “” is a zero row vector of dimension . Consequently, the RC4 algorithm-based PRNG is designed. Then, the SP800-22 test suite is used to test 100 keystreams randomly generated by the RC4 PRNG. The statistical test results are listed in the 3rd column of Tables 1 and 2.

Now, we compare all test results shown in Tables 1 and 2. It can be clearly observed, from the statistical properties of the pseudorandomness of the sequences generated via the four PRNGs, that all the CPRNGs have satisfactory, indeed very promising, randomness properties.

4.3. Key Space

The key set parameters of CPRNG includes the initial condition , , and the matrix . It can be proved that if the perturbation matrix satisfies , the matrix is still invertible. Therefore the CPRNGs have 4 + 4 + 16 key parameters denoted byLet the key set be perturbed bywhere

First, we compare the difference between the keystream including codes’ length generated by key set (30) and keystreams generated by the perturbed key set (31). represents statistic values, represents different codes, and represents correlation coefficients. The comparison results are shown in third column in Table 3. Observe that the average percentage of different codes is 50.001% and the mean correlation coefficient is 0.00071329. It is very closed to the ideal different value 50% and ideal correlation coefficient 0.

Then, let us compare the same keystream with the 100 keystreams generated by the function of Matlab command . The comparison results are shown in fourth column in Table 3. Observe that the average percentage of different codes is 49.995% and the mean correlation coefficient is . The results may suggest that the keystream has no significant correlations with the perturbed keystreams and the streams . Furthermore, the key space of the CPRNG is larger than , which will help to increase security.

5. Simulations on Avalanche Image Encryption

This study designs a stream encryption scheme with avalanche effect.

Definition 4 (see [44]). Let be a binary keystream with -bit segments generated by a PRNG, a binary plaintext stream, and a ciphertext stream. Then the stream encryption scheme with avalanche effect is described as follows:(1)The ciphertext:satisfyingwhere is defined to be the bit string obtained by replacing all 0s in with 1s and all 1s in with 0s.(2)The corresponding decrypted plaintext:satisfying

Definition 5 (see [44]). A PRNG, , which generates -bit keystreams, is called an ideal PRNG, if has the following properties:(1)The period of any keystream generated by the PRNG is larger than . Its seed space and key space are both larger than .(2)In one period of a pseudorandom keystream generated by the PRNG, the distribution of different -bit segments in the keystream is homogenous. That is, if the period , then the number of each different -bit segment is equal to . If the period is not an integer multiple of , then the difference between the numbers of different -bit segments is at most one.(3)The two keystreams , generated by any two different seeds have different -bit segments.

Now, we use the CPRNG to investigate SAES in RGB image Beach with pixels as shown in Figure 6(a).

Simulations are implemented and the procedures are described as follows.(1)Transform the image Beach to a binary plaintext streamwhere .(2)Use the CPRNG with initial conditions (13) and (22) to generate a keystream (3)Drop the first 1000 iterative values, use the formula (33) and (34) to encrypt the plaintext stream , and then obtain a ciphertext(4)Use formula (35) and (36) to decrypt the ciphertext; then obtain a decrypted plaintext imagewithout errors (see Figure 6(b)).(5)Randomly disturb the initial conditions (13), (22) and matrix (14) for 1000 times in the range ; then obtain keystreams(6)Use to decrypt the ciphertext; then obtain the decrypted plaintext(7)Change to RGB images.

After changing to RGB images, all images become almost pure white images. There are total of 840000 codes in each decrypted image. Among the decrypted images, the minimum number of 0s in the decrypted is 3 and the maximum one is 27. Let denote the th image having number “” of 0 codes.

The first five decrypted images with minimum zero codes are shown in Figures 6(c)6(g). Figure 6(c) is the decrypted image with only three 0 codes. Figures 6(d)6(g) are the decrypted image with four 0 codes.

The last five decrypted images with maximum zero codes are shown in Figures 6(h)6(l). Figures 6(h) and 6(i) are the decrypted image with twenty-four 0 codes. Figures 6(j) and 6(k) are the decrypted image with twenty-five 0 codes. Figure 6(l) is the decrypted image with twenty-seven 0 codes.

As can be seen, the percentages of the numbers of “1” codes in the 1000 decrypted images are within the range , which are very closed to the ideal value .

In summary, the simulation shows that the CPRNG and the SAES to encrypt RGB images are able to generate encrypted images with significant avalanche effects.

Some statistic data of the norms between the original keystream and the keystream used in the above ten decrypted images are listed in Table 4, respectively. The comparison results show that in the norms between the original image and the corresponding decrypted images there are no significant correlations.

6. Conclusions

The main results of this paper are concluded as follows.(1)This study first introduces the definition of GST in DNCS, which is an extension for chaos generalized synchronization in DNCS, and then proposes a constructive GST theorem, which provides a general representation for GST DNCS.(2)As an example, a novel 4-dimensional nonautonomous discrete chaotic map and an 8-dimensional GST system are constructed, whose trajectories display chaotic attractor characteristics.(3)This 8-dimensional GST system is applied as a chaotic pseudorandom number generator (CPRNG). The SP800-22 tests show that the randomness of the CPRNG is similar to RC4 PRNG, ZUC PRNG, and CPRNG2 [40].(4)The key space of the CPRNG is larger than , which is large enough against brute-force attacks.(5)An image encryption example on the CPRNG with the SAES is given. It shows that the CPRNG is able to generate significant avalanche effects. The numerical simulations also show that the CPRNG is a qualified candidate for SAES.

Furthermore, to prevent attacks, one can consider a “one-time-pad” scheme: let be a set in the seed space (initial conditions) of the CPRNG, and assume that Alice and Bob share a one-to-one map . Before each communication, Alice randomly selects an element and sends it to Bob. Then, they both use as the seed for one-time encryption.

In summary, based on generalized synchronization methods, GST and corresponding theorem are introduced. They have been successfully used to design CPRNG with sound randomness for practical applications. It is expected that the GST theory deserves further detailed investigations on its theoretical analyses and numerical simulations.

Conflict of Interests

The authors declare that there is no conflict of interests regarding the publication of this paper.

Acknowledgments

The authors would like to thank the anonymous reviewers for their valuable comments and thank Longjie Hao for computer program assistance. This project is supported by the National Natural Science Foundation of China (Grant nos. 61074192 and 61170037) and Fundamental Research Funds for the Central Universities no. FRF-TP-14-068A2.