# A Chaos Robustness Criterion for 2D Piecewise Smooth Map with Applications in Pseudorandom Number Generator and Image Encryption with Avalanche Effect

Authors: Dandan Han; Lequan Min; Longjie Hao
Journal: Mathematical Problems in Engineering
 (2016)

---

## Abstract

This study proposes a chaos robustness criterion for a kind of 2D piecewise smooth maps (2DPSMs). Using the chaos robustness criterion, one can easily determine the robust chaos parameter regions for some 2DPSMs. Combining 2DPSM with a generalized synchronization (GS) theorem, this study introduces a novel 6-dimensional discrete GS chaotic system. Based on the system, a 216-word chaotic pseudorandom number generator (CPRNG) is designed. The key space of the CPRNG is larger than 2996. Using the FIPS 140-2 test suit/generalized FIPS 140-2 test suit tests the randomness of the 1000 key streams consists of 20,000 bits generated by the CPRNG, the RC4 algorithm, and the ZUC algorithm, respectively. The numerical results show that the three algorithms do not have significant differences. The CPRNG and a stream encryption scheme with avalanche effect (SESAE) are used to encrypt an image. The results demonstrate that the CPRNG is able to generate the avalanche effects which are similar to those generated via ideal CPRNGs. The SESAE with one-time-pad scheme makes any attackers have to use brute attacks to break our cryptographic system.


---

## Body

## 1. Introduction

The dynamic behaviors of chaotic systems have some specific features, such as their extreme sensitivity to the variables of initial conditions and system parameters, pseudorandom property, and ergodic and topological transitivity. Particularly, the property of sensitive dependence on initial conditions and parameters and robustness are suitably used in information security field [1–4].Piecewise smooth dynamical systems (PSDSs) can exhibit complex dynamic phenomena, including chaos. PSDSs are particularly relevant in many areas of engineering and applied science. As early as in the last seventies, Feigin published his pioneering work on the analysis of C-bifurcations inn-dimensional PWS systems (e.g., see [5–7]), which proposed the classification of the piecewise linear normal form for two- and three-dimensional piecewise smooth continuous maps. It makes it possible to follow closely the process of emergence of complex structures due to parameter variation.In 1999, Banerjee and Grebogi [8] redeveloped the classification proposed by Feigin, putting his earlier results in the context of modern bifurcation analysis. Banerjee and Grebogi investigated the various types of border collision bifurcations that can occur in piecewise smooth maps by deriving a piecewise affine approximation of the map in the neighborhood of the border. In di Bernardo et al.’s book [9], the authors offer a very good survey of the rapidly developing area of the dynamics of nonsmooth systems and many beautiful examples of chaotic dynamics induced by nonsmooth phenomena.Practical applications in chaos-based cryptography require the corresponding chaotic dynamical systems to be robust with respect to system parameters. In [10], Banerjee et al. have shown that such robust chaos can occur in piecewise smooth maps and obtained the conditions of existence of robust chaos. In [8], Banerjee and Grebogi have researched two-dimensional piecewise smooth maps and proposed the corresponding robust chaos theorems.Since Matthews first proposed a chaotic encryption algorithm [11], there are increasing researches of chaotic encryption technology [12–21]. In [14], a fast chaos-based image encryption system with stream cipher structure is proposed. The major core of the encryption system is a pseudorandom key stream generator based on a cascade of chaotic maps, serving the purpose of sequence generation and random mixing. In [18], a novel image encryption scheme was presented, which uses a chaotic random bits generator. The chaotic random bits generator is based on the coexistence of two different synchronization phenomena. In [19], a novel stream encryption scheme with avalanche effect (SESAE) was introduced. Using the scheme and an ideal pseudorandom number generator to generate a 2
d-word key stream, one can encrypt a plaintext such that by using any key stream generated from a different seed to decrypt the ciphertext, the decrypted plaintext will become an avalanche-like text which has (
2
d
-
1
)
/
2
d consecutive one’s with a high probability.Based on one theorem proposed by Banerjee and Grebogi, this paper introduces a chaos robustness criterion for a kind of 2-dimensional piecewise smooth maps (2DPSMs) and constructs a 2DPSM with robust chaos feature. Combing the chaos generalized synchronization (GS) theorem with the 2DPSM, this paper proposes a 6-dimensional chaotic generalized synchronization system (6DCGSS) and designs a 216-word chaotic pseudorandom number generator (CPRNG). At last, using the CPRNG and the SESAE encrypts an RGB image Panda and shows the performance of the CPRNG.The rest of this paper is organized as follows. Section2 proposes the chaos robustness criterion for the 2DPSMs and constructs a novel 2DPSM with robust chaos feature. Section 3 introduces the definition and theorem for GS and presents a novel 6DCGSS. Section 4 designs a 216-word CPRNG and makes the statistic tests for the CPRNG. Section 5 makes an image encryption experiment with avalanche effect. Section 6 performs security analysis on the proposed image encryption scheme. Finally, some concluding remarks are presented in Section 7.


## 2. The 2-Dimensional Piecewise Robust Chaotic Map

### 2.1. The Robust Chaos of Normal Form

In [22], Nusse and Yorke have proved that, using some coordinate transformations, any 2-dimensional piecewise smooth map (2DPSM) can be reduced to the normal form in some small neighborhood of the fixed point of the 2DPSM. The normal form is defined as follows: (1)
x
k
+
1
y
k
+
1
=
τ
L
1
-
δ
L
0
x
k
y
k
+
μ
1
0
,
i
f
x
≤
0
τ
R
1
-
δ
R
0
x
k
y
k
+
μ
1
0
,
i
f
x
>
0
,where μ is a parameter and τ
L
,
R and δ
L
,
R are the traces and determinants of the corresponding matrices of the linearized map in the two subregions R
L and R
R given by (2)
R
L
=
x
,
y
∈
R
2
,
x
≤
0
,
y
∈
R
,
R
R
=
x
,
y
∈
R
2
,
x
>
0
,
y
∈
R
.Banerjee et al. have proposed the robust chaos theorem on the normal form as follows [8, 10].Theorem 1 (see [8, 10]).
If(3)
0
<
δ
L
<
1
,
0
<
δ
R
<
1
,
(4)
τ
L
>
1
+
δ
L
,
τ
R
<
-
1
+
δ
R
,
(5)
δ
L
τ
R
λ
1
L
-
δ
R
λ
1
L
λ
2
L
+
δ
R
λ
2
L
-
δ
L
τ
R
+
δ
L
τ
L
-
δ
L
2
-
λ
2
L
δ
L
>
0
,where λ
1
L and λ
2
L are the eigenvalues of coefficient matrix, then the 2DPSM has a bifurcation from no attractor to a chaotic attractor. The chaotic attractor for μ
>
0 is robust.Formulas (3)–(5) give the criteria of the chaotic attractor appearing in 2DPSM (1). However, it will be difficult to determine the robust chaos regions for the system parameters.Based on Theorem1, this study proposes the following theorem which provides parameters inequalities to determine easily the robust chaos regions for the system parameters.Theorem 2.
Letμ
>
0
,
γ
>
0. Denote (6)
τ
R
=
-
1
+
δ
R
-
γ
.If the following inequalities hold, (7)
0
<
δ
L
<
1
,
0
<
δ
R
<
1
,
(8)
τ
L
>
1
+
δ
L
,
(9)
τ
L
<
γ
+
1
-
δ
L
γ
+
δ
R
,then conditions (3)–(5) hold. That is, 2DPSM (1) has a chaotic attractor.Proof.
First, inequalities (6)–(8) are equivalent to conditions (3)-(4). Second, we show that inequality (9) implies that condition (5) holds.
The eigenvalues of coefficient matrix are shown as follows:(10)
λ
1
L
=
τ
L
+
τ
L
2
-
4
δ
L
2
,
λ
2
L
=
τ
L
-
τ
L
2
-
4
δ
L
2
.Let A
=
τ
L
2
-
4
δ
L; then (11)
τ
L
+
A
τ
L
-
A
=
τ
L
2
-
A
2
=
4
δ
L
.Substituting (10) into (5) gives (12)
B
=
δ
L
τ
R
λ
1
L
-
δ
R
λ
1
L
λ
2
L
+
δ
R
λ
2
L
-
δ
L
τ
R
+
δ
L
τ
L
-
δ
L
2
-
λ
2
L
δ
L
=
δ
L
τ
R
·
τ
L
+
A
2
-
δ
R
·
τ
L
+
A
2
·
τ
L
-
A
2
+
δ
R
·
τ
L
-
A
2
-
δ
L
τ
R
+
τ
L
δ
L
-
δ
L
2
-
δ
L
·
τ
L
-
A
2
=
δ
L
τ
R
·
τ
L
+
A
2
-
δ
R
δ
L
+
δ
R
·
τ
L
-
A
2
-
δ
L
τ
R
+
τ
L
δ
L
-
δ
L
2
-
δ
L
·
τ
L
-
A
2
=
τ
L
δ
L
τ
R
2
-
δ
R
δ
L
+
τ
L
δ
R
2
-
δ
L
τ
R
+
τ
L
δ
L
-
δ
L
2
-
τ
L
δ
L
2
+
A
2
δ
L
τ
R
-
δ
R
+
δ
L
=
1
2
τ
L
δ
L
τ
R
-
2
δ
L
δ
R
+
τ
L
δ
R
-
2
δ
L
τ
R
+
τ
L
δ
L
-
2
δ
L
2
+
A
δ
L
τ
R
-
δ
R
+
δ
L
.Denote (13)
C
=
A
δ
L
τ
R
-
δ
R
+
δ
L
=
τ
L
2
-
4
δ
L
δ
L
τ
R
-
δ
R
+
δ
L
=
τ
L
2
-
4
δ
L
δ
L
τ
R
+
1
-
δ
R
=
-
τ
L
2
-
4
δ
L
δ
L
δ
R
+
γ
+
δ
R
>
-
τ
L
δ
L
δ
R
+
γ
+
δ
R
=
τ
L
δ
L
τ
R
-
δ
R
+
δ
L
.Substituting (13) into (12) gives (14)
B
>
1
2
τ
L
δ
L
τ
R
-
2
δ
L
δ
R
+
τ
L
δ
R
-
2
δ
L
τ
R
+
τ
L
δ
L
-
2
δ
L
2
+
τ
L
δ
L
τ
R
-
δ
R
+
δ
L
=
1
2
2
τ
L
δ
L
τ
R
-
2
δ
L
δ
R
-
2
δ
L
τ
R
+
2
τ
L
δ
L
-
2
δ
L
2
=
δ
L
τ
L
τ
R
-
δ
R
-
τ
R
+
τ
L
-
δ
L
=
δ
L
τ
L
τ
R
+
1
-
τ
R
+
δ
R
-
δ
L
=
δ
L
-
τ
L
δ
R
+
γ
+
γ
+
1
-
δ
L
=
δ
L
γ
+
1
-
γ
τ
L
-
τ
L
δ
R
-
δ
L
>
0because inequality (9) holds. In summary, this completes the proof.Remark 3.
Compared with inequalities (3)–(5), inequalities (6)–(9) more easily determine the robust chaos regions for the system parameters.For any given nonnegative real numbersγ, one can determine the chaos regions on parameters {
δ
L
,
δ
R
,
τ
L
} from inequalities (6)–(9). For example, choosing γ
=
2, the robust chaos regions of 2DPSM are shown in Figure 1. The position of the red dot in Figure 1 is located in the robust chaos region surrounding the two planes.Figure 1
The robust chaos regions of parameters{
δ
L
,
δ
R
,
τ
L
} for normal form (1) with γ
=
2.


### 2.2. A Novel 2DPSM

Letγ
=
1, μ
=
0.9, δ
L
=
0.09, τ
L
=
1.5, δ
R
=
0.2, and τ
R
=
-
2.2; then system (1) becomes (15)
x
k
+
1
y
k
+
1
=
1.5
1
-
0.09
0
x
k
y
k
+
0.9
1
0
,
i
f
x
≤
0
-
2.2
1
-
0.2
0
x
k
y
k
+
0.9
1
0
,
i
f
x
>
0
.The parameters satisfy the conditions given in Theorem 2: (16)
μ
>
0
,
γ
>
0
,
0
<
δ
L
<
1
,
0
<
δ
R
<
1
,
τ
L
>
1
+
δ
L
,
τ
L
<
γ
+
1
-
δ
L
γ
+
δ
R
.Therefore system (15) has a chaotic attractor. Select the following initial conditions: (17)
x
0
=
0.3
,
y
0
=
0.01
.Then, the evolution of state variables k
-
x
(
k
) and k
-
y
(
k
) is shown in Figures 2(a)-2(b). Extensive numerical simulations show that the dynamic behaviors of the chaotic map demonstrate chaotic attractor features as the theory expects.Figure 2
The evolution of state variables: (a)k
-
x
(
k
) and (b) k
-
y
(
k
). Here 1
≤
k
≤
5000.
(a)
(b)


## 2.1. The Robust Chaos of Normal Form

In [22], Nusse and Yorke have proved that, using some coordinate transformations, any 2-dimensional piecewise smooth map (2DPSM) can be reduced to the normal form in some small neighborhood of the fixed point of the 2DPSM. The normal form is defined as follows: (1)
x
k
+
1
y
k
+
1
=
τ
L
1
-
δ
L
0
x
k
y
k
+
μ
1
0
,
i
f
x
≤
0
τ
R
1
-
δ
R
0
x
k
y
k
+
μ
1
0
,
i
f
x
>
0
,where μ is a parameter and τ
L
,
R and δ
L
,
R are the traces and determinants of the corresponding matrices of the linearized map in the two subregions R
L and R
R given by (2)
R
L
=
x
,
y
∈
R
2
,
x
≤
0
,
y
∈
R
,
R
R
=
x
,
y
∈
R
2
,
x
>
0
,
y
∈
R
.Banerjee et al. have proposed the robust chaos theorem on the normal form as follows [8, 10].Theorem 1 (see [8, 10]).
If(3)
0
<
δ
L
<
1
,
0
<
δ
R
<
1
,
(4)
τ
L
>
1
+
δ
L
,
τ
R
<
-
1
+
δ
R
,
(5)
δ
L
τ
R
λ
1
L
-
δ
R
λ
1
L
λ
2
L
+
δ
R
λ
2
L
-
δ
L
τ
R
+
δ
L
τ
L
-
δ
L
2
-
λ
2
L
δ
L
>
0
,where λ
1
L and λ
2
L are the eigenvalues of coefficient matrix, then the 2DPSM has a bifurcation from no attractor to a chaotic attractor. The chaotic attractor for μ
>
0 is robust.Formulas (3)–(5) give the criteria of the chaotic attractor appearing in 2DPSM (1). However, it will be difficult to determine the robust chaos regions for the system parameters.Based on Theorem1, this study proposes the following theorem which provides parameters inequalities to determine easily the robust chaos regions for the system parameters.Theorem 2.
Letμ
>
0
,
γ
>
0. Denote (6)
τ
R
=
-
1
+
δ
R
-
γ
.If the following inequalities hold, (7)
0
<
δ
L
<
1
,
0
<
δ
R
<
1
,
(8)
τ
L
>
1
+
δ
L
,
(9)
τ
L
<
γ
+
1
-
δ
L
γ
+
δ
R
,then conditions (3)–(5) hold. That is, 2DPSM (1) has a chaotic attractor.Proof.
First, inequalities (6)–(8) are equivalent to conditions (3)-(4). Second, we show that inequality (9) implies that condition (5) holds.
The eigenvalues of coefficient matrix are shown as follows:(10)
λ
1
L
=
τ
L
+
τ
L
2
-
4
δ
L
2
,
λ
2
L
=
τ
L
-
τ
L
2
-
4
δ
L
2
.Let A
=
τ
L
2
-
4
δ
L; then (11)
τ
L
+
A
τ
L
-
A
=
τ
L
2
-
A
2
=
4
δ
L
.Substituting (10) into (5) gives (12)
B
=
δ
L
τ
R
λ
1
L
-
δ
R
λ
1
L
λ
2
L
+
δ
R
λ
2
L
-
δ
L
τ
R
+
δ
L
τ
L
-
δ
L
2
-
λ
2
L
δ
L
=
δ
L
τ
R
·
τ
L
+
A
2
-
δ
R
·
τ
L
+
A
2
·
τ
L
-
A
2
+
δ
R
·
τ
L
-
A
2
-
δ
L
τ
R
+
τ
L
δ
L
-
δ
L
2
-
δ
L
·
τ
L
-
A
2
=
δ
L
τ
R
·
τ
L
+
A
2
-
δ
R
δ
L
+
δ
R
·
τ
L
-
A
2
-
δ
L
τ
R
+
τ
L
δ
L
-
δ
L
2
-
δ
L
·
τ
L
-
A
2
=
τ
L
δ
L
τ
R
2
-
δ
R
δ
L
+
τ
L
δ
R
2
-
δ
L
τ
R
+
τ
L
δ
L
-
δ
L
2
-
τ
L
δ
L
2
+
A
2
δ
L
τ
R
-
δ
R
+
δ
L
=
1
2
τ
L
δ
L
τ
R
-
2
δ
L
δ
R
+
τ
L
δ
R
-
2
δ
L
τ
R
+
τ
L
δ
L
-
2
δ
L
2
+
A
δ
L
τ
R
-
δ
R
+
δ
L
.Denote (13)
C
=
A
δ
L
τ
R
-
δ
R
+
δ
L
=
τ
L
2
-
4
δ
L
δ
L
τ
R
-
δ
R
+
δ
L
=
τ
L
2
-
4
δ
L
δ
L
τ
R
+
1
-
δ
R
=
-
τ
L
2
-
4
δ
L
δ
L
δ
R
+
γ
+
δ
R
>
-
τ
L
δ
L
δ
R
+
γ
+
δ
R
=
τ
L
δ
L
τ
R
-
δ
R
+
δ
L
.Substituting (13) into (12) gives (14)
B
>
1
2
τ
L
δ
L
τ
R
-
2
δ
L
δ
R
+
τ
L
δ
R
-
2
δ
L
τ
R
+
τ
L
δ
L
-
2
δ
L
2
+
τ
L
δ
L
τ
R
-
δ
R
+
δ
L
=
1
2
2
τ
L
δ
L
τ
R
-
2
δ
L
δ
R
-
2
δ
L
τ
R
+
2
τ
L
δ
L
-
2
δ
L
2
=
δ
L
τ
L
τ
R
-
δ
R
-
τ
R
+
τ
L
-
δ
L
=
δ
L
τ
L
τ
R
+
1
-
τ
R
+
δ
R
-
δ
L
=
δ
L
-
τ
L
δ
R
+
γ
+
γ
+
1
-
δ
L
=
δ
L
γ
+
1
-
γ
τ
L
-
τ
L
δ
R
-
δ
L
>
0because inequality (9) holds. In summary, this completes the proof.Remark 3.
Compared with inequalities (3)–(5), inequalities (6)–(9) more easily determine the robust chaos regions for the system parameters.For any given nonnegative real numbersγ, one can determine the chaos regions on parameters {
δ
L
,
δ
R
,
τ
L
} from inequalities (6)–(9). For example, choosing γ
=
2, the robust chaos regions of 2DPSM are shown in Figure 1. The position of the red dot in Figure 1 is located in the robust chaos region surrounding the two planes.Figure 1
The robust chaos regions of parameters{
δ
L
,
δ
R
,
τ
L
} for normal form (1) with γ
=
2.


## 2.2. A Novel 2DPSM

Letγ
=
1, μ
=
0.9, δ
L
=
0.09, τ
L
=
1.5, δ
R
=
0.2, and τ
R
=
-
2.2; then system (1) becomes (15)
x
k
+
1
y
k
+
1
=
1.5
1
-
0.09
0
x
k
y
k
+
0.9
1
0
,
i
f
x
≤
0
-
2.2
1
-
0.2
0
x
k
y
k
+
0.9
1
0
,
i
f
x
>
0
.The parameters satisfy the conditions given in Theorem 2: (16)
μ
>
0
,
γ
>
0
,
0
<
δ
L
<
1
,
0
<
δ
R
<
1
,
τ
L
>
1
+
δ
L
,
τ
L
<
γ
+
1
-
δ
L
γ
+
δ
R
.Therefore system (15) has a chaotic attractor. Select the following initial conditions: (17)
x
0
=
0.3
,
y
0
=
0.01
.Then, the evolution of state variables k
-
x
(
k
) and k
-
y
(
k
) is shown in Figures 2(a)-2(b). Extensive numerical simulations show that the dynamic behaviors of the chaotic map demonstrate chaotic attractor features as the theory expects.Figure 2
The evolution of state variables: (a)k
-
x
(
k
) and (b) k
-
y
(
k
). Here 1
≤
k
≤
5000.
(a)
(b)


## 3. A Novel 6DCGSS

### 3.1. Definition and Theorem on GS

First let us remember the definition and theorem for GS.Definition 4 (see [23]).
Consider two systems(18)
X
k
+
1
=
F
X
k
,
(19)
Y
k
+
1
=
G
Y
k
,
X
m
k
,where (20)
X
k
=
x
1
k
,
…
,
x
n
k
T
,
X
m
k
=
x
1
k
,
…
,
x
m
k
T
,
Y
k
=
y
1
k
,
…
,
y
m
k
T
,
m
≤
n
,
F
X
k
=
f
1
X
k
,
…
,
f
n
X
k
T
,
G
Y
k
,
X
m
k
=
g
1
Y
k
,
X
m
k
,
…
,
g
m
Y
k
,
X
m
k
T
.
If there exists a transformationH
:
R
m
→
R
m, where (21)
H
X
m
k
=
h
1
X
m
k
,
…
,
h
m
X
m
k
T
,and an open subset B
=
B
X
×
B
Y
⊂
R
n
×
R
m such that all trajectories of (18) and (19) with initial conditions (
X
(
0
)
,
Y
(
0
)
)
∈
B satisfy (22)
lim
k
→
+
∞
⁡
H
X
m
k
-
Y
k
=
0
,then the systems in (18) and (19) are said to be in GS with respect to the transformation H
(
X
m
(
k
)
). System (18) is called the driving system; system (19) is said to be the driven system.In order to construct the new discrete chaotic system (DCS) with the generalized chaos synchronization (GCS) property, we present the following theorem.Theorem 5 (see [23]).
LetX, X
m, Y, F
(
X
), and G
(
Y
,
X
m
) be defined by (20).
Suppose that(23)
H
X
m
=
y
1
,
y
2
,
…
,
y
m
Tis an invertible transformation. If two systems (18) and (19) are in GS via the transformation H
(
X
m
), then the function G
(
Y
,
X
m
) given in (19) will have the following form: (24)
G
Y
,
X
m
=
H
F
m
X
-
q
X
m
,
Y
,where (25)
F
m
X
=
f
1
X
,
f
2
X
,
…
,
f
m
X
Tand the function (26)
q
X
m
,
Y
=
q
1
X
m
,
Y
,
q
2
X
m
,
Y
,
…
,
q
m
X
m
,
Y
Tguarantees that the zero solution of the following error equation is asymptotically stable: (27)
e
k
+
1
=
H
X
m
k
+
1
-
Y
k
+
1
=
q
X
m
,
Y
.


### 3.2. A Novel 6DCGSS

Firstly, we propose a novel 3-dimensional chaotic system based on 2DPSM (15) and a trigonometric function: (28)
x
1
k
+
1
x
2
k
+
1
x
3
k
+
1
=
1.5
x
1
k
+
x
2
k
+
0.9
-
0.09
x
1
k
sin
⁡
x
1
k
+
x
2
k
-
cos
⁡
x
3
k
,
i
f
x
1
k
≤
0
-
2.2
x
1
k
+
x
2
k
+
0.9
-
0.2
x
1
k
sin
⁡
x
1
k
+
x
2
k
-
cos
⁡
x
3
k
,
i
f
x
1
k
>
0
.2DPSM (15) is chaotic map, and trigonometric functions are bounded function. Hence system (28) is chaotic.Secondly, let the driving part of the 6DCGSS have the following form with system (28): (29)
X
k
+
1
=
x
1
k
+
1
x
2
k
+
1
x
3
k
+
1
.In order to construct a GS driven system, define an invertible transformation H
:
R
3
→
R
3 by (30)
H
X
=
A
X
=
Δ
h
1
X
,
h
2
X
,
h
3
X
,where (31)
A
=
-
3
7
4
6
-
2
-
2
5
0
6is an invertible matrix. Now let the driven part have the form (32)
Y
k
+
1
=
A
X
k
+
1
-
1
9
A
X
k
-
Y
k
.From (32), it follows that q
(
X
,
Y
) can be represented by e
(
k
)
/
9. It guarantees that the zero solution of the error equation (27) is asymptotically stable. From Theorem 5, systems (29) and (32) are GS with respect to the transformation H
=
A for any initial value (
X
(
0
)
,
Y
(
0
)
)
∈
R
3
×
R
3. Since H is invertible, system (32) is also chaotic.


### 3.3. Numerical Simulations

Select the following initial conditions:(33)
X
0
=
0.3,0.01,0.2
T
,
(34)
Y
0
=
A
X
0
+
1
.The chaotic orbits of the state variables {
x
1
,
x
2
,
x
3
} for the first 5000 iterations are shown in Figures 3(a)–3(d). The evolution of state variables k
-
x
1
(
k
), k
-
x
2
(
k
), and k
-
x
3
(
k
) is shown in Figures 4(a)–4(c).Figure 3
Chaotic trajectories of variables: (a)x
1
(
k
)
-
x
2
(
k
)
-
x
3
(
k
), (b) x
1
(
k
)
-
x
2
(
k
), (c) x
1
(
k
)
-
x
3
(
k
), and (d) x
2
(
k
)
-
x
3
(
k
). Here 1
≤
k
≤
5000.
(a)
(b)
(c)
(d)Figure 4
The evolution of state variables: (a)k
-
x
1
(
k
), (b) k
-
x
2
(
k
), and (c) k
-
x
3
(
k
). Here 1
≤
k
≤
5000.
(a)
(b)
(c)The chaotic orbits of the state variables{
y
1
,
y
2
,
y
3
} for the first 5000 iterations are shown in Figures 5(a)–5(d). The evolution of state variables k
-
y
1
(
k
), k
-
y
2
(
k
), and k
-
y
3
(
k
) is shown in Figures 6(a)–6(c). The dynamic behaviors of the chaotic map demonstrate chaotic attractor characteristics.Figure 5
Chaotic trajectories of variables: (a)y
1
(
k
)
-
y
2
(
k
)
-
y
3
(
k
), (b) y
1
(
k
)
-
y
2
(
k
), (c) y
1
(
k
)
-
y
3
(
k
), and (d) y
2
(
k
)
-
y
3
(
k
). Here 1
≤
k
≤
5000.
(a)
(b)
(c)
(d)Figure 6
The evolution of state variables: (a)k
-
y
1
(
k
), (b) k
-
y
2
(
k
), and (c) k
-
y
3
(
k
). Here 1
≤
k
≤
5000.
(a)
(b)
(c)Figures7(a)–7(c) show that although the initial condition (34) has a perturbation, X
(
k
) and Y
(
k
) are rapidly conversing into generalized synchronization as Theorem 5 predicts.Figure 7
The state vectorsX and Y are in generalized synchronization with respect to the transformation H. (a) h
1
(
X
(
k
)
)
-
y
1
(
k
), (b) h
2
(
X
(
k
)
)
-
y
2
(
k
), and (c) h
3
(
X
(
k
)
)
-
y
3
(
k
). Here 1
≤
k
≤
5000.
(a)
(b)
(c)


## 3.1. Definition and Theorem on GS

First let us remember the definition and theorem for GS.Definition 4 (see [23]).
Consider two systems(18)
X
k
+
1
=
F
X
k
,
(19)
Y
k
+
1
=
G
Y
k
,
X
m
k
,where (20)
X
k
=
x
1
k
,
…
,
x
n
k
T
,
X
m
k
=
x
1
k
,
…
,
x
m
k
T
,
Y
k
=
y
1
k
,
…
,
y
m
k
T
,
m
≤
n
,
F
X
k
=
f
1
X
k
,
…
,
f
n
X
k
T
,
G
Y
k
,
X
m
k
=
g
1
Y
k
,
X
m
k
,
…
,
g
m
Y
k
,
X
m
k
T
.
If there exists a transformationH
:
R
m
→
R
m, where (21)
H
X
m
k
=
h
1
X
m
k
,
…
,
h
m
X
m
k
T
,and an open subset B
=
B
X
×
B
Y
⊂
R
n
×
R
m such that all trajectories of (18) and (19) with initial conditions (
X
(
0
)
,
Y
(
0
)
)
∈
B satisfy (22)
lim
k
→
+
∞
⁡
H
X
m
k
-
Y
k
=
0
,then the systems in (18) and (19) are said to be in GS with respect to the transformation H
(
X
m
(
k
)
). System (18) is called the driving system; system (19) is said to be the driven system.In order to construct the new discrete chaotic system (DCS) with the generalized chaos synchronization (GCS) property, we present the following theorem.Theorem 5 (see [23]).
LetX, X
m, Y, F
(
X
), and G
(
Y
,
X
m
) be defined by (20).
Suppose that(23)
H
X
m
=
y
1
,
y
2
,
…
,
y
m
Tis an invertible transformation. If two systems (18) and (19) are in GS via the transformation H
(
X
m
), then the function G
(
Y
,
X
m
) given in (19) will have the following form: (24)
G
Y
,
X
m
=
H
F
m
X
-
q
X
m
,
Y
,where (25)
F
m
X
=
f
1
X
,
f
2
X
,
…
,
f
m
X
Tand the function (26)
q
X
m
,
Y
=
q
1
X
m
,
Y
,
q
2
X
m
,
Y
,
…
,
q
m
X
m
,
Y
Tguarantees that the zero solution of the following error equation is asymptotically stable: (27)
e
k
+
1
=
H
X
m
k
+
1
-
Y
k
+
1
=
q
X
m
,
Y
.


## 3.2. A Novel 6DCGSS

Firstly, we propose a novel 3-dimensional chaotic system based on 2DPSM (15) and a trigonometric function: (28)
x
1
k
+
1
x
2
k
+
1
x
3
k
+
1
=
1.5
x
1
k
+
x
2
k
+
0.9
-
0.09
x
1
k
sin
⁡
x
1
k
+
x
2
k
-
cos
⁡
x
3
k
,
i
f
x
1
k
≤
0
-
2.2
x
1
k
+
x
2
k
+
0.9
-
0.2
x
1
k
sin
⁡
x
1
k
+
x
2
k
-
cos
⁡
x
3
k
,
i
f
x
1
k
>
0
.2DPSM (15) is chaotic map, and trigonometric functions are bounded function. Hence system (28) is chaotic.Secondly, let the driving part of the 6DCGSS have the following form with system (28): (29)
X
k
+
1
=
x
1
k
+
1
x
2
k
+
1
x
3
k
+
1
.In order to construct a GS driven system, define an invertible transformation H
:
R
3
→
R
3 by (30)
H
X
=
A
X
=
Δ
h
1
X
,
h
2
X
,
h
3
X
,where (31)
A
=
-
3
7
4
6
-
2
-
2
5
0
6is an invertible matrix. Now let the driven part have the form (32)
Y
k
+
1
=
A
X
k
+
1
-
1
9
A
X
k
-
Y
k
.From (32), it follows that q
(
X
,
Y
) can be represented by e
(
k
)
/
9. It guarantees that the zero solution of the error equation (27) is asymptotically stable. From Theorem 5, systems (29) and (32) are GS with respect to the transformation H
=
A for any initial value (
X
(
0
)
,
Y
(
0
)
)
∈
R
3
×
R
3. Since H is invertible, system (32) is also chaotic.


## 3.3. Numerical Simulations

Select the following initial conditions:(33)
X
0
=
0.3,0.01,0.2
T
,
(34)
Y
0
=
A
X
0
+
1
.The chaotic orbits of the state variables {
x
1
,
x
2
,
x
3
} for the first 5000 iterations are shown in Figures 3(a)–3(d). The evolution of state variables k
-
x
1
(
k
), k
-
x
2
(
k
), and k
-
x
3
(
k
) is shown in Figures 4(a)–4(c).Figure 3
Chaotic trajectories of variables: (a)x
1
(
k
)
-
x
2
(
k
)
-
x
3
(
k
), (b) x
1
(
k
)
-
x
2
(
k
), (c) x
1
(
k
)
-
x
3
(
k
), and (d) x
2
(
k
)
-
x
3
(
k
). Here 1
≤
k
≤
5000.
(a)
(b)
(c)
(d)Figure 4
The evolution of state variables: (a)k
-
x
1
(
k
), (b) k
-
x
2
(
k
), and (c) k
-
x
3
(
k
). Here 1
≤
k
≤
5000.
(a)
(b)
(c)The chaotic orbits of the state variables{
y
1
,
y
2
,
y
3
} for the first 5000 iterations are shown in Figures 5(a)–5(d). The evolution of state variables k
-
y
1
(
k
), k
-
y
2
(
k
), and k
-
y
3
(
k
) is shown in Figures 6(a)–6(c). The dynamic behaviors of the chaotic map demonstrate chaotic attractor characteristics.Figure 5
Chaotic trajectories of variables: (a)y
1
(
k
)
-
y
2
(
k
)
-
y
3
(
k
), (b) y
1
(
k
)
-
y
2
(
k
), (c) y
1
(
k
)
-
y
3
(
k
), and (d) y
2
(
k
)
-
y
3
(
k
). Here 1
≤
k
≤
5000.
(a)
(b)
(c)
(d)Figure 6
The evolution of state variables: (a)k
-
y
1
(
k
), (b) k
-
y
2
(
k
), and (c) k
-
y
3
(
k
). Here 1
≤
k
≤
5000.
(a)
(b)
(c)Figures7(a)–7(c) show that although the initial condition (34) has a perturbation, X
(
k
) and Y
(
k
) are rapidly conversing into generalized synchronization as Theorem 5 predicts.Figure 7
The state vectorsX and Y are in generalized synchronization with respect to the transformation H. (a) h
1
(
X
(
k
)
)
-
y
1
(
k
), (b) h
2
(
X
(
k
)
)
-
y
2
(
k
), and (c) h
3
(
X
(
k
)
)
-
y
3
(
k
). Here 1
≤
k
≤
5000.
(a)
(b)
(c)


## 4. Bit String CPRNG and Pseudorandomness Tests

### 4.1. Chaotic Pseudorandom Number Generator

Denote(35)
X
i
=
x
i
k
∣
k
=
1,2
,
…
,
N
,
Y
i
=
y
i
k
∣
k
=
1,2
,
…
,
N
,where i
=
1,2
,
3 and x
i’s and y
i’s are generated by (29) and (32). Introduce a transformation T
1
:
R
→
{
0,1
,
…
,
2
16
-
1
} which transforms the chaotic streams of systems (35) into key streams: (36)
P
=
T
1
S
=
m
o
d
r
o
u
n
d
L
S
-
min
⁡
S
max
⁡
S
-
min
⁡
S
,
2
16
.Here (37)
S
=
X
2
+
X
3
-
Y
1
-
Y
2
+
Y
3
,where L
=
1
0
15.Now we can design a CPRNG based on the transformations (36)-(37) and GS systems (29) and (32). The seeds of the CPRNG are the initial conditions of the GS systems, which can be chosen via random number generators. Therefore the output key streams of the CPRNG can be obtained via (36), GS systems (29) and (32).


### 4.2. Pseudorandomness Tests

The FIPS 140-2 test consists of four subtests: Monobit Test, Poker Test, Runs Test, and Long Runs Test. Each test needs a single stream of 20,000 one and zero bits from the key stream generator. Any failure in the first three tests means that the corresponding quantity of the sequences falls out the required intervals listed in the second column in Table1. The Long Runs Test is passed if there are no runs of length 26 or more.Table 1
The required intervals of the FIPS 140-2 Monobit Test, Porker Tests, Runs Test. Here, MT, PT, and LT represent the Monobit Test, the Porker Test, and the Long Runs Test, respectively.k represents the length of the run of a tested sequence. χ
2 DT represents χ
2 distribution.
Test item
FIPS 140-2
α
=
1
0
-
4
Golomb’s postulates
Required intervals
Accepted intervals
MT
9,725~10,275
9,725~10,275
10000
PT
2.16~46.17
2.16~46.17
χ
2 DT
LT
<26
<26
—
k
Run Test
Run Test
Run Test
1
2,315~2,685
2,362~2,638
2,500
2
1,114~1,386
1,153~1,347
1,250
3
527~723
556~694
625
4
240~384
264~361
313
5
103~209
122~191
156
6+
103~209
122~191
156It has been pointed out that the required intervals of the Monotone test and the Porker Test correspond to significantα
=
1
0
-
4 for the normal cumulative distribution and the χ
2 distribution, respectively, and the required intervals of the Runs Tests correspond approximately to the significant α
=
1.6
×
1
0
-
7 for the normal cumulative distribution [24, 25]. If we select the significant α
=
1
0
-
4 of all tests, the corresponding accepted intervals are listed in the third column in Table 1.According to Golomb’s three postulates on the randomness [26], the ideal values of the first three tests should be those listed in the 4th column in Table 1.In order to test the pseudorandomness of the CPRNG, we transform the 16-bit stream defined by (36) to the {
0,1
} bit stream as follows.Construct a transformT
2
:
{
0,1
,
…
,
2
16
-
1
}
→
{
0,1
} which is defined by (38)
T
2
=
T
22
∘
T
21s.t. for all y
∈
{
0,1
,
…
,
2
16
-
1
}
N: (39)
T
21
y
=
d
e
c
2
b
i
n
y
.Let z
=
d
e
c
2
b
i
n
(
Y
); then (40)
T
22
z
=
z
:
,where dec2bin and z
(
:
) are both Matlab commands. Then the transformation T
:
R
→
{
0,1
} is defined via (41)
T
=
T
2
∘
T
1
.The FIPS 140-2 test is used to check 1,000 key streams randomly generated by CPRNG with random perturbing of the initial conditionsX
(
0
), Y
(
0
), the parameters {
τ
L
,
δ
L
,
δ
R
,
μ
,
γ
}, and the parameters of matrix A
=
(
α
i
,
j
) in the range |
ϵ
|
∈
[
1
0
-
16
,
1
0
-
1
], respectively.All sequences pass the FIPS 140-2 test, and there are 12 sequences failing to pass the G FIPS 140-2 test. The statistic test results are listed in the 3rd column in Table2, in which the statistic results are described by mean values ± standard deviation (Mean ± SD). In [27], a new CPRNG1 was proposed. The test results show that there are 2 sequences failing to pass the FIPS 140-2 test, and there are 23 sequences failing to pass the G FIPS 140-2 test. The statistic test results are listed in the 4th column in Table 2.Table 2
The tested Mean ± SD of the FIPS 140-2 tested values of 1,000 key streams generated by the new CPRNG, CPRNG1 [27], the RC4, and ZUC CPRNG. Here, MT, PT, and LT represent Monobit Test, Poker Test, and Long Runs Test. SD represents the standard diviation.
Test item
Bits
CPRNG
CPRNG1
RC4
ZUC
Mean ± SD
Mean ± SD
Mean ± SD
Mean ± SD
MT
0
10000± 71.328
10009
±
73.288
10001
±
71.472
9998.4± 71.843
1
9999.4± 71.328
9991.2± 73.280
9999.2
±
71.278
10002± 71.843
PT
—
15.040± 5.6514
15.208± 5.5133
15.022± 5.4730
15.043± 5.5491
LT
0
13.587± 1.8830
13.874± 1.8710
14.004± 2.0635
13.488± 1.829
1
13.558± 1.7747
13.699± 2.0661
13.596± 1.8759
13.595± 1.9305
k
Bits
Run Test
Run Test
Run Test
Run Test
1
0
2499.6± 46.302
2496.4
±
46.026
2501.1± 49.008
2501.9± 45.735
1
2498.8± 45.166
2499.5
±
47.159
2500.9± 46.437
2502.7± 46.121
2
0
1249.9± 31.556
1250.2
±
32.381
1251.2± 31.473
1252.1± 32.606
1
1250.5± 32.686
1247.6
±
32.23
1249.8± 32.095
1249.5± 32.221
3
0
624.36± 22.817
623.05
±
22.889
624.67± 22.545
624.09± 22.648
1
625.75± 23.483
624.86± 23.33
625.35± 23.071
624.64± 23.455
4
0
312.86± 16.369
312.34
±
16.687
312.50± 16.961
312.56± 16.748
1
312.49± 16.970
312.21
±
16.986
312.04± 16.874
312.72± 16.506
5
0
156.70± 12.068
156.21
±
12.303
156.00± 12.713
155.65± 12.097
1
155.74± 12.134
155.711
±
11.773
155.94± 12.245
156.66± 12.369
6+
0
156.03± 12.079
157.94
±
11.808
156.21± 12.331
155.75± 11.719
1
156.10± 11.785
156.27
±
12.441
156.29± 12.372
155.82± 11.497The 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 PRNG can be designed via 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;
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, “r
a
n
d
i
(
0
254
,
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 PRNG is designed. Now, the FIPS 140-2 test is used to test the 1,000 key streams randomly generated by RC4 algorithm. Results show that 1000 sequences all passed the FIPS 140-2 test criteria and there are 18 sequences failing to pass the G FIPS 140-2 test. The statistic test results are listed in the 5th column in Table2.ZUC is a stream cipher that forms the heart of the third-generation partnership project (3 GPP) confidentiality algorithm 128-EEA3 and the 3GPP integrity algorithm 128-EIA3. Now, the FIPS 140-2 test suit is used to test the 1,000 key streams randomly generated by the ZUC algorithm program (see Appendix  A in [28]). Results show that the 1000 sequences all passed the FIPS 140-2 test criteria, and there are 21 sequences failing to pass the G FIPS 140-2 test criteria. The statistic test results are listed in the 6th column in Table 2.Observing the statistical properties of the pseudorandomness of the sequences generated via the new CPRNG, RC4 algorithm, and the ZUC algorithm, we can find that the three algorithms do not have significant differences. And compared with CPRNG1, the new CPRNG has better randomness performance.


### 4.3. Key Space

The key set parameters of CPRNG include the initial conditionsX
(
0
), Y
(
0
), the parameters set {
τ
L
,
δ
L
,
δ
R
,
μ
,
γ
}, and the matrix A
=
(
α
i
,
j
). It can be proved that if the perturbation matrix Δ
=
(
δ
i
,
j
) satisfies (42)
δ
i
,
j
<
0.98217the matrix A
+
Δ is still invertible. Therefore the CPRNG has 3
+
3
+
5
+
9 key parameters denoted by (43)
K
s
=
k
1
,
k
2
,
…
,
k
20
.Let the key set be perturbed by(44)
K
s
Δ
=
K
s
+
δ
1
,
δ
2
,
…
,
δ
20
,where (45)
1
0
-
16
≤
δ
i
≤
1
0
-
1
,
i
=
1
,
…
,
20
.The Matlab platform uses double precision decimal computations. That means that each computed decimal number has 16 bits’ accuracy. Therefore for each perturbed key parameterk
i
+
δ
i (please see formula (44)), |
δ
i
|
∈
[
1
0
-
16
,
1
0
-
1
]; that is, δ
i has a representation: (46)
δ
i
=
0.0
a
2
a
3
⋯
a
16
,where (47)
a
i
∈
0,1
,
…
,
9
.Therefore, there are larger 1015 possible key values. According to the permutation and combination theory, our 20 keys have a key space which is larger than 1
0
20
×
15
>
2
996.


### 4.4. The Correlation of Key Stream

Now we compare the difference between the key streamS
=
T
(
S
) with 20000-code length generated by key set (43) with the key streams S
p’s generated by perturbed key set (44), respectively.The comparing results are shown in the 3rd column in Table3. Observe that the average percent of different codes is 50.029%. It is very close to the ideal different value of 50%. Here SV represents statistic values, DC represents different codes, and CC represents correlation coefficients between the key stream and the perturbed key streams.Table 3
The statistic data for the percentages of the codes of the key streams variations betweenS and S
p’s,  S
1 and S
1
p’s, S
r
0 and S
r’s, and S
z
0 and S
z’s.
Item
SV
S
p’s
S
1
p’s
S
r’s
S
z’s
DC
Min
48.995%
48.625%
48.765%
48.845%
Mean
50.029%
49.995%
49.987%
50.014%
Max
50.950%
51.020%
51.230%
51.120%
CC
Min
0.0000030
0.0000007
0.0000018
0.0000022
Mean
0.0055411
0.0054141
0.0057124
0.0055848
Max
0.0201125
0.027542
0.0246616
0.0230973Let us compare 1000 different codes with length 20000 and the correlation coefficients of the key streamsS
p’s, S
1
p’s, S
r’s, and S
z’s generated via our CPRNG, the CPRNG1 [27], RC4 algorithm PRNG, and ZUC algorithm PRNG, respectively. The comparing results are shown in Table 3. Compare the unperturbed key streams S, S
1 [27], S
r
0, and S
z
0 of each PRNG with the 1000 key streams S
m’s generated by the Matlab function r
a
n
d
i
(
0
1
,
1,20000
). The comparing results are shown in Table 4.Table 4
The statistic data for the percentages of the codes of the key streams variations betweenS and S
m’s, S
1 and S
m’s, S
r
0 and S
m’s, and S
z
0 and S
m’s.
Item
SV
S
S
1
S
r
0
S
z
0
DC
Min
48.920%
48.955%
48.855%
49.050%
Mean
49.989%
50.016%
49.980%
50.005%
Max
51.265%
51.110%
50.900%
51.050%
CC
Min
0.0000054
0.0000049
0.0000077
0.0000010
Mean
0.0056671
0.0055194
0.0058262
0.0056874
Max
0.0252603
0.0222300
0.0228920
0.0209927The results suggest that the key streams generated via the perturbed keys of our CPRNG are almost completely independent.


## 4.1. Chaotic Pseudorandom Number Generator

Denote(35)
X
i
=
x
i
k
∣
k
=
1,2
,
…
,
N
,
Y
i
=
y
i
k
∣
k
=
1,2
,
…
,
N
,where i
=
1,2
,
3 and x
i’s and y
i’s are generated by (29) and (32). Introduce a transformation T
1
:
R
→
{
0,1
,
…
,
2
16
-
1
} which transforms the chaotic streams of systems (35) into key streams: (36)
P
=
T
1
S
=
m
o
d
r
o
u
n
d
L
S
-
min
⁡
S
max
⁡
S
-
min
⁡
S
,
2
16
.Here (37)
S
=
X
2
+
X
3
-
Y
1
-
Y
2
+
Y
3
,where L
=
1
0
15.Now we can design a CPRNG based on the transformations (36)-(37) and GS systems (29) and (32). The seeds of the CPRNG are the initial conditions of the GS systems, which can be chosen via random number generators. Therefore the output key streams of the CPRNG can be obtained via (36), GS systems (29) and (32).


## 4.2. Pseudorandomness Tests

The FIPS 140-2 test consists of four subtests: Monobit Test, Poker Test, Runs Test, and Long Runs Test. Each test needs a single stream of 20,000 one and zero bits from the key stream generator. Any failure in the first three tests means that the corresponding quantity of the sequences falls out the required intervals listed in the second column in Table1. The Long Runs Test is passed if there are no runs of length 26 or more.Table 1
The required intervals of the FIPS 140-2 Monobit Test, Porker Tests, Runs Test. Here, MT, PT, and LT represent the Monobit Test, the Porker Test, and the Long Runs Test, respectively.k represents the length of the run of a tested sequence. χ
2 DT represents χ
2 distribution.
Test item
FIPS 140-2
α
=
1
0
-
4
Golomb’s postulates
Required intervals
Accepted intervals
MT
9,725~10,275
9,725~10,275
10000
PT
2.16~46.17
2.16~46.17
χ
2 DT
LT
<26
<26
—
k
Run Test
Run Test
Run Test
1
2,315~2,685
2,362~2,638
2,500
2
1,114~1,386
1,153~1,347
1,250
3
527~723
556~694
625
4
240~384
264~361
313
5
103~209
122~191
156
6+
103~209
122~191
156It has been pointed out that the required intervals of the Monotone test and the Porker Test correspond to significantα
=
1
0
-
4 for the normal cumulative distribution and the χ
2 distribution, respectively, and the required intervals of the Runs Tests correspond approximately to the significant α
=
1.6
×
1
0
-
7 for the normal cumulative distribution [24, 25]. If we select the significant α
=
1
0
-
4 of all tests, the corresponding accepted intervals are listed in the third column in Table 1.According to Golomb’s three postulates on the randomness [26], the ideal values of the first three tests should be those listed in the 4th column in Table 1.In order to test the pseudorandomness of the CPRNG, we transform the 16-bit stream defined by (36) to the {
0,1
} bit stream as follows.Construct a transformT
2
:
{
0,1
,
…
,
2
16
-
1
}
→
{
0,1
} which is defined by (38)
T
2
=
T
22
∘
T
21s.t. for all y
∈
{
0,1
,
…
,
2
16
-
1
}
N: (39)
T
21
y
=
d
e
c
2
b
i
n
y
.Let z
=
d
e
c
2
b
i
n
(
Y
); then (40)
T
22
z
=
z
:
,where dec2bin and z
(
:
) are both Matlab commands. Then the transformation T
:
R
→
{
0,1
} is defined via (41)
T
=
T
2
∘
T
1
.The FIPS 140-2 test is used to check 1,000 key streams randomly generated by CPRNG with random perturbing of the initial conditionsX
(
0
), Y
(
0
), the parameters {
τ
L
,
δ
L
,
δ
R
,
μ
,
γ
}, and the parameters of matrix A
=
(
α
i
,
j
) in the range |
ϵ
|
∈
[
1
0
-
16
,
1
0
-
1
], respectively.All sequences pass the FIPS 140-2 test, and there are 12 sequences failing to pass the G FIPS 140-2 test. The statistic test results are listed in the 3rd column in Table2, in which the statistic results are described by mean values ± standard deviation (Mean ± SD). In [27], a new CPRNG1 was proposed. The test results show that there are 2 sequences failing to pass the FIPS 140-2 test, and there are 23 sequences failing to pass the G FIPS 140-2 test. The statistic test results are listed in the 4th column in Table 2.Table 2
The tested Mean ± SD of the FIPS 140-2 tested values of 1,000 key streams generated by the new CPRNG, CPRNG1 [27], the RC4, and ZUC CPRNG. Here, MT, PT, and LT represent Monobit Test, Poker Test, and Long Runs Test. SD represents the standard diviation.
Test item
Bits
CPRNG
CPRNG1
RC4
ZUC
Mean ± SD
Mean ± SD
Mean ± SD
Mean ± SD
MT
0
10000± 71.328
10009
±
73.288
10001
±
71.472
9998.4± 71.843
1
9999.4± 71.328
9991.2± 73.280
9999.2
±
71.278
10002± 71.843
PT
—
15.040± 5.6514
15.208± 5.5133
15.022± 5.4730
15.043± 5.5491
LT
0
13.587± 1.8830
13.874± 1.8710
14.004± 2.0635
13.488± 1.829
1
13.558± 1.7747
13.699± 2.0661
13.596± 1.8759
13.595± 1.9305
k
Bits
Run Test
Run Test
Run Test
Run Test
1
0
2499.6± 46.302
2496.4
±
46.026
2501.1± 49.008
2501.9± 45.735
1
2498.8± 45.166
2499.5
±
47.159
2500.9± 46.437
2502.7± 46.121
2
0
1249.9± 31.556
1250.2
±
32.381
1251.2± 31.473
1252.1± 32.606
1
1250.5± 32.686
1247.6
±
32.23
1249.8± 32.095
1249.5± 32.221
3
0
624.36± 22.817
623.05
±
22.889
624.67± 22.545
624.09± 22.648
1
625.75± 23.483
624.86± 23.33
625.35± 23.071
624.64± 23.455
4
0
312.86± 16.369
312.34
±
16.687
312.50± 16.961
312.56± 16.748
1
312.49± 16.970
312.21
±
16.986
312.04± 16.874
312.72± 16.506
5
0
156.70± 12.068
156.21
±
12.303
156.00± 12.713
155.65± 12.097
1
155.74± 12.134
155.711
±
11.773
155.94± 12.245
156.66± 12.369
6+
0
156.03± 12.079
157.94
±
11.808
156.21± 12.331
155.75± 11.719
1
156.10± 11.785
156.27
±
12.441
156.29± 12.372
155.82± 11.497The 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 PRNG can be designed via 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;
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, “r
a
n
d
i
(
0
254
,
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 PRNG is designed. Now, the FIPS 140-2 test is used to test the 1,000 key streams randomly generated by RC4 algorithm. Results show that 1000 sequences all passed the FIPS 140-2 test criteria and there are 18 sequences failing to pass the G FIPS 140-2 test. The statistic test results are listed in the 5th column in Table2.ZUC is a stream cipher that forms the heart of the third-generation partnership project (3 GPP) confidentiality algorithm 128-EEA3 and the 3GPP integrity algorithm 128-EIA3. Now, the FIPS 140-2 test suit is used to test the 1,000 key streams randomly generated by the ZUC algorithm program (see Appendix  A in [28]). Results show that the 1000 sequences all passed the FIPS 140-2 test criteria, and there are 21 sequences failing to pass the G FIPS 140-2 test criteria. The statistic test results are listed in the 6th column in Table 2.Observing the statistical properties of the pseudorandomness of the sequences generated via the new CPRNG, RC4 algorithm, and the ZUC algorithm, we can find that the three algorithms do not have significant differences. And compared with CPRNG1, the new CPRNG has better randomness performance.


## 4.3. Key Space

The key set parameters of CPRNG include the initial conditionsX
(
0
), Y
(
0
), the parameters set {
τ
L
,
δ
L
,
δ
R
,
μ
,
γ
}, and the matrix A
=
(
α
i
,
j
). It can be proved that if the perturbation matrix Δ
=
(
δ
i
,
j
) satisfies (42)
δ
i
,
j
<
0.98217the matrix A
+
Δ is still invertible. Therefore the CPRNG has 3
+
3
+
5
+
9 key parameters denoted by (43)
K
s
=
k
1
,
k
2
,
…
,
k
20
.Let the key set be perturbed by(44)
K
s
Δ
=
K
s
+
δ
1
,
δ
2
,
…
,
δ
20
,where (45)
1
0
-
16
≤
δ
i
≤
1
0
-
1
,
i
=
1
,
…
,
20
.The Matlab platform uses double precision decimal computations. That means that each computed decimal number has 16 bits’ accuracy. Therefore for each perturbed key parameterk
i
+
δ
i (please see formula (44)), |
δ
i
|
∈
[
1
0
-
16
,
1
0
-
1
]; that is, δ
i has a representation: (46)
δ
i
=
0.0
a
2
a
3
⋯
a
16
,where (47)
a
i
∈
0,1
,
…
,
9
.Therefore, there are larger 1015 possible key values. According to the permutation and combination theory, our 20 keys have a key space which is larger than 1
0
20
×
15
>
2
996.


## 4.4. The Correlation of Key Stream

Now we compare the difference between the key streamS
=
T
(
S
) with 20000-code length generated by key set (43) with the key streams S
p’s generated by perturbed key set (44), respectively.The comparing results are shown in the 3rd column in Table3. Observe that the average percent of different codes is 50.029%. It is very close to the ideal different value of 50%. Here SV represents statistic values, DC represents different codes, and CC represents correlation coefficients between the key stream and the perturbed key streams.Table 3
The statistic data for the percentages of the codes of the key streams variations betweenS and S
p’s,  S
1 and S
1
p’s, S
r
0 and S
r’s, and S
z
0 and S
z’s.
Item
SV
S
p’s
S
1
p’s
S
r’s
S
z’s
DC
Min
48.995%
48.625%
48.765%
48.845%
Mean
50.029%
49.995%
49.987%
50.014%
Max
50.950%
51.020%
51.230%
51.120%
CC
Min
0.0000030
0.0000007
0.0000018
0.0000022
Mean
0.0055411
0.0054141
0.0057124
0.0055848
Max
0.0201125
0.027542
0.0246616
0.0230973Let us compare 1000 different codes with length 20000 and the correlation coefficients of the key streamsS
p’s, S
1
p’s, S
r’s, and S
z’s generated via our CPRNG, the CPRNG1 [27], RC4 algorithm PRNG, and ZUC algorithm PRNG, respectively. The comparing results are shown in Table 3. Compare the unperturbed key streams S, S
1 [27], S
r
0, and S
z
0 of each PRNG with the 1000 key streams S
m’s generated by the Matlab function r
a
n
d
i
(
0
1
,
1,20000
). The comparing results are shown in Table 4.Table 4
The statistic data for the percentages of the codes of the key streams variations betweenS and S
m’s, S
1 and S
m’s, S
r
0 and S
m’s, and S
z
0 and S
m’s.
Item
SV
S
S
1
S
r
0
S
z
0
DC
Min
48.920%
48.955%
48.855%
49.050%
Mean
49.989%
50.016%
49.980%
50.005%
Max
51.265%
51.110%
50.900%
51.050%
CC
Min
0.0000054
0.0000049
0.0000077
0.0000010
Mean
0.0056671
0.0055194
0.0058262
0.0056874
Max
0.0252603
0.0222300
0.0228920
0.0209927The results suggest that the key streams generated via the perturbed keys of our CPRNG are almost completely independent.


## 5. A SESAE Experiment on CPRNG

Based on the 216-word CPRNG defined by (36) and the stream encryption scheme with avalanche effect (SESAE) [19], this subsection investigates an image encryption example. And the secret key is changed for each plaintext.First, let us remember the definition of SESAE.Definition 6 (see [19]).
LetP
=
{
p
1
,
p
2
,
…
,
p
n
} be a binary key stream with d-bit segments generated by a pseudorandom number generator (PRNG), let M
=
{
m
1
,
m
2
,
…
,
m
n
} be a binary plaintext steam, and let C
=
{
c
1
,
c
2
,
…
,
c
n
} be a ciphertext stream. Then the stream encryption scheme with avalanche effect (SESAE) is described as follows. (1)
The ciphertextC
=
E
(
M
,
P
) is determined by (48)
c
i
=
p
i
,
i
f
m
i
=
0
~
p
i
,
i
f
m
i
=
1
,
where~
p
i is defined as the bit string obtained by replacing all “1”s in p
i with “0”s and all “0”s in p
i with “1”s.
(2)
The corresponding decrypted plaintextM
=
E
-
1
(
C
,
P
) is determined by (49)
m
i
=
0
,
i
f
p
i
=
c
i
1
,
i
f
p
i
≠
c
i
.Definition 7 (see [19]).
A PRNG,S, which generates binary d-bit key streams, is called an ideal PRNG, if S has the following properties: (1)
The period of any key stream generated by the PRNG is larger than2
d. Its seed space and key space are larger than 2512.
(2)
In one period of pseudorandom key streams generated by the PRNG, the distribution of differentd-bit segments in the key stream is homogenous. That is, if the period p
=
n
×
2
d, then the number of each different d-bit segment is equal to n. If the period p is not an integer multiple of 2
d, then the difference between the numbers of different d-bit segments is at most one.
(3)
The two key streamsP
1, P
2 generated by any two different seeds have (
2
d
-
1
)
/
2
d
×
100
% different d-bit segments.Now let us consider a SESAE experiment on CPRNG, encrypting and decrypting an RGB image “Panda” with128
×
128 pixels as shown in Figure 8(a).Figure 8
(a) Original image beach. (b) Decrypted image without error. Ten decrypted images via key streams generated with slightly perturbed initial conditions and system parameters in the range[
1
0
-
16
,
1
0
-
1
]: (c) I
0,1, (d) I
0,2, (e) I
1,1, (f) I
1,2, (g) I
1,3, (h) I
13,6, (i) I
13,7, (j) I
14,1, (k) I
14,2, and (l) I
16,1.
(a)
(b)
(c)
(d)
(e)
(f)
(g)
(h)
(i)
(j)
(k)
(l)(1)
A sender transforms the image Panda to a binary plaintext steamM
=
{
m
1
,
m
2
,
…
,
m
n
}, where n
=
128
×
128
×
3
×
8.
(2)
The sender uses CPRNG (36) with initial conditions (33) and (34) to generate a 216-word key stream with length n
+
1000. And then drop the first 1000 iterative values to obtain a key stream: (50)
P
=
p
1
,
p
2
,
…
,
p
n
.
(3)
The sender uses formula (48) to encrypt the plaintext steam M, obtaining a ciphertext C
=
E
(
M
,
P
).
(4)
The receiver uses formula (49) to decrypt the ciphertext and obtain a decrypted plaintext image M
=
E
-
1
(
C
,
P
) without errors (see Figure 8(b)).
(5)
Randomly disturb initial conditions (33) and (34), the parameters, and matrix (31), for 1000 times in the range |
ϵ
|
∈
[
1
0
-
16
,
1
0
-
1
], to obtain key streams (dropping the first 1000 iterative values): (51)
P
i
,
i
=
1,2
,
…
,
1000
.
(6)
Use{
P
1
,
…
,
P
1000
} to decrypt the ciphertext and obtain decrypted plaintext, respectively: (52)
M
-
i
=
E
-
1
C
,
P
i
,
i
=
1
,
…
,
1000
.
(7)
ChangeM
-
i to RGB images.In order to increase the security of the SESAE, we now propose one-time-pad scheme as follows: LetK
s
⊂
R
n be the seed space (i.e., perturbed initial conditions (33) and (34)). Sender Alice and receiver Bob share a secret function f
:
K
s
→
K
s. In the simplest case, f can be chosen as an invertible matrix. Before each communication, Alice selects randomly an element k
∈
K
s and sends it to Bob. Then, they can use f as the seed for one-time encryption.


## 6. Security Analysis

A good encryption scheme should be able to resist all kinds of known attacks, such as statistical attack and differential attack. This study has performed some security analyses on the proposed image encryption scheme, including key space analysis, key sensitivity analysis, and correlation analysis. They have demonstrated the security of the SESAE.


### 6.1. Key Space Analysis

The size of the key space is the total number of different keys that can be used in the encryption. The Matlab platform uses double precision decimal computations. That means that each computed decimal number has 16 bits’ accuracy.Therefore, the size of the key space for our 20 keys is larger than1
0
15
×
20
>
2
996. The key space is large enough to make brute-force attacks infeasible.


### 6.2. Key Sensitivity Analysis

After changingM
-
i to RGB images, all images become almost pure white images. There are total of 393216 {
0,1
} codes in each decrypted image. Among the decrypted images, the minimum number of 0s in the decrypted images is 0 and the maximum one is 16. Let I
i
,
j denote the jth image having number “i” of 0 codes.The first five decrypted images with minimum zero codes and the last five images with maximum zero codes (denoted byI
0,1, I
0,2, I
1,1, I
1,2, I
1,3, I
13,6, I
13,7, I
14,1, I
14,2, and I
16,1, resp.) are shown in Figures 8(c)–8(l), respectively.Table5 lists the statistical data of the first 10 decrypted images with minimum “0”s codes and the last 10 decrypted images with maximum “0”s codes. Here N
1 and N
2 represent the number of “0”s and the number of the color pixels with brightness less than 255, respectively. Percentage represents the percentage of “1” codes in the decrypted image.Table 5
The statistical data of the first10 images with minimum “0”s codes and the last 10 decrypted images with maximum “0”s codes.
Images
N
1
N
2
Percentage
Images
N
1
N
2
Percentage
I
0,1
0
0
100
I
13,1
13
13
99.9966
I
0,2
0
0
100
I
13,2
13
13
99.9966
I
1,1
1
1
99.9997
I
13,3
13
13
99.9966
I
1,2
1
1
99.9997
I
13,4
13
13
99.9966
I
1,3
1
1
99.9997
I
13,5
13
13
99.9966
I
1,4
1
1
99.9997
I
13,6
13
13
99.9966
I
1,5
1
1
99.9997
I
13,7
13
13
99.9966
I
1,6
1
1
99.9997
I
14,1
14
14
99.9964
I
1,7
1
1
99.9997
I
14,2
14
14
99.9964
I
1,8
1
1
99.9997
I
16,1
16
16
99.9959Observe that the percentages of the numbers of “1” codes are in the range[
99.9959
%
,
100
%
], which is very close to the ideal value (
2
16
-
1
)
/
2
16
×
100
%
≈
99.9984
% [19].In summary, the simulation shows that using the image encrypting algorithm to encrypt RGB images is able to generate encrypted images with significant avalanche effects and be sensitive with respect to the secret key.


### 6.3. Correlation Analysis

Table6 lists some statistic data of the norms between the original key stream S
0 and the key stream S
i
,
j used in the ten decrypted images shown in Figures 8(c)–8(l), respectively.Table 6
Differences between the original keystreamS
0 and the keystreams S
i
,
j, measured by norm S
0
-
S
i
,
j.
S
0
-
S
i
,
j(×10−1)
S
3,1
S
4,1
S
4,2
S
4,3
S
4,4
S
0
0.25520
0.28385
0.24254
0.27552
0.24290
S
24,1
S
24,2
S
25,1
S
25,2
S
27,1
S
0
0.5253
0.30803
0.28799
0.23376
0.29791The comparison results show that in the norms between the original image and the corresponding decrypted images there are no significant correlations.


## 6.1. Key Space Analysis

The size of the key space is the total number of different keys that can be used in the encryption. The Matlab platform uses double precision decimal computations. That means that each computed decimal number has 16 bits’ accuracy.Therefore, the size of the key space for our 20 keys is larger than1
0
15
×
20
>
2
996. The key space is large enough to make brute-force attacks infeasible.


## 6.2. Key Sensitivity Analysis

After changingM
-
i to RGB images, all images become almost pure white images. There are total of 393216 {
0,1
} codes in each decrypted image. Among the decrypted images, the minimum number of 0s in the decrypted images is 0 and the maximum one is 16. Let I
i
,
j denote the jth image having number “i” of 0 codes.The first five decrypted images with minimum zero codes and the last five images with maximum zero codes (denoted byI
0,1, I
0,2, I
1,1, I
1,2, I
1,3, I
13,6, I
13,7, I
14,1, I
14,2, and I
16,1, resp.) are shown in Figures 8(c)–8(l), respectively.Table5 lists the statistical data of the first 10 decrypted images with minimum “0”s codes and the last 10 decrypted images with maximum “0”s codes. Here N
1 and N
2 represent the number of “0”s and the number of the color pixels with brightness less than 255, respectively. Percentage represents the percentage of “1” codes in the decrypted image.Table 5
The statistical data of the first10 images with minimum “0”s codes and the last 10 decrypted images with maximum “0”s codes.
Images
N
1
N
2
Percentage
Images
N
1
N
2
Percentage
I
0,1
0
0
100
I
13,1
13
13
99.9966
I
0,2
0
0
100
I
13,2
13
13
99.9966
I
1,1
1
1
99.9997
I
13,3
13
13
99.9966
I
1,2
1
1
99.9997
I
13,4
13
13
99.9966
I
1,3
1
1
99.9997
I
13,5
13
13
99.9966
I
1,4
1
1
99.9997
I
13,6
13
13
99.9966
I
1,5
1
1
99.9997
I
13,7
13
13
99.9966
I
1,6
1
1
99.9997
I
14,1
14
14
99.9964
I
1,7
1
1
99.9997
I
14,2
14
14
99.9964
I
1,8
1
1
99.9997
I
16,1
16
16
99.9959Observe that the percentages of the numbers of “1” codes are in the range[
99.9959
%
,
100
%
], which is very close to the ideal value (
2
16
-
1
)
/
2
16
×
100
%
≈
99.9984
% [19].In summary, the simulation shows that using the image encrypting algorithm to encrypt RGB images is able to generate encrypted images with significant avalanche effects and be sensitive with respect to the secret key.


## 6.3. Correlation Analysis

Table6 lists some statistic data of the norms between the original key stream S
0 and the key stream S
i
,
j used in the ten decrypted images shown in Figures 8(c)–8(l), respectively.Table 6
Differences between the original keystreamS
0 and the keystreams S
i
,
j, measured by norm S
0
-
S
i
,
j.
S
0
-
S
i
,
j(×10−1)
S
3,1
S
4,1
S
4,2
S
4,3
S
4,4
S
0
0.25520
0.28385
0.24254
0.27552
0.24290
S
24,1
S
24,2
S
25,1
S
25,2
S
27,1
S
0
0.5253
0.30803
0.28799
0.23376
0.29791The comparison results show that in the norms between the original image and the corresponding decrypted images there are no significant correlations.


## 7. Conclusions

The main results of this paper are summarized as follows:(1)
It proposes a chaos robustness criterion theorem which provides parameter inequalities to determine easily the robust chaos parameters regions for the 2DPSM. And a novel 2DPSM is designed to illustrate the theorem.
(2)
It constructs a 6-dimensional chaotic GS system (6DCGSS), based on the 2DPSM and the GS theorem. Using the 6DCGSS, we design a 216-word CPRNG. The key space of the CPRNG is larger than 2996, which is large enough against brute-force attacks.
(3)
It compares the testing results by the FIPS 140-2 test suit/generalized FIPS 140-2 test suit for 1000 key streams consisting of 20,000 bits generated by the CPRNG, the RC4 algorithm, and the ZUC algorithm, respectively. The numerical results show that the three algorithms do not have significant differences. And compared with CPRNG1, the new CPRNG has better randomness performance.
(4)
It shows an image encryption example by using the CPRNG and SESAE. The simulation results suggest that the decrypted ciphertext will become a monotone white text if a key stream is used with different seeds generated by CPRNG to decrypt the ciphertext. The results show that the encrypted image has significant avalanche effect.Furthermore, to prevent opponents’ attacks, we propose “one-time-pad” scheme. In summary, chaotic map criterion Theorem2 and generalized synchronization Theorem 5 make us able to design CPRNGs with large key space, which have function similar to one-time-pad scheme.



---

*Source: 1496329-2016-03-07.xml*