# A Generalized Stability Theorem for Discrete-Time Nonautonomous Chaos System with Applications

Authors: Mei Zhang; Danling Wang; Lequan Min; Xue Wang
Journal: Mathematical Problems in Engineering
 (2015)

---

## 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.


---

## Body

## 1. Introduction

Chaos, characterized by its deterministic, unpredictable features and extremely sensitive dependence on initial conditions, stems from nonlinear systems (e.g., see [1–3]). 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 [7–9]). 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 [10–16]).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 [17–25]).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 [26–28]. In series papers [29–32], 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., [17–25, 34–37]). 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. Section2 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 systems(1)Xk+1=FXk,k,(2)Yk+1=GYk,Xk,k,where(3)Xk=x1k,…,xnkT,Yk=y1k,…,ymkT,m≤n,FXk,k=f1Xk,k,…,fnXk,kT,GYk,Xk,k=g1Yk,Xk,k,…,gmYk,Xk,kT.If there exists a transformation H:Rn×Z+→Rm, where(4)HXk,k=h1Xk,k,…,hmXk,kT,for ∀ϵ>0, there exist δ1>0 and δ2>0 such that all trajectories of (1) and (2) with initial conditions (X(0),Y(0))∈B(X0,δ1)×B(Y0,δ2)⊂Rn×Rm satisfy(5)HXk,k-Yk<ϵ,k=1,2,….Then the systems in (1) and (2) are said to be in GST with respect to the transformation H(X(k),k). 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.
LetX,Y,Xm,F(X,k), and G(Y,X,k) be defined by (3); Xm=(x1(k),…,xm(k))T. Suppose that(6)Hx1,x2,…,xn,k=y1,y2,…,ymT.If two systems (1) and (2) are in GST via the transformation H(X,k), if and only if, the function G(Y,X,k) given in (2) has the following form:(7)GY,X,k=HFX,k,k+1-qXm,Y,k,and the function(8)qXm,Y,k=q1Xm,Y,k,q2Xm,Y,k,…,qmXm,Y,kTguarantees that the zero solution of the following error equation is stable on the open set B(X0,δ1)×B(Y0,δ2) defined by Definition 1:(9)ek+1=HXk+1,k+1-Yk+1=qXm,Y,k.Proof.
Denote(10)GY,X,k-HFX,k,k+1=-qXm,Y,k.Then(11)ek+1=HXk+1,k+1-Yk+1=qXm,Y,k.Therefore, two dynamic systems (1) and (2) are in GST via the transformation H, if and only if the function q(Xm,Y,k) 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 systemX(k+1)=F(X(k),k); (2) introduce a transformation H; (3) construct a system Y(k+1)=H(F(X,k),k+1)-q(Xm,Y,k) such that q(Xm,Y,k) guarantees the zero solution of the error equation (9) stable.Step 1.
Construct a novel 4-dimensional nonautonomous chaotic system as follows:(12)x1k+1=1.675x1kcos⁡x1ksin⁡x2k-sin⁡x1kcos⁡x3k+cos⁡x2ksin⁡x3k,x2k+1=5.125sin⁡x2k-2cos⁡x3ksin⁡x1k+kk+1sin⁡x3k,x3k+1=sin⁡x1k+x2k+sin⁡x3k,x4k+1=cos⁡x1k+x4k.The calculated Lyapunov exponents of system (12) are {0.9608,0.0433,-0.5614,-0.7245}; therefore, system (12) is a chaotic system.Now, select the following initial condition:(13)X0=0.32,0.2,0.1,0.12T.The chaotic orbits of the state variablesx1,x2,x3,x4 for the first 5000 iterations are shown in Figure 1. The evolution of state variables, k-x1(k), k-x2(k), k-x3(k), and k-x4(k), is shown in Figure 2. Observe that the dynamic behaviors of the chaotic map demonstrate chaotic attractor characteristics.Figure 1
Chaotic trajectories of variables: (a)x1(k)-x2(k)-x3(k), (b) x1(k)-x2(k)-x4(k), (c) x1(k)-x3(k)-x4(k), and (d) x2(k)-x3(k)-x4(k).
(a)
(b)
(c)
(d)Figure 2
The evolution of state variables: (a)k-x1(k), (b) k-x2(k), (c) k-x3(k), and (d) k-x4(k).
(a)
(b)
(c)
(d)Step 2.
Let(14)A=-12-512-5-42-4-243123-2,which is an invertible matrix. Define a transformation H:R4×Z+→R4 as follows:(15)HX,k=AX+ϕk,where(16)ϕk=arctan⁡2πkarctan⁡2πkarctan⁡2πkarctan⁡2πk.Step 3.
First, we need the following lemma.Lemma 3 (see [42]).
If there exists a positive definite functionv(e,k) such that Δv(2,1)(e,k) is negative semidefinite, then the system e(k+1)=f(e(k),k) is zero solution stable.
Then, we construct system (2). Let(17)Yk+1=GYk,Xk,k=HFX,k,k+1-qXm,Y,k=HXk+1,k+1-qXm,Y,k,where(18)qXm,Y,k=e2k1+e1k2,e1k1+e2k2,e3k5,e4k5T,(19)ek=e1k,e2k,e3k,e4kT=HXk,k-Yk=qXm,Y,k.Now we prove that q(Xm,Y,k) guarantees that error equation (19) will be zero solution stable.
In fact, define a positive definite function(20)ve,k=e1k2+e2k2+e3k2+e4k2,and then(21)Δv2,1e,k=vek+1,k+1-vek,k=e1k+12+e2k+12+e3k+12+e4k+12-e1k2+e2k2+e3k2+e4k2=e2k1+e1k22+e1k1+e2k22+e3k52+e4k52-e1k2+e2k2+e3k2+e4k2=11+e2k22-1e1k2+11+e1k22-1e2k2-24e3k225-24e4k225≤0.Therefore, Δv(2,1)(e,k) is a negative semidefinite function. According to Lemma 3, (19) is zero solution stable.
Hence we conclude, from Theorem2, that the constructed dynamic systems (12) and (17) are in GST with respect to transformation (15) for any initial value (X(0),Y(0))∈B(X0,δ1)×B(Y0,δ2)⊂R4×R4.Now we choose (22) as the initial condition:(22)Y0=AX0.The first 5000 iterations of variable components ofY are obtained as shown in Figure 3. The evolution of state variables, k-y1(k), k-y2(k), k-y3(k), and k-y4(k), is shown in Figure 4. The simulation result shows that the system has chaotic attractor characteristics. And Figure 5 shows that X and Y are rapidly in GST with respect to transformation H(X,k)=AX+ϕ(k).Figure 3
Chaotic trajectories of variables: (a)y1(k)-y2(k)-y3(k), (b) y1(k)-y2(k)-y4(k), (c) y1(k)-y3(k)-y4(k), and (d) y2(k)-y3(k)-y4(k).
(a)
(b)
(c)
(d)Figure 4
The evolution of state variables: (a)k-y1(k), (b) k-y2(k), (c) k-y3(k), and (d) k-y4(k).
(a)
(b)
(c)
(d)Figure 5
The state variablesX and Y are in GST: (a) y1(k)-h1(X(k),k), (b) y2(k)-h2(X(k),k), (c) y3(k)-h3(X(k),k), and (d) y4(k)-h4(X(k),k).
(a)
(b)
(c)
(d)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

Denote(23)Xi=xik∣k=1,2,…,N,Yi=yik∣k=1,2,…,N,where xi′s and yi′s are defined by (12) and (17). First introduce a transformation T1:R→{0,1,…,216-1}, which transforms the chaotic streams of GST systems (23) into keystreams. Denote(24)S=X1+Y2,and then T1 is defined by(25)T1S=mod⁡roundLS-min⁡Smax⁡S-min⁡S,216,where L=1015.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 specificnull hypothesis (H0): the sequence being tested is random. A significance level (α) can be chosen for the tests. If P value ≥α, then the null hypothesis is accepted; that is, the sequence appears to be random. Typically, α is chosen in the range [0.001,0.01]. 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 {0,1} bit stream as follows.Construct a transformT2:{0,1,…,216-1}→{0,1}, which is defined by(26)T2=T22∘T21s.t., for all y∈{0,1,…,216-1}N,(27)T21y=dec2biny.Let z=dec2bin(Y); then(28)T22z=z∶,where dec2bin and z(∶) are both Matlab commands. And the transformation T:R4→{0,1} is defined via(29)T=T2∘T1.Now the SP800-22 test is used to check 100 keystreams randomly generated, respectively, by CPRNG with perturbed randomly initial conditionX(0), Y(0), and the parameters of matrix (14) in the range ϵ∈[10-16,10-2]. The results are listed in the 2nd column of Tables 1 and 2.Table 1
The calculated meanp-values of SP800-22 statistical tests for the 100 binary sequences with length 106 produced by the CPRNG proposed in this paper, the RC4 PRNG, the ZUC algorithm and the CPRNG2, respectively. Select a significance level α=0.01.
Statistical Test
Meanp-value
CPRNG
RC4
ZUC
CPRNG2
(1) Frequency
0.5254
0.49598
0.46669
0.51593
(2) Block Frequency
0.4764
0.47781
0.48780
0.47206
(3) Runs
0.5667
0.46958
0.45937
0.50736
(4) Long Runs of Ones
0.5144
0.53504
0.45351
0.55381
(5) Binary Matrix Rank
0.5020
0.50302
0.47611
0.49911
(6) Spectral DFT
0.5219
0.47094
0.50207
0.49296
(7) Non-overlapping Template
0.5037
0.49385
0.50045
0.50023
(8) The Overlapping Template
0.4812
0.50478
0.46822
0.49787
(9) Maurer s Universal Test
0.5084
0.4878
0.45006
0.50524
(10) Linear Complexity
0.5150
0.51639
0.46828
0.52894
(11) Serial (m = 5, ∇Ψm2)
0.4721
0.47546
0.4837
0.50094
Serial (m = 5, ∇2Ψm)
0.4726
0.48377
0.50556
0.55179
(12) Approximate Entropy
0.5158
0.48344
0.45022
0.53289
(13) Cumulative Sums +1
0.5133
0.45873
0.46031
0.47830
Cumulative Sums   −1
0.5040
0.47298
0.47543
0.50262
(14) Random Excursions
0.3481
0.31615
0.29159
0.35605
(15) Random Excursions Variant
0.3367
0.30332
0.29350
0.34412Table 2
The acceptance rates of SP800-22 statistical tests for the 100 binary sequences with length106 produced by the CPRNG proposed in this paper, the RC4 PRNG, the ZUC algorithm, and the CPRNG2, respectively. Here select a significance level α=0.01.
Statistical test
Acceptance rate (%)
CPRNG
RC4
ZUC
CPRNG2
(1) Frequency
100
98
100
100
(2) Block frequency
100
98
100
99
(3) Runs
100
98
100
100
(4) Long runs of ones
99
97
99
99
(5) Binary matrix rank
99
97
99
100
(6) Spectral DFT
100
98
99
97
(7) Nonoverlapping template
97–100
94–98
96–100
95–100
(8) The overlapping template
100
97
100
100
(9) Maurer s universal test
99
97
100
100
(10) Linear complexity
99
98
98
99
(11) Serial (m = 5, ∇Ψm2)
98
98
98
98
Serial (m = 5, ∇2Ψm)
97
96
99
100
(12) Approximate entropy
99
98
99
99
(13) Cumulative sums +1
99
98
98
100
Cumulative sums −1
100
98
98
100
(14) Random excursions
65–68
57-58
57-58
66–69
(15) Random excursions variant
66–68
56–58
56–58
68-69The 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 Algorithm1.Algorithm 1
N
=20000;
K=randi([0
254],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;
e
nd
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);
e
nd
C=(dec2bin(C))′;
C=C(:);
C=bin2dec(C);Here, “randi([0254],1,255)” generates a vector of uniformly distributed random integers {0,1,…,254} of dimension 255; “mod” means taking modulus after division; “zeros(1,N)” is a zero row vector of dimension N. 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 Tables1 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 conditionX(0), Y(0), and the matrix A=(αi,j). It can be proved that if the perturbation matrix Δ=(δi,j) satisfies |δi,j|<0.07419, the matrix A+Δ is still invertible. Therefore the CPRNGs have 4 + 4 + 16 key parameters denoted by(30)Ks=k1,k2,…,k24.Let the key set be perturbed by(31)KsΔ=Ks+δ1,δ2,…,δ24,where(32)10-16≤δi≤10-2,i=1,…,24.First, we compare the difference between the keystreamS=T1(S) including 106 codes’ length generated by key set (30) and keystreams Sp′s generated by the perturbed key set (31). SV represents statistic values, DC represents different codes, and CC 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.Table 3
The statistic data for the percentages of the codes of the keystream variations betweenS and Sp′s, as well as S and Sm′s.
Item
SV
S
p
′
s
S
m
′
s
DC
Min
49.854%
49.886%
Mean
50.001%
49.995%
Max
50.082%
50.136%
CC
Min
5.4235
×
1
0
-
5
0
Mean
0.00071329
2.8295
×
1
0
-
7
Max
0.0029163
2.8295
×
1
0
-
5Then, let us compare the same keystreamS with the 100 keystreams Sm′s generated by the function of Matlab command randi([01],1,106). 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 2.8295×10-7. The results may suggest that the keystream S has no significant correlations with the perturbed keystreams Sp′s and the streams Sm′s. Furthermore, the key space of the CPRNG is larger than 1014×24>21116, which will help to increase security.


## 4.1. Pseudorandom Number Generator

Denote(23)Xi=xik∣k=1,2,…,N,Yi=yik∣k=1,2,…,N,where xi′s and yi′s are defined by (12) and (17). First introduce a transformation T1:R→{0,1,…,216-1}, which transforms the chaotic streams of GST systems (23) into keystreams. Denote(24)S=X1+Y2,and then T1 is defined by(25)T1S=mod⁡roundLS-min⁡Smax⁡S-min⁡S,216,where L=1015.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 specificnull hypothesis (H0): the sequence being tested is random. A significance level (α) can be chosen for the tests. If P value ≥α, then the null hypothesis is accepted; that is, the sequence appears to be random. Typically, α is chosen in the range [0.001,0.01]. 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 {0,1} bit stream as follows.Construct a transformT2:{0,1,…,216-1}→{0,1}, which is defined by(26)T2=T22∘T21s.t., for all y∈{0,1,…,216-1}N,(27)T21y=dec2biny.Let z=dec2bin(Y); then(28)T22z=z∶,where dec2bin and z(∶) are both Matlab commands. And the transformation T:R4→{0,1} is defined via(29)T=T2∘T1.Now the SP800-22 test is used to check 100 keystreams randomly generated, respectively, by CPRNG with perturbed randomly initial conditionX(0), Y(0), and the parameters of matrix (14) in the range ϵ∈[10-16,10-2]. The results are listed in the 2nd column of Tables 1 and 2.Table 1
The calculated meanp-values of SP800-22 statistical tests for the 100 binary sequences with length 106 produced by the CPRNG proposed in this paper, the RC4 PRNG, the ZUC algorithm and the CPRNG2, respectively. Select a significance level α=0.01.
Statistical Test
Meanp-value
CPRNG
RC4
ZUC
CPRNG2
(1) Frequency
0.5254
0.49598
0.46669
0.51593
(2) Block Frequency
0.4764
0.47781
0.48780
0.47206
(3) Runs
0.5667
0.46958
0.45937
0.50736
(4) Long Runs of Ones
0.5144
0.53504
0.45351
0.55381
(5) Binary Matrix Rank
0.5020
0.50302
0.47611
0.49911
(6) Spectral DFT
0.5219
0.47094
0.50207
0.49296
(7) Non-overlapping Template
0.5037
0.49385
0.50045
0.50023
(8) The Overlapping Template
0.4812
0.50478
0.46822
0.49787
(9) Maurer s Universal Test
0.5084
0.4878
0.45006
0.50524
(10) Linear Complexity
0.5150
0.51639
0.46828
0.52894
(11) Serial (m = 5, ∇Ψm2)
0.4721
0.47546
0.4837
0.50094
Serial (m = 5, ∇2Ψm)
0.4726
0.48377
0.50556
0.55179
(12) Approximate Entropy
0.5158
0.48344
0.45022
0.53289
(13) Cumulative Sums +1
0.5133
0.45873
0.46031
0.47830
Cumulative Sums   −1
0.5040
0.47298
0.47543
0.50262
(14) Random Excursions
0.3481
0.31615
0.29159
0.35605
(15) Random Excursions Variant
0.3367
0.30332
0.29350
0.34412Table 2
The acceptance rates of SP800-22 statistical tests for the 100 binary sequences with length106 produced by the CPRNG proposed in this paper, the RC4 PRNG, the ZUC algorithm, and the CPRNG2, respectively. Here select a significance level α=0.01.
Statistical test
Acceptance rate (%)
CPRNG
RC4
ZUC
CPRNG2
(1) Frequency
100
98
100
100
(2) Block frequency
100
98
100
99
(3) Runs
100
98
100
100
(4) Long runs of ones
99
97
99
99
(5) Binary matrix rank
99
97
99
100
(6) Spectral DFT
100
98
99
97
(7) Nonoverlapping template
97–100
94–98
96–100
95–100
(8) The overlapping template
100
97
100
100
(9) Maurer s universal test
99
97
100
100
(10) Linear complexity
99
98
98
99
(11) Serial (m = 5, ∇Ψm2)
98
98
98
98
Serial (m = 5, ∇2Ψm)
97
96
99
100
(12) Approximate entropy
99
98
99
99
(13) Cumulative sums +1
99
98
98
100
Cumulative sums −1
100
98
98
100
(14) Random excursions
65–68
57-58
57-58
66–69
(15) Random excursions variant
66–68
56–58
56–58
68-69The 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 Algorithm1.Algorithm 1
N
=20000;
K=randi([0
254],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;
e
nd
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);
e
nd
C=(dec2bin(C))′;
C=C(:);
C=bin2dec(C);Here, “randi([0254],1,255)” generates a vector of uniformly distributed random integers {0,1,…,254} of dimension 255; “mod” means taking modulus after division; “zeros(1,N)” is a zero row vector of dimension N. 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 Tables1 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 conditionX(0), Y(0), and the matrix A=(αi,j). It can be proved that if the perturbation matrix Δ=(δi,j) satisfies |δi,j|<0.07419, the matrix A+Δ is still invertible. Therefore the CPRNGs have 4 + 4 + 16 key parameters denoted by(30)Ks=k1,k2,…,k24.Let the key set be perturbed by(31)KsΔ=Ks+δ1,δ2,…,δ24,where(32)10-16≤δi≤10-2,i=1,…,24.First, we compare the difference between the keystreamS=T1(S) including 106 codes’ length generated by key set (30) and keystreams Sp′s generated by the perturbed key set (31). SV represents statistic values, DC represents different codes, and CC 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.Table 3
The statistic data for the percentages of the codes of the keystream variations betweenS and Sp′s, as well as S and Sm′s.
Item
SV
S
p
′
s
S
m
′
s
DC
Min
49.854%
49.886%
Mean
50.001%
49.995%
Max
50.082%
50.136%
CC
Min
5.4235
×
1
0
-
5
0
Mean
0.00071329
2.8295
×
1
0
-
7
Max
0.0029163
2.8295
×
1
0
-
5Then, let us compare the same keystreamS with the 100 keystreams Sm′s generated by the function of Matlab command randi([01],1,106). 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 2.8295×10-7. The results may suggest that the keystream S has no significant correlations with the perturbed keystreams Sp′s and the streams Sm′s. Furthermore, the key space of the CPRNG is larger than 1014×24>21116, 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]).
LetP={p1,p2,…,pn} be a binary keystream with d-bit segments generated by a PRNG, M={m1,m2,…,mn} a binary plaintext stream, and C={c1,c2,…,cn} a ciphertext stream. Then the stream encryption scheme with avalanche effect is described as follows:(1)
The ciphertext:(33)C=EM,Psatisfying(34)ci=piifmi=0,~piifmi=1,where ~pi is defined to be the bit string obtained by replacing all 0s in pi with 1s and all 1s in pi with 0s.(2)
The corresponding decrypted plaintext:(35)M=E-1C,Psatisfying(36)mi=0ifci=pi,1ifci≠pi.Definition 5 (see [44]).
A PRNG,S, which generates d-bit keystreams, is called an ideal PRNG, if S has the following properties:(1)
The period of any keystream generated by the PRNG is larger than2d. Its seed space and key space are both larger than 2512.(2)
In one period of a pseudorandom keystream generated by the PRNG, the distribution of differentd-bit segments in the keystream is homogenous. That is, if the period p=n×2d, then the number of each different d-bit segment is equal to n. If the period p is not an integer multiple of 2d, then the difference between the numbers of different d-bit segments is at most one.(3)
The two keystreamsP1, P2 generated by any two different seeds have (2d-1)/2d×100% different d-bit segments.Now, we use the CPRNG to investigate SAES in RGB image Beach with250×140 pixels as shown in Figure 6(a).Figure 6
(a) Original image beach. (b) Decrypted image without error. Ten decrypted images via keystreams generated with slightly perturbed initial conditions and system parameters in the range[10-16,10-2]: (c) I3,1, (d) I4,1, (e) I4,2, (f) I4,3, (g) I4,4, (h) I24,1, (i) I24,2, (j) I25,1, (k) I25,2, and (l) I27,1.
(a)
(b)
(c)
(d)
(e)
(f)
(g)
(h)
(i)
(j)
(k)
(l)Simulations are implemented and the procedures are described as follows.(1)
Transform the image Beach to a binary plaintext stream(37)M=m1,m2,…,mn,where n=250×140×3×8.(2)
Use the CPRNG with initial conditions (13) and (22) to generate a keystream (38)P=p1,p2,…,pn+1000.(3)
Drop the first 1000 iterative values, use the formula (33) and (34) to encrypt the plaintext stream M, and then obtain a ciphertext(39)C=c1,c2,…,cn.(4)
Use formula (35) and (36) to decrypt the ciphertext; then obtain a decrypted plaintext image(40)M¯=E-1C,Pwithout errors (see Figure 6(b)).(5)
Randomly disturb the initial conditions (13), (22) and matrix (14) for 1000 times in the range |ϵ|∈[10-16,10-2]; then obtain keystreams(41)Pi,i=1,2,…,1000.(6)
Use{P1,…,P1000} to decrypt the ciphertext; then obtain the decrypted plaintext(42)Mi¯=E-1C,Pi,i=1,…,1000.(7)
ChangeMi¯ to RGB images.After changingMi¯ to RGB images, all images become almost pure white images. There are total of 840000 {0,1} 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 Ii,j denote the jth image having number “i” of 0 codes.The first five decrypted images with minimum zero codes are shown in Figures6(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 Figures6(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[99.997%,99.999%], which are very closed to the ideal value (216-1)/216×100%=99.998%.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 keystreamS0 and the keystream Si,j 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.Table 4
Differences between the original keystreamS0 and the keystreams Si,j, measured by norm S0-Si,j.
S
0
-
S
i
,
j
(
×
1
0
-
5
)
S
3,1
S
4,1
S
4,2
S
4,3
S
4,4
S
24,1
S
24,2
S
25,1
S
25,2
S
27,1
S
0
0.27697
0.27976
0.27644
0.26644
0.29565
0.27747
0.26163
0.27994
0.31517
0.29068


## 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 than21116, 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: letX be a set in the seed space (initial conditions) of the CPRNG, and assume that Alice and Bob share a one-to-one map f:X→X. Before each communication, Alice randomly selects an element x∈X and sends it to Bob. Then, they both use f(x) 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.



---

*Source: 121359-2015-07-30.xml*