Keywords

1 Introduction

In the past few decades, various chaotic systems have been investigated, for example: Lorenz system (Lorenz 1963), Rössler system (Rössler 1976), Arneodo system (Arneodo et al. 1981), Chen system (Chen and Ueta 1999), Lü system (Lü and Chen 2002), Vaidyanathan system (Vaidyanathan 2013), time–delay systems (Barnerjee et al. 2012), Tacha system (Tacha et al. 2016), jerk systems (Vaidyanathan et al. 2014). In addition, hyperchaotic systems have been discovered (Rössler 1979). Hyperchaotic system is characterized by more than one positive Lyapunov exponent. Therefore hyperchaotic system can exhibit a higher level of complexity with respect to chaotic system (Vaidyanathan and Azar 2015). Hyperchaos is better than conventional chaos in a variety of areas, for example, hyperchaos increases the security of chaotic–based communication systems significantly (Udaltsov et al. 2003; Sadoudi et al. 2013) or encryption algorithm based on hyperchaos is safer than one based on chaos (Gao and Chen 2008). Moreover hyperchaos has been applied in different areas such as cryptosystems (Grassi and Mascolo 1999), neural networks (Huang and Yang 2006), secure communications (Udaltsov et al. 2003; Sadoudi et al. 2013), or laser design (Vicente et al. 2005).

The realization of memristor at Hewlett–Packard Labs promotes potential memristor—based applications (Strukov et al. 2008). Some attractive memristor—based applications are high–speed low–power processors (Yang et al. 2013), adaptive filter (Driscoll et al. 2010), pattern recognition systems (Corinto et al 2012), associative memory (Pershin and Ventra 2010), neural networks (Adhikari et al. 2012; Ascoli and Corinto 2013), and programmable analog integrated circuits (Shin et al. 2011). Especially, the intrinsic nonlinear characteristic of memristor has been exploited in designing hyperchaotic oscillators (Buscarino et al. 2012a; Fitch et al. 2012). Hyperchaos was generated by combining a memristor with cubic nonlinear characteristics and a modified canonical Chua’s circuit (Fitch et al. 2012). This memristor—based modified canonical Chua’s circuit is a five–dimensional hyperchaotic oscillator. By extending the HP memristor—based canonical Chua’s oscillator, a six–dimensional hyperchaotic oscillator was designed (Buscarino et al. 2012b). Authors used a configuration based on two HP memristors in antiparallel (Buscarino et al. 2012a). Four–dimensional hyperchaotic memristive systems were discovered by Li et al. (2014, 2015). A 4D memristive system with a line of equilibrium points was presented in Li et al. (2014) while another memristive system with an uncountable infinite number of stable and unstable equilibria was reported in Li et al. (2015). Interestingly, memristor—based hyperchaotic systems without equilibrium were introduced in Pham et al. (2014b; 2015). These memristive systems belong to a new category of chaotic systems with hidden attractors (Leonov et al. 2011; Leonov and Kuznetsov 2013). Hidden attractor cannot be found by using a numerical method in which a trajectory started from a point on the unstable manifold in the neighbourhood of an unstable equilibrium (Jafari and Sprott 2013). Thus hidden attractors play an important role in many fields such as in mechanics, secure communication and electronics (Kuznetsov et al. 2011; Leonov et al. 2011; Pham et al. 2014a, c; Sharma et al. 2015).

In this chapter, we study a system based on a memristive device and its application. It is interesting that the memristive system has an infinite number of equilibrium points and can generate hyperchaos. This chapter is organized as follows. Section 2 presents the description of the memristive system. Dynamics and properties of such memristive system are investigated in Sect. 3. We implement an image encryption scheme based on the memeristive system in Sect. 4 and discuss its security in Sect. 5. Finally, conclusions are drawn in Sect. 6.

2 Description of the Proposed System

According to studies of (Chua 1971; Chua and Kang 1976), a memristive system is defined by

$$\begin{aligned} \left\{ \begin{array}{l} \dot{w} = f\left( {w,y,t} \right) \\ h\left( {w,y} \right) = g\left( {w,y,t} \right) y, \end{array} \right. \end{aligned}$$
(1)

where y, h(wy), w are the input, output, and internal state of the memristive device. The functions f and g are a continuous n–dimensional vector function and a continuous scalar function.

Based on the definition of memristive system, recently authors have introduced a novel memrisitve system (Pham et al. 2014b) in the following form:

$$\begin{aligned} \left\{ \begin{array}{l} \dot{x} = - 10x - ay - yz\\ \dot{y} = - 6x + 1.2xz + 0.1h\left( {w,y} \right) + b\\ \dot{z} = - z - 1.2xy\\ \dot{w} = y, \end{array} \right. \end{aligned}$$
(2)

where a and b are two positive real parameters. Here h(wy) is the output of the memristive device described by

$$\begin{aligned} \left\{ \begin{array}{l} \dot{w} = y\\ h\left( {w,y} \right) = \left( {1 + 0.24{w^2} - 0.0016{w^4}} \right) y. \end{array} \right. \end{aligned}$$
(3)

As have been known system (2) can display hyperchaotic attractors without equilibrium for \( b \ne 0 \) (Pham et al. 2014b). In addition, dynamics of the memristive system without equilibrium have been investigated by using numerical simulations and circuital implementation (Pham et al. 2014b).

When \(b = 0\), the system (2) can be rewritten by

$$\begin{aligned} \left\{ \begin{array}{l} \dot{x} = - 10x - ay - yz\\ \dot{y} = - 6x + 1.2xz + 0.1\left( {1 + 0.24{w^2} - 0.0016{w^4}} \right) y\\ \dot{z} = - z - 1.2xy\\ \dot{w} = y. \end{array} \right. \end{aligned}$$
(4)

It is easy to get the equilibrium points of system (4) by solving \( \dot{x} =0 \), \( \dot{y} =0 \), \( \dot{z} =0 \), and \( \dot{w} =0 \), that is

$$\begin{aligned} - 10x - ay - yz = 0, \end{aligned}$$
(5)
$$\begin{aligned} - 6x + 1.2xz + 0.1\left( {1 + 0.24{w^2} - 0.0016{w^4}} \right) y = 0, \end{aligned}$$
(6)
$$\begin{aligned} - z - 1.2xy = 0, \end{aligned}$$
(7)
$$\begin{aligned} y = 0, \end{aligned}$$
(8)

From Eq. (8), we have \(y=0\). By substituting \(y=0\) in Eq. (5), it leads to \(x=0\). As result, we get \(z=0\) from Eq. (7). In addition, Eq. (6) insists and does not depend on w. In other words, system (4) has an infinite number of equilibrium points

$$\begin{aligned} E\left( {0,0,0,w} \right) . \end{aligned}$$
(9)

Moreover, the equilibrium points are located on a line.

System (4) belongs to a new class of systems with hidden attractor from a computational point of view (Jafari and Sprott 2013). The basin of the system may intersect the line equilibrium in some sections. But there are uncountable points on the line that are outside the basin of attraction. Thus the knowledge about equilibrium points does not help in their localization (Jafari and Sprott 2013).

In the next section, we present complex dynamics of the memristive system with infinite equilibria (4).

Fig. 1
figure 1

2–D projection of the hyperchaotic memristive system with an infinite number of equilibrium points (4) in the (xy)–plane

Fig. 2
figure 2

2–D projection of the hyperchaotic memristive system with an infinite number of equilibrium points (4) in the (xz)–plane

3 Dynamics of the Memristive System

When choosing the parameter \( a = 5 \) and the initial condition

$$\begin{aligned} \left( {x\left( 0 \right) ,y\left( 0 \right) ,z\left( 0 \right) ,w\left( 0 \right) } \right) = \left( {0,0.01,0.01,0} \right) , \end{aligned}$$
(10)

the calculated Lyapunov exponents of system (4) are

$$\begin{aligned} {L_1} = 0.1364,\;{L_2} = 0.0071,\;{L_3} = 0,\;{L_4} = - 10.8584. \end{aligned}$$
(11)

Therefore, system (4) is a four–dimensional hyperchaotic system because there are two positive Lyapunov exponents, one zero and one negative Lyapunov exponent. Figures 1, 2, 3 and 4 display 2–D projections of the hyperchaotic attractors with an infinite number of equilibrium points.

It has been known that the Kaplan–Yorke fractional dimension presenting the complexity of attractor is given by

$$\begin{aligned} {D_{KY}} = j + \frac{1}{{\left| {{L_{j + 1}}} \right| }}\sum \limits _{i = 1}^j {{L_i},} \end{aligned}$$
(12)

where j is the largest integer satisfying \( \sum \nolimits _{i = 1}^j {{L_i} \ge 0} \) and \( \sum \nolimits _{i = 1}^{j + 1} {{L_i} < 0} \). The calculated Kaplan–Yorke fractional dimension of system (4) for \(a = 5\) is

$$\begin{aligned} {D_{KY}} = 3 + \frac{{{L_1} + {L_2} + {L_3}}}{{\left| {{L_4}} \right| }} = 3.0132, \end{aligned}$$
(13)

which indicated a strange attractor. Poincaré maps of system (4) are also illustrated in Figs. 5, 6 and 7. As can be seen from the Poincaré maps, the memristive system (4) has complex dynamics.

Fig. 3
figure 3

2–D projection of the hyperchaotic memristive system with an infinite number of equilibrium points (4) in the (yz)–plane

Fig. 4
figure 4

2–D projection of the hyperchaotic memristive system with an infinite number of equilibrium points (4) in the (xw)–plane

Fig. 5
figure 5

Poincaré map of the hyperchaotic memristive system with an infinite number of equilibrium points (4) in the (xy)–plane

Fig. 6
figure 6

Poincaré map of the hyperchaotic memristive system with an infinite number of equilibrium points (4) in the (xz)–plane

Fig. 7
figure 7

Poincaré map of the hyperchaotic memristive system with an infinite number of equilibrium points (4) in the (yz)–plane

We discover detail dynamics of system (4) by using bifurcation diagram and Lyapunov exponents. The bifurcation diagram of the variable z and the corresponding Lyapunov exponents are reported in Figs. 8, 9 and 10. The system (4) performs periodic state, chaos, and hyperchaos when varying the parameter a from 1 to 6. The system displays limit cycle for \( a \in \left[ {1,1.46} \right] \), [1.5, 1.96], [2.48, 2.88]. For example, periodical states of system (4) for \( a = 2.6\) are presented in Figs. 11, 12, 13 and 14. Chaotic behavior can be observed for \( a \in \left[ {3.06,3.34} \right] \), (4.66, 4.78). The system can exhibits hyperchaotic behavior for \( a \in \left[ {4.08,4.66} \right] \), [4.78, 6].

Fig. 8
figure 8

Bifurcation diagram of the hyperchaotic memristive system with an infinite number of equilibrium points (4) when changing the parameter a

Fig. 9
figure 9

Two largest Lyanpunov exponents of the hyperchaotic memristive system with an infinite number of equilibrium points (4) when varying the parameter a

Fig. 10
figure 10

Three largest Lyanpunov exponents of the hyperchaotic memristive system with an infinite number of equilibrium points (4) when varying the parameter a

Fig. 11
figure 11

Limit cycle of the hyperchaotic memristive system with an infinite number of equilibrium points (4) in the (xy)–plane for \( a= 2.6 \)

Fig. 12
figure 12

Limit cycle of the hyperchaotic memristive system with an infinite number of equilibrium points (4) in the (xz)–plane for \( a= 2.6 \)

Fig. 13
figure 13

Limit cycle of the hyperchaotic memristive system with an infinite number of equilibrium points (4) in the (xw)–plane for \( a= 2.6 \)

Fig. 14
figure 14

Limit cycle of the hyperchaotic memristive system with an infinite number of equilibrium points (4) in the (yz)–plane for \( a= 2.6 \)

4 Application of the Proposed System

Nowadays, digital image information has become popular in the world because of the rapid development of Internet. In many applications such as military images, online personal photographs, or fingerprint images of authentication systems, it has to meet the requirements of safety and security (Volos et al. 2013). Therefore, numerous encryption techniques, especially chaos–based encryption, have been proposed and implemented (Liao et al. 2010; Matthews 1989; Seyedzadeh et al. 2012; Tong and Cui 2009; Wang et al. 2012; Yeung and Pankanti 2000; Zhang et al. 2005).

In this section, we use the encryption scheme suggested by Gao and Chen (Gao and Chen 2008) to illustrate a possible application of the proposed memristive system. We consider a plain–image with the dimension \( N \times M \). The position matrix of pixels, which presents the grey value of the image is denoted as \( {P_{i,j}}\left( I \right) \).

The encryption includes two steps as illustrated in Fig. 15.

Fig. 15
figure 15

Block diagram of the encryption scheme including two steps. The first step is based on a chaotic map while the second step is based on a hyperchaotic system

Step 1: The main purpose of the step 1 is to shuffle the position of the plain image. This step is based on a chaotic map (Gao and Chen 2008).

Firstly, we do some iterations based on the Logistic map

$$\begin{aligned} {x_{n + 1}} = 4{x_n}\left( {1 - {x_n}} \right) , \end{aligned}$$
(14)

to get a new value \(x_0\). Then we calculate a value of h:

$$\begin{aligned} h = \mathrm{{mod}}\left( {{x_0} \times {{10}^{14}},M} \right) , \end{aligned}$$
(15)

in which the function mod(.) returns the remainder after division.

Secondly, we obtain M different data by repeating (15). These obtained data are reordered in \( \left\{ {{h_i},\;i = 1,2, \ldots , M} \right\} \) where \( {h_i} \ne {h_j} \) if \( i \ne j\). Then the rows of position matrix \(P_{i,j}\) are rearranged by using \( \left\{ {{h_i},\;i = 1,2, \ldots , M} \right\} \). In other words, we create a new image position matrix \( P_{i,j}^h \) based on row transformation. After that we shuffle the column position of the image for every row of the new position matrix \( P_{i,j}^h \) with the same approach.

Thirdly, we do the iteration of Logistic map to calculate the value of l by using:

$$\begin{aligned} l = \mathrm{{mod}}\left( {{x_0} \times {{10}^{14}},N} \right) . \end{aligned}$$
(16)

Fourthly, we repeat the iteration of Logistic map and (16) to get N different data. These data are reordered in \( \left\{ {{l_i},\;i = 1,2, \ldots , N} \right\} \) where \( {l_i} \ne {l_j} \) if \( i \ne j\). Next the data of every column of position matrix \( P_{i,j}^h \) are rearranged by using \(\left\{ {{l_i},\;i = 1,2, \ldots , N} \right\} \). In other words, we create a new column transformation of the first row of image position matrix \( P_{i,j}^{hl} \).

Finally, by completing the column transformation for all rows, an image total shuffling matrix \( P_{i,j}^{hl} \) is derived.

Step 2: The main purpose of the step 2 is to encrypt the shuffled image. This step is based on a hyperchaotic system (Gao and Chen 2008).

Firstly, we iterate the hyperchaotic memristive system (4) for \(N_0\) times by applying the Runge–Kutta algorithm to eliminate the effect of transient procedure.

Secondly, we iterate the hyperchaotic memristive system (4) to get four state variables x, y, z, and w at the \(N_0\) time. Four corresponding decimal fractions x, y, z, w are generated as

$$\begin{aligned} x = \mathrm{{mod}}\left( {\left( {\mathrm{{abs}}\left( x \right) - \mathrm{{floor}}\left( {\mathrm{{abs}}\left( x \right) } \right) } \right) \times {{10}^{14}},256} \right) , \end{aligned}$$
(17)
$$\begin{aligned} y = \mathrm{{mod}}\left( {\left( {\mathrm{{abs}}\left( y \right) - \mathrm{{floor}}\left( {\mathrm{{abs}}\left( y \right) } \right) } \right) \times {{10}^{14}},256} \right) , \end{aligned}$$
(18)
$$\begin{aligned} z = \mathrm{{mod}}\left( {\left( {\mathrm{{abs}}\left( z \right) - \mathrm{{floor}}\left( {\mathrm{{abs}}\left( z \right) } \right) } \right) \times {{10}^{14}},256} \right) , \end{aligned}$$
(19)
$$\begin{aligned} w = \mathrm{{mod}}\left( {\left( {\mathrm{{abs}}\left( w \right) - \mathrm{{floor}}\left( {\mathrm{{abs}}\left( w \right) } \right) } \right) \times {{10}^{14}}, 256} \right) , \end{aligned}$$
(20)

where abs(.) is the absolute function while the function floor(.) calculates the nearest integer.

Thirdly, the new serial numbers X, Y, Z, W are given by

$$\begin{aligned} X = \mathrm{{mod}}\left( {x, 4} \right) , \end{aligned}$$
(21)
$$\begin{aligned} Y = \mathrm{{mod}}\left( {y, 4} \right) , \end{aligned}$$
(22)
$$\begin{aligned} Z = \mathrm{{mod}}\left( {z, 4} \right) , \end{aligned}$$
(23)
$$\begin{aligned} W = \mathrm{{mod}}\left( {w, 4} \right) . \end{aligned}$$
(24)

Depending on the values of these new serial numbers, there are corresponding groups of states \((B_1,B_2,B_3)\) to perform encryption. For instance, the combination of states \((B_1,B_2,B_3)\) are (xyz), (xyw), (xzw), and (yzw) for the serial numbers 0, 1, 2, and 3, respectively. Then we apply the XOR operation between three bytes of the image total shuffling matrix \( P_{i,j}^{hl} \) and three bytes of the selected group of three states as follows

$$\begin{aligned} \left\{ \begin{array}{l} {C_{3 \times \left( {i - 1} \right) + 1}} = {P_{3 \times \left( {i - 1} \right) + 1}} \oplus {B_1}\\ {C_{3 \times \left( {i - 1} \right) + 2}} = {P_{3 \times \left( {i - 1} \right) + 2}} \oplus {B_2}\\ {C_{3 \times \left( {i - 1} \right) + 3}} = {P_{3 \times \left( {i - 1} \right) + 3}} \oplus {B_3}, \end{array} \right. \end{aligned}$$
(25)

in which \(P_j\) and \(C_j\), \( j = 1,2, \ldots , N \times M \) indicate the pixels of the plain shuffled image and the ciphered image.

Finally, we continue doing the encryption until the whole image is encrypted.

We have applied the image encryption scheme to the plain–image with the size \( 256 \times 256 \) (Fig. 16). We assume that the secret key is

$$\begin{aligned} \left( {x\left( 0 \right) ,y\left( 0 \right) ,z\left( 0 \right) ,w\left( 0 \right) ,{N_0}} \right) = \left( {0,0.01,0.01,0,3000} \right) . \end{aligned}$$
(26)

The encrypted image is obtained as illustrated in Fig. 17 while the decrypted image is shown in Fig. 18.

Fig. 16
figure 16

Presentation of the plain image

Fig. 17
figure 17

Presentation of the encrypted image

Fig. 18
figure 18

Presentation of the decrypted image

5 Security Analysis

In this section, we consider the security of the image encryption scheme.

5.1 Key Space Analysis

Secret keys in the encryption scheme are the initial values of chaotic map and the hyperchaotic memristive system, as well as the systems’ parameter values. In addition, secret keys can include the iteration number \(N_0\). Thus, the key space is enough large to resist brute–force attacks.

5.2 Key Sensitivity

An intruder, who does not know the secret key, cannot recover the original plain image. In order to show the sensitivity of the encryption scheme to the secret key, we take an example where the intruder decrypts the encrypted image in Fig. 17 with the following secret key:

$$\begin{aligned} \left( {x\left( 0 \right) ,y\left( 0 \right) ,z\left( 0 \right) ,w\left( 0 \right) ,{N_0}} \right) = \left( {0,0.01,0.01,{{10}^{ - 6}},3000} \right) . \end{aligned}$$
(27)

The failure of recovering the plain image by the intruder is illustrated in Fig. 19.

Fig. 19
figure 19

The recovered image by an intruder

5.3 Histogram Analysis

As have been known, two methods preventing the statistical attacks are the diffusion and confusion Shannon (1949). The histograms of the plain–image and the encrypted image are presented in Figs. 20, 21. It is easy to see that the histogram of the ciphered image is different from one of the plain–image. The histogram of the ciphered image has a uniform distribution which indicates the security of the encryption scheme from a statistical attack.

Fig. 20
figure 20

Histogram of the plain image

Fig. 21
figure 21

Histogram of the encrypted image

5.4 Information Entropy

The entropy of a source is defined by

$$\begin{aligned} E\left( S \right) = - \sum \limits _{i = 0}^{N - 1} {p\left( {{s_i}} \right) {{\log }_2}} \left( {p\left( {{s_i}} \right) } \right) , \end{aligned}$$
(28)

with \( p\left( {{s_i}} \right) \) is the possibility of appearance of the symbol \(s_i\). Therefore, the information entropy of an image indicates the distribution of the gray scale values. The information entropy is much bigger when the distribution is much uniform. The calculated information entropy of the encrypted image is 7.9965. It is higher than the information entropy of the plain image (7.4888). The higher information entropy of the encrypted image presents the safety of the encryption scheme from an entropy attack (Volos et al. 2013).

6 Conclusion

In this chapter, a dynamical system with a memristive device has been studied. The system has many special features such as hyperchaos, a infinite number of equilibrium points, and hidden attractors due to the presence of the memristive device. Fundamental dynamical behaviors of the memristive system are discovered through calculating equilibrium points, phase portraits of hyperchaotic attractors, Poincaré maps, bifurcation diagram, Lyapunov exponents and Kaplan–Yorke dimension. The memristive system can be used in potential applications in secure communications and cryptography because of its complex behavior. In particular, we have implemented an image encryption scheme based on the hyperchaotic memristive system. In addition, security analysis of image encryption scheme are discussed. Further studies related to applications of this system will be presented in our future works.