In order to improve various problems in the one-dimensional Logistic mapping mentioned above, this paper is based on the research of segmented Logistic mapping and combines the initial value change and the control parameter change scheme in the iterative process to improve the segmented Logistic mapping. Under the influence of the finite precision effect of the computer, the nonlinear dynamic characteristic degradation problem and the short-cycle problem can be effectively controlled.
Segmented Logistic mapping
For the chaotic sequence iterated by the traditional one-dimensional Logistic mapping cannot be randomly and uniformly distributed throughout the value interval, a segmented Logistic mapping is used instead of the traditional one-dimensional Logistic mapping. Its mathematical expression is [17]:
$$x_{{n + 1}} = \left\{ {\begin{array}{*{20}l} {4\mu (0.25 - x_{n} )^{2} ,} & {x_{n} \in (0,0.5]} \\ {1 - 4\mu (0.75 - x_{n} )^{2} ,} & {x_{n} \in (0.5,1)} \\ \end{array} } \right.$$
Among, \(\mu \in (0,4]\), n is the number of iterations, \(n = 0,1,2, \ldots ,x_{n} \in (0,1)\).
In order to further understand the relevant characteristics of this segmented Logistic mapping, analyze the value interval and distribution when it is in a chaotic state, use MATLAB software to simulate the experiment, and set it to generate when the initial value is \(x_{0} = 0.2\) and the number of iterations is 500. The bifurcation diagram of the iterative value distribution with the control parameters is shown in Fig. 3.
Figure 3 shows that when the control parameter \(\mu > 1.42\), the segmented Logistic mapping begins to enter the chaotic state, but the chaotic sequences are generated when the control parameter is in the range of \(\forall \mu \in (2.01,2.98) \cup (3.11,4]\) and can all be in the interval \(x \in [0,1]\). The injective state is reached within, and the ergodicity is consistently satisfied. Therefore, in order to iterate the chaotic sequence to achieve better performance, the value of the control parameter is \((2.01,2.98) \cup (3.11,4]\).
From this analysis, it can be concluded that the segmental Logistic chaotic map satisfies the parameter μ corresponding to the interval traversal of [0, 1], and the range of the desirable interval of the parameter u is larger than that of the traditional Logistic chaotic map. In addition, the segmented Logistic map enters the chaotic state after that, no matter the control parameter takes any value, the iteration sequence can be spread over the entire value interval, and the ergodicity is better.
Changes in initial value
Under the influence of the digital environment, part of the track sequence will enter a short cycle loop sequence, which will seriously affect the encryption efficiency and quality when applied to encryption. It is proposed that the initial value change is based on the extreme sensitivity of the Logistic mapping system to the initial conditions [18]. The initial conditions are constantly changed to increase the periodic change of the chaotic mapping, which makes the motion trajectory more complicated. If the value has been changed, the motion trajectory also changed. Although the iteration value will partially overlap in this case, it will not fall into the loop. Here, an m-sequence with a long period property is used as an effective method to disturb the change of the initial value.
The m-sequence is the abbreviation of the longest linear feedback shift register sequence. The linear feedback shift register LFSR is used to generate the m-sequence. Its characteristic polynomial is:
$$f(x) = c_{0} + c_{1} x + c_{2} x^{2} + \cdots + c_{n} x^{n} = \sum\limits_{{i = 0}}^{n} {c_{i} x^{i} }$$
The original polynomial needs to be obtained before generating the m sequence. The primitive polynomial is the premise of generating the m sequence. It is defined as [19]:
-
\(f(x)\) cannot be factored, and polynomials can no longer be factored;
-
\(f(x)\) divisible by \(x^{m} + 1\), where \(m = 2^{n} - 1\);
-
\(f(x)\) is not divisible by \(x^{q} + 1\), q < m;
where \(f(x)\) is the LFSR characteristic polynomial. The polynomial generated when the above conditions are true is the original polynomial. At this time, the original polynomial is an irreducible polynomial of order \(2^{n} - 1\), which is an m sequence with a maximum period of \(2^{n} - 1\). In addition, m sequence is the sequence of expression coefficients obtained by \(1/f(x)\) long division.
The m sequence {ai} obtained from the above process is XOR with the initial value x0 to obtain x0, and x0 is converted into a real number and substituted into the segmented Logistic mapping iterative equation for n times, and the obtained value is recorded as xn. In this way, the initial value of each round is changed.
Control parameter changes
In order to deal with the problem of single control parameter value and small key space, to obtain a chaotic sequence with good random performance, the method of setting the control parameter change step size is used to change the value of the control parameter at each iteration, and a fixed step size method is used to The control parameters are changed slightly, so that the control parameters take different values during each iteration to generate iterative data. The result of the iteration basically maintains unrelated characteristics with the previous iteration. The generated data are random within the range of the interval distributed.
When the control parameter \(\mu \in (2.01,2.98) \cup (3.11,4)\), the segmented Logistic mapping is in a chaotic state. During the change of the control parameter value, there are mainly three cases. When \(\mu > 4\), the value range is exceeded. Therefore, the control parameter value is cycled to the beginning of the value When \(2.98 < \mu < 3.11\), the value of the control parameter is in the window period, and the window period is not in a chaotic state, so the operation here directly assigns the value to \(\mu = 3.11\), when the control parameter is less than the minimum value of the control parameter Assign directly to the minimum value m.
Here you need to set the control parameter change step to change the value of the control parameter. The specific pseudocode of the algorithm is as follows:
Among \(x_{0} \in (0,1)\), \(\mu _{0} \in (2.01,2.98) \cup (3.11,4)\) are the initial values and initial control parameters of the segmented Logistic map, \(s = \frac{{4 - 2.01}}{n}\) is the step size of the control parameters, n is the number of iterations of the chaotic map, and \(m \in (2.01,2.01 + s)\) is the minimum value of the control parameters.
The control parameters are given different values during the iteration process, which solves the problem of a single value in each iteration. At the same time, the initial value is also dynamically changed during the iteration process, which reduces the impact of the computer's finite precision effect and short cycle Problem, expanding the key space.
Improved algorithm description
Based on the above discussion, this paper proposes an improved chaotic encryption algorithm, which uses a variable initial value and control parameters to iterate the chaotic sequence, which enhances the security and confidentiality of the algorithm. The corresponding encryption key is Key\((N,i,n,s,m)\) and contains The order of the m-sequence is N, the starting position i after the decimal point, the number of system iterations n, the control parameter change step s, and the minimum control parameter m; its structural model diagram and algorithm flow are shown in Figs. 4 and 5.
Determine the initial value x0, the control parameter \(\mu _{0}\), and the encryption key Key\((N,i,n,s,m)\), get \(x_{0}^{\prime }\) by perturbation of x0, change the small step size of the control parameter to \(\mu = \mu + s\), substitute the value of \(x_{0}^{\prime }\) and change the parameter into the mapping expression, and iterate n times to get xn; Take the 3 consecutive digits after the i decimal point of xn, convert the real value xn to the integer value M, and take the remainder of M to 256 to convert to the chaotic encrypted byte Bk in binary form; finally, the chaotic encrypted byte and The XOR encryption operation of the plaintext information bytes yields the ciphertext bytes. Determine if the encryption is complete, if not, continue.
This improved algorithm has higher security than the previous chaotic encryption algorithm. The changes in the initial value and control parameters make the generated key stream sequence more random and unpredictable, increasing the key space and enhancing the confidentiality of the algorithm.