1. Introduction
Several works related to the PRNG design have been proposed; for example, there are strategies that implement PRNGs using linear feedback shift registers (LFSR) [
1,
2,
3,
4,
5], while other strategies are based on block cipher [
6], stream cipher [
7], quantum walks [
8], cellular automata [
9,
10], chaotic oscillators and artificial neural networks (ANN) [
11], or chaotic maps [
12,
13,
14,
15]. There are also PRNG design approaches that combine several of the above strategies [
16]. Considering this context, we focus our research on PRNGs based on chaotic maps.
Chaotic maps are iterated functions that use an initial seed to produce non-linear sequences of numbers; these sequences when translated into binary sequences can generate random-looking and highly unpredictable numbers to be used in cryptography. Chaotic maps have high sensitivity to initial conditions when operating with their parameters inside specific domains, which can be determined. In these parameter domains the chaotic maps can operate as pseudorandom or aperiodic systems, but outside those parameter domains they can operate as periodic systems or their trajectories may also escape to infinity [
17]. It may also happen that several chaotic repellers coexist in the chaotic system [
18], and the trajectories move chaotically for a while before escaping and reaching another chaotic repeller [
19,
20]. Under these considerations, the behavior option can be selected from their control parameters [
14]. In addition, when the chaotic maps are used in cryptographic applications, several drawbacks become evident, such as range discontinuity and non-uniform statistical distribution of the generated number sequences, as well as the small seed space [
21]. Despite this, we cannot forget that there is a natural application relationship between chaos and cryptography. The main features of the chaotic systems, such as the sensitive dependence on initial conditions and control parameters, ergodicity, size of the parameter space, and mixing property, can be related to the confusion and diffusion conditions that must be applied to information to be protected by using cryptographic systems [
22]. Therefore, many cryptographic systems and modules have been proposed based on chaotic systems [
22,
23,
24,
25,
26,
27,
28,
29,
30,
31,
32,
33]. In particular, chaotic maps have been successfully applied in the implementation of PRNGs [
14,
15,
31,
34,
35,
36,
37,
38,
39,
40,
41,
42].
In this way, the chaotic maps have inherent features that fully match with the practical implementation requirements of the PRNGs. The first proposal for a PRNG based on chaotic maps was developed in 1982 by Oishi and Inoue [
43]. Later, Gonzalez and Pino in 1999 generalized the logistic map and designed a random function [
44]. Stojanovski et al. in 2001 analyzed the application of a piecewise-linear chaotic map as PRNG [
45,
46]; and in the same year, Li et al. [
47] performed an analysis suggesting that a couple,
, of two piecewise-linear chaotic maps
and
has perfect cryptographic properties if it satisfies four requirements when used to build high-security stream ciphers. The requirements defined by Li et al. [
47] for one-dimensional chaotic maps are: (R1 ) Piecewise-linear chaotic maps should be surjective maps on a same interval (a, b), (R2) Piecewise-linear chaotic maps should be ergodic on (a, b) with unique invariant density functions, (R3) Invariant density functions of the piecewise-linear chaotic maps should be equal to each other, and (R4) Chaotic orbit produced by one the piecewise-linear chaotic maps should be asymptotically independent to the chaotic orbit produced by the other map when the length of the chaotic orbits tends to be infinite.
After the work developed by Li et al. [
47], many other researchers proposed PRNGs based on chaotic maps using different approaches [
12,
13,
14,
15,
31,
34,
35,
36,
37,
38,
39,
40,
41,
42,
48]. In this extensive variety of proffers, several implementations were identified with security disadvantages attributed to one or more of the following features: non-uniform statistical distribution [
49], digital degradation [
50] and predictability [
51] of the produced number sequences, as well as the small-sized seed space of the chaotic map [
21]. In this context, other authors have proposed alternative solutions to counteract the exposed disadvantages. For example, in 2016, Wang et al. [
52] compared cryptographically useful properties of piecewise-linear maps (ergodicity, Lyapunov exponent and bifurcation) to properties of logistic map and, in order to overcome the disadvantages of the logistic map used in designs of chaos-based ciphers, they proposed a PRNG based on the piecewise-logistic map. In that proffer, Wang et al. claim that their PRNG achieves a trade-off between efficiency and security. However, in 2019, Lambić [
53] analyzed the security of PRNG based on the piecewise-logistic map showing that it can be violated by using brute-force and known output sequence attacks. And then, also in 2019, Wang et al. [
49] proposed a four-dimensional chaotic model based on a piecewise-logistic map with coupled parameters, but they just tried to overcome the fact that the statistical distribution of the piecewise-logistic map is non-uniform. Another example showing a solution to overcome the security disadvantages revealed for PRNGs based on chaotic maps is the work proposed by Zhou et al. [
54] in 2016. Zhou et al. proposed a secret key generation algorithm based in operations in the YUV color space that combines two secret keys to produce the initial conditions required in the chaotic maps used in the encryption processes. In the attempt to strengthen their encryption system against differential attacks, Zhou et al. used a cubic map and a wavelet map to produce pseudorandom number sequences. Although Zhou et al. considered these maps to be highly sensitive to initial conditions, they did not perform a formal sensitivity analysis. Also, in 2021, Shi and Deng [
55] when studying the dynamical degradation of the two-dimensional Barker map they found that this chaotic map can have valuable properties when it is used in a PRNG. Another example showing the application of strategies to overcome security disadvantages in PRNGs based on chaotic maps is the work proposed by Murillo-Escobar et al. in 2017 [
36]. Since under the premise that low-dimensional chaotic systems may become more used than high-dimensional chaotic systems to produce the pseudorandom key stream used for encryption purposes, Murillo-Escobar et al. [
36] proposed a PRNG based on the pseudorandomly enhanced logistic map, claiming that the produced number sequences have excellent statistical properties to cryptography applications. Although Murillo-Escobar et al. specified that the parameter domain for pseudorandomly enhanced logistic map is limited to (3.999, 4.0), they scaled and discretized the output of the chaotic map by applying
mod 1 to it when 1 × 10
is the scaling factor. With this scaling factor, they intended a uniform statistical distribution of the generated number sequences. Also, although Murillo-Escobar et al. [
36] claim to avoid weak keys in their PRNG, we emphasize that they did not identify which conditions cause the chaotic map to produce weak keys in order to avoid them. A last example related to overcome the security disadvantages of the PRNGs based on chaotic maps is the work proposed by Chen et al. in 2019 [
50]. Chen et al. [
50] proposed a method to counteract the dynamical degradation of the digital sequences produced by using a chaotic system when it is implemented on low–precision devices; in that condition, all the produced sequences could be periodic sequences. In this way, the method proposed by Chen et al. [
50] was based on a dynamical strategy to perturb a digital chaotic system by using pseudorandom sequences produced by a two–dimensional sine chaotic map with control parameters
a and
b. They specify
1 and
5 so that the map has a chaotic behavior, but they do not perform an analysis of the opportunities that exist to generate chaos, nor of the chaos annulling conditions in the chaotic system. Additionally, Chen et al. [
50] showed two experiments in order to test effectiveness of their method to counteract the dynamical degradation of digital chaotic sequence. In the first experiment they selected the logistic map to represent the one–dimensional chaotic maps. In the second experiment, they selected the two-dimensional logistic cascade hyperchaotic map to represent the high-dimensional chaotic maps. In this way, Chen et al. [
50] demonstrated the effectiveness of their method considering the linear complexity, correlation, and statistical distribution.
Therefore, although efforts are being made to overcome the security disadvantages of implementing PRNGs based on chaotic maps, there are still PRNGs based on chaotic maps that have security shortcomings. For example, some chaotic maps have stability islands within the parameter domains for chaotic behavior, adversely affecting the system security, other chaotic maps produce number sequences with non-uniform statistical distribution, and other chaotic maps only work by using a limited size of initial conditions space [
15,
53]. Therefore, to safely use a PRNG based on chaotic maps, we must carefully select the initial conditions ensuring that the map will always produce pseudorandom sequences with uniform statistical distribution and it will operate into the parameter domains for chaotic behavior avoiding the annulling chaos conditions; and when the chaotic system is implemented electronically, the dynamic degradation of the digital sequences must be considered.
Focusing specifically on PRNGs based on a single chaotic map, the most commonly used systems to generate pseudorandom number sequences are one-dimensional (1-D) chaotic maps, and although they have security disadvantages when used in cryptography, they are commonly used due to their structural simplicity, discrete nature, reduced number of arithmetic operations, high performance processing, and relatively easy implementation in hardware and software. It is worth noting that the 1-D chaotic maps can be attacked using the non-linear prediction method based on phase space reconstruction. In fact, in 1994 Short [
51] proposed a method that can attack almost all 1-D chaotic maps and, therefore, many authors of works related to chaos–based PRNGs tend to conclude that it is more appropriate to use high–dimensional (H-D) chaotic systems rather than low–dimensional (L-D) chaotic systems to build PRNGs. It should be also noted that Short indicated in [
51] that the details of their nonlinear prediction method is in a work submitted to the
Int. J. Bifurcations and Chaos since 1993, but it was not published. Instead of that work, there is another work published in 1997 by Short [
56] that applies the non-linear dynamic prediction to extract, in the time domain, faithful representations of hidden message signals transmitted by chaotic communication systems. Short’s experiments are based on two fundamental facts. The first fact is that two systems (transmitter and receiver) implemented to reproduce the dynamic of a chaotic system can be synchronized without transmitting information related to their initial state. The second fact was that the ability of the receiver to synchronize with the transmitter is not affected by the addition of a low-powered message on the chaotic carrier. This means that, once synchronization is achieved, the chaotic carrier can be removed to reveal the message.
In this way, considering that H-D chaotic maps are difficult to implement, 1-D chaotic maps have been the most used in different applications [
14,
15,
57], but in order to avoid their security weaknesses the following issues must be considered: (i) existence in the chaotic map of chaos annulling conditions, which are not identified and therefore are not avoided, (ii) a high degradation rate of the dynamic behavior when digital maps are used as quantization functions to approximate the true chaotic maps, (iii) low complexity of the chaotic map, (iv) strong correlation between the data set and the number sequences produced by the chaotic map, and (v) non-uniform statistical distribution of the number sequences produced by the chaotic map.
Thus, PRNGs based on a single chaotic system are potentially insecure systems since the produced number sequences expose information related to the initial condition of the chaotic system. In such case, an intruder can be able to decrease the computational complexity to find that initial condition. However, in order to avoid this condition PRNGs based on a single chaotic system, the following approaches should be used: higher finite precision [
47,
58], methods reducing the dynamical degradation of digital sequences [
50], cascading multiple chaotic systems [
47,
59,
60,
61], combining chaotic maps by using modular operations [
62,
63], and coupled chaotic systems [
64,
65,
66]. In this way, it is more difficult to obtain information about the initial condition of the system, since the number sequences it produces will be determined by different conditions, configurations, and mixed chaotic orbits.
Under these considerations, we propose and analyze a function composition (FC) that couple the sine function and skew tent map (STM) to include three FCs as core in a PRNG. In this way, we also propose a PRNG that uses three modular operations to increase the precision in the scaling and discretizing procedures used to translate the real number sequences produced by FCs to binary number sequences, and it uses a modular operation to combine the pseudorandom binary sequences. Through this strategy we overcome the disadvantages of using a single chaotic system. To guarantee the effectiveness of the FC during the operation of the proposed PRNG, we avoid in each FC the chaos annulling conditions; and in order to evaluate the proposed PRNG, the following tests have been considered: correlation coefficient, key sensitivity, entropy analysis, statistical analysis, linear complexity, key space analysis, pseudorandomness, and speed analysis. It is important to emphasize that in this work, we use the word key of the PRNG to identify what other authors call the seed or initial condition of the PRNG.
The rest of the paper is organized as follows.
Section 2 shows the definition, the sensitivity analysis, and a basic sensitivity test of the FC.
Section 3 provides design details of the proposed PRNG.
Section 4 shows the results of performance tests applied to the number sequences produced by the proposed PRNG. Finally,
Section 6 is devoted to conclusions.
3. The Proposed PRNG
Considering the approaches necessary to increase the complexity and to avoid the insecurity conditions of the PRNGs based on single chaotic maps, and assuming that the proposed PRNG is implemented in a computer, we use the highest finite precision [
47,
58], cascading chaotic maps [
47,
59,
60,
61], combining chaotic maps by using modular operation [
62,
63], and using a function composition from chaotic maps [
64,
65,
66]. It is worth noting that, considering recent technological advances, it would be interesting to address the possibility that the PRNGs based on chaotic maps can be implemented in microfluidic lab-on-a-chip devices [
76,
77,
78,
79]. The microfluidic technology is characterized by its advantages of miniaturization, integration and automation. It has enabled the development of universal computing based on two-phase microfluidics, and it is named
bubble logic because the bubbles in a microfluidic device can carry process control information similar to what happens in a microprocessor, while performing chemical reactions [
80,
81,
82].
Resuming the strategies mentioned to increase the complexity and to avoid the insecurity conditions of the PRNGs based on single chaotic maps, the cryptanalysis will be more difficult for the proposed PRNG, since the output sequences will be determined by many different mixed chaotic orbits. We emphasize that all mathematical operations included in the proposed PRNG have been performed considering double precision arithmetic and floating-point representation for the real numbers. In addition, we do not apply scaling or discretization processes to the functions used, rather we use them in their original form by using double precision arithmetic for the calculations. Thus, the final output of the proposed PRNG converted to 8-bit, 16-bit, and 32-bit integers, depending on the configuration used. It is worth noting that with a computer and any arithmetic, we can not produce chaos; the use of a computer leads to the degradation of the chaotic dynamics [
83].
Thus, the proposed PRNG includes three chaotic maps produced by the function composition from the sine function and the skew tent map. It consists of three blocks: (i)
RCMb- Block of the robust chaotic maps, which includes three FCs, each one using different values for
,
and
.
RCMb receives the key
K of the PRNG as input, and it produces three output sequences; in this case,
K is a word constituted by the concatenation of
and
with
1, 2 and 3, and the values for the initial conditions
,
, and
; and each one of the three output sequences is a chaotic sequence of real numbers produced by each chaotic map. (ii)
Tb- Block to translate real number sequences into integer number sequences, and it includes three functions with a single input and a single output. Finally, (iii)
MSb- Block sum module
, which has three inputs and a single output that represents the output of the proposed PRNG, where
bits can be 8, 16 or 32. As previously expressed, and considering
Figure 10, we define the following steps to generate a pseudorandom number sequence with uniform distribution and good statistical properties.
Assuming that
RCMb includes three FCs, from
k, we produce three pseudorandom sequences of real numbers:
,
and
=
, with
1, 2, 3, .... Note in
Figure 10 that
K is constituted from the concatenation of
and
with
1, 2 and 3, and the values for the initial conditions
,
, and
required in the chaotic maps.
In RCMb, from , and , three new pseudorandom sequences are produced and, for this, in each FC, the results of 1000 iterations are discarded to eliminate the transient values produced in the beginning by the chaotic maps. In this way, the final chaotic sequences are , , , and , , respectively, where 1, 2, 3, ....
Using Tb, the pseudorandom sequences , , and are translated from domain of real numbers to domain integer numbers of 8, 16 or 32 bits, producing , and , respectively. This action is performed by using , where is i- integer number of X, and it is produced from , which is i- real number of x; in this case, we considerate that or 32 and u = 14.
By using , from X, Y, and Z, MSb produces the pseudorandom sequence, , of integer numbers with 8, 16 or 32 bits.
Note in step 3, that influences on the range for ; that is, (0, ) and is a scaling factor that translates the real numbers (0, ) to real numbers in (0, ). Therefore, considering that ≪, the function redistributes on the interval (0, ) the new sequence of numbers that had been rescaled from the sequence of numbers to (0, ).
5. Comparison Results
The efficiency of the proposed PRNG is compared with similar PRNGs based on chaotic maps. In this section, we focus on four tests: Correlation coefficient, Key sensitivity using correlation coefficient and variance ratio, key space and running speed. For this section three PRNGs were selected: (i) 32-bit PRNG proposed by Zhang et al. [
91], (ii) 8-bit PRNG proposed by Huang et al. [
40] and (iii) 8-bit PRNG proposed by Liu et al. [
92]. We performed experiments on equal terms to the considered PRNGs for comparison with similar works. The comparison tests were developed using a C language compiler (MinGW) on an Intel Core i7-4800MQ CPU-2.70GHz and 24G RAM. Then, to determine the correlation coefficient we generate 6000 number sequences of 12000 numbers with different keys. The correlation coefficient obtained was within [−0.032, 0.029], while for the PRNG reported by Zhang et al. the correlation coefficient was within [−0.035, 0.035]. Regarding the key sensitivity, four sets of keys with a single bit difference between them were defined, then four number sequences of 12,000 numbers were generated. Finally, we obtain the difference between the sequences by applying the correlation coefficient and calculate the average to obtain the value shown in the
Table 7. Note that the key sensitivity obtained for the proposed PRNG is slightly lower than the key sensitivity reported by Zhang et al. [
91]. It is worth noting that the key space of the proposed PRNG considers double precision for 64-bit numbers, which is considered a great advantage over the PRNG developed by Zhang et al. [
91]. Regarding the speed running test, Zhang et al. use an Intel Core i7-10710U CPU and 16GB RAM. The algorithms were implemented in Visual Studio 2019 using C++, it can be observed that the PRNG proposed by Zhang et al. [
91] has a high speed with respect to the proposed PRNG. However, the different architectures under which the tests were carried out could affect the measurements.
In the second part of this section, the tests were performed when the proposed PRNG is set to 8-bit and only three tests are considered: key sensitivity, key space and running speed. Considering that the proposed PRNG has a high sensitivity to key changes, we performed the key sensitivity test using two different sequences generated by using two keys:
and
, where
. Then, we calculated the variance ratio (
D) [
40,
92] between the two binary sequences with size
resulting
%, which is similar to results reported by Liu et al. [
92] and Huang et al. [
40]. On the other hand, the proposed PRNG has a key space larger than the PRNG proposed by Liu et al., but its key space is similar to the PRNG proposed by Huang et al. [
40]. Finally, the running speed of the proposed PRNG is similar to running speed of the PRNG proposed by Zhang et al. [
91]. It is woth noting that each author performs the tests with different equipment. For example, Liu et al. [
92] used a computer with 3.3 GHz CPU and 4GB RAM, but they do not indicate the used programming language. Huang et al. [
40] used a computer with 3.3 GHz CPU, 4GB RAM, and MATLAB 2014R. Note in
Table 7 that the proposed PRNG has a competitive performance when it is configured for 8 and 32 bits, and when compared against the PRNGs proposed by Zhang et al. [
91], Huang et al. [
40], and Liu et al. [
92].
Table 7 does not include information comparison for the 16-bit configuration because we do not find similar PRNGs with 16-bit configurations, which could be used in the comparison.
6. Conclusions
This work contributes to the design of PRNGs based on chaotic maps. In this case, we introduce a function composition (FC), which couples the sine function and the skew tent map to produce pseudorandom number sequences. We analyze the behavior of the chaotic maps by using the bifurcation diagram and Lyapunov exponent, and identifying the chaos annulling conditions and stability islands. In the FC, the Lyapunov exponent is positive when the control is in () and then it can be used in the implementation of a PRNG. Using three FCs, the proposed PRNG has a large key space, it produces pseudorandom sequences with good statistical features and it has robust sensitivity to key changes. Ideally, the key space of the proposed PRNG is , and in a modest case it can be . Similarly, the strategy used to translate real numbers sequences into 8, 16 or 32-bit integer number sequences does not affect the behavior of the used chaotic maps. This does not exclude the possibility of having different behaviors due to precision errors in the representation of real numbers and arithmetic operations. Therefore, in this work we consider using the highest precision available when implemented on a computer or digital electonic device. In this regard, it would be interesting to research the possibility of implementing the proposed chaotic maps by using microfluidic-based processors and circuits. On the other hand, in this work, we prove that the proposed PRNG can produce uniformly distributed number sequences when the annulling chaos conditions are identified and avoided. Further, the number sequences generated by the proposed PRNG were evaluated by the following set of tests: correlation coefficient, key sensitivity, statistical analysis, entropy, linear complexity, and pseudorandomness. Additionally, we estimate the key space and the execution time when the proposed PRNG was programmed in C Language and electronically implemented on low-resources devices; notably, in all tests the proposed PRNG had a good performance. We especially emphasize that the proposed PRNG has a very high linear complexity when evaluated using the Berlekamp-Massey algorithm avoiding the problems presented by PRNGs based on a single chaotic map. Also, the proposed PRNG can be configured to generate pseudorandom 8, 16 or 32-bits numbers, so it can be implemented in microcontrollers of different architectures. Note that the proposed PRNG is two times faster than the algorithms proposed by Huang et al. and Li et al., but is three times slower than the algorithm proposed by Zhang et al. when it is configured for 32 bits, since the algorithm proposed by Zhang et al. was computationally improved. In the key sensitivity test we considered two approaches: variance ration and correlation coefficient. Note that variance ratio is very close to 50%, which is similar to the results reported by Huang et al. and Li et al. Similarly, the correlation coefficient is very close to zero, which is similar to results reported by Zhang et al. Respecting to the pseudorandomness of the number sequences, we highlighted that the proposed PRNG configured for 8, 16 or 32 bits passes all tests of the NIST SP 800-22 suite considering and binary sequences, where each sequence has numbers. For the TestU01 suite, we consider the BigCrush level, Alphabit and Rabbit tests. Note that the proposed PRNG configured for 8, 16 or 32 bits passes all tests. Consequently, based on the various tests performed the proposed PRNG generates pseudorandom sequences with good statistical properties when is configured for 8, 16 or 32 bits. It is important to mention that a strict security analysis to determine whether the proposed PRNG is cryptographically secure is not included in this work. This issue is not in the scope of this work. But the results obtained for linear complexity give a good indication that the proposed PRNG is secure. However, despite the analysis we present about key space and linear complexity, we recommend performing a strict cryptographic security analysis of the proposed PRNG before it can be used in cryptography and/or security applications. Note that the confirmation of compliance with the Shujun’s requirements is not included in the scope of this work. This is because we do not propose the use of a single one-dimensional chaotic map, rather we propose a function composition, which couples the chaotic tent map and the sine function. Furthermore, we recommend that if the proposed PRNG is used in stream ciphers, the Shujun’s requirements should be verified. Finally, we have to remark that it could be of interest to research chaotic maps that can be implemented in microfluidic-based processors and circuits.