Next Article in Journal
Comparative Evaluation of Apoptosis Induction Using Needles, Bark, and Pollen Extracts and Essential Oils of Pinus eldarica in Lung Cancer Cells
Previous Article in Journal
A New Methodological Approach to Correlate Protective and Microscopic Properties by Soft X-ray Microscopy and Solid State NMR Spectroscopy: The Case of Cusa’s Stone
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Function Composition from Sine Function and Skew Tent Map and Its Application to Pseudorandom Number Generators

by
Leonardo Palacios-Luengas
1,†,
Ricardo Marcelín-Jiménez
1,
Enrique Rodriguez-Colina
1,
Michael Pascoe-Chalke
1,
Omar Jiménez-Ramírez
2 and
Rubén Vázquez-Medina
3,*,†
1
Department of Electrical Engineering, Autonomous Metropolitan University (UAM), Iztapalapa, Mexico City 09340, Mexico
2
Instituto Politécnico Nacional, ESIME Culhuacan, Ciudad de México 04430, Mexico
3
Instituto Politécnico Nacional, CICATA, Querétaro 76090, Mexico
*
Author to whom correspondence should be addressed.
These authors contributed equally to this work.
Submission received: 27 March 2021 / Revised: 5 June 2021 / Accepted: 7 June 2021 / Published: 22 June 2021
(This article belongs to the Section Electrical, Electronics and Communications Engineering)

Abstract

:

Featured Application

A pseudorandom number generator (PRNG) emulates to a truly random number generator in an interest interval and, its pseudorandomness depends on the size of the initial conditions space and the sensitivity to these conditions. A PRNG can be implemented through diverse strategies; but in cryptography applications, a PRNG must produce aperiodic number sequences with high linear complexity and a statistical distribution close to the uniform distribution. An approach to implement PRNGs is based on chaotic maps because they have inherent features, such as their highly sensitive dependence on initial conditions and the control parameters, their topological transitivity, ergodicity, aperiodicity and pseudorandomness properties. These features fully match with the practical implementation requirements of the PRNGs. Therefore, we propose a function composition based on skew tent map (STM) and the sine function that can be an effective alternative to implement PRNGs with high computational complexity that overcome pseudorandomness test suites.

Abstract

In cryptography, the pseudorandom number sequences must have random appearance to be used in secure information systems. The skew tent map (STM) is an attractive map to produce pseudorandom sequences due to its easy implementation and the absence of stability islands when it is in chaotic behavior. Using the STM and sine function, we propose and analyze a function composition to propose a pseudorandom number generator (PRNG). In the analysis of the function composition, we use the bifurcation diagram and the Lyapunov exponent to perform a behavioral comparison against the STM. We show that the proposed function composition is more sensitive to initial conditions than the STM, and then it is a better option than the STM for cryptography applications. For the proposed function we determine and avoid the chaos annulling traps. The proposed PRNG can be configured to generate pseudorandom numbers of 8, 16 or 32 bits and it can be implemented on microcontrollers with different architectures. We evaluate the pseudorandomness of the proposed PRNG using the NIST SP 800-22 and TestU01 suites. Additionally, to evaluate its quality, we apply tests such as correlation coefficient, key sensitivity, statistical and entropy analysis, key space, linear complexity, and speed. Finally, we performed a comparison with similar PRNGs that produce pseudorandom sequences considering numbers of 8 and 32 bits. The results show that the proposed PRNG maintains its security regardless of the selected configuration. The proposed PRNG has five important features: easy implementation, configurable to produce number with 8, 16 or 32 bits, high processing speed, high linear complexity, and wide key space. These features are necessary for cryptographic systems.

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, g ( f ( x ) ) , of two piecewise-linear chaotic maps f ( x ) and g ( x ) 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 6 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 a = 1 and b = 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.

2. The Proposed Function Composition

2.1. Definition

Garasym et al. [66] proposed a PRNG based on coupled one–dimensional chaotic maps. They claim that a robust PRNG can be designed by coupling the tent and logistic maps, and the number sequences produced by that PRNG can achieve excellent pseudorandom properties and uniform statistical distribution. So, they conclude that their PRNG is suitable for chaos-based cryptography applications. Garasym et al. [66] based their proposal on the idea of combining the characteristics of the tent and logistics maps to achieve a new map with improved properties, through the combination of various network topologies. They proposed it because both logistic and tent maps have never been used in cryptography as they have weak security. Then, based on the review of the network topologies of 1–D chaotic maps presented by Garasym et al. [66], we propose a function composition (FC) from sine function and skew tent map (STM).
Thus, we define STM using the linear functions σ 1 ( μ , α , y ) = y μ and σ 2 ( μ , α , y ) = α y α μ according to Equation (1).
σ ( μ , α , y ) = α σ 1 ( μ , α , y ) 0 < y μ α σ 2 ( μ , α , y ) μ < y < α ,
The iterated version of the STM is given by Equation (2),
y n = σ n ( μ , α , y 0 ) = α σ 1 ( μ , α , y n 1 ) 0 < y n 1 μ α σ 2 ( μ , α , y n 1 ) μ < y n 1 < α ,
Then, when the function g ( x ) = s i n ( π x ) is applied in a conjugate form to σ 1 ( μ , α , y ) and σ 2 ( μ , α , y ) , in such a way that τ 1 ( · ) = g σ 1 ( · ) = g σ 1 ( μ , α , y ) and τ 2 ( · ) = g σ 2 ( · ) = g σ 2 ( μ , α , y ) , we define the FC according to Equation (3).
τ μ , α , x = α s i n π x μ 0 < x μ α s i n π α x α μ μ < x < α ,
The iterated version of the FC is given by Equation (4),
x n = τ n μ , α , x 0 = α s i n π x n 1 μ 0 < x n 1 μ α s i n π α x n 1 α μ μ < x n 1 < α ,
In both cases, n = 0, 1, 2, ... represents the iteration step, y 0 and x 0 ( 0 , α ) are the initial conditions of the chaotic maps, y n and x n are the number produced by the iteration n of each chaotic map, μ ( 0 , α ) and α R + are the control parameters of the chaotic map, and τ n ( μ , α , x 0 ) represents Equation (3) applied n times on x 0 using μ and α .
Figure 1 shows the behavior of the STM and the FC according to Equations (1) and (3), respectively. It worth noting that when μ = 0.5 α the STM is symmetric. In this case, each chaotic system is applied to the interval (0, α ), α = 3.0 , and μ = 0.0, 0.25 α , 0.50 α , 0.75 α , α .

2.2. Behavior Analysis

This section is aimed at showing the behavior analysis for the proposed chaotic maps. To such purpose, we identify the conditions for which the chaotic maps can generate periodic sequences, as well as those conditions for which they can generate aperiodic sequences. In order to offer this analysis of behavior (periodic or aperiodic), in a similar way to Palacios-Luengas et al. [14] and Pichardo-Méndez et al. [67], we identify the chaos annulling conditions in the proposed chaotic maps, and we calculate their bifurcation diagrams and Lyapunov exponents.
Firstly, to identify the chaos annulling conditions in the proposed chaotic maps, we must find their fixed points and their periodic orbit of order m > 2 . For this intention, we assume that x ( 1 ) is a fixed point of the chaotic system ξ ( · ) when ξ μ , α , x ( 1 ) = x ( 1 ) , x * is a preimage point when x ( 1 ) = ξ ( μ , α , x * ), and x ( m ) is a condition that produces an periodic orbit of order m > 2 when ξ m μ , α , x ( m ) = x ( m ) , considering that ξ m μ , α , x ^ is m t h iteration of ξ ( · ) when x ^ is its initial condition. As an example for the proposed chaotic maps, Table 1 shows the fixed points and some periodic orbits of order m = 2 , 3 , and 4. Note in Table 1 that the examples of conditions producing periodic orbit of order m = 2, 3 and 4 have be included by using only ten digits after the dot, but they are number with more significant digits. Additionally, note that Table 2 shows the preimage points.
On the other hand, in order to show the big picture of the statistical behavior of both chaotic systems, we show in Figure 2 the bifurcation diagrams for the STM, and in Figure 3 the bifurcation diagrams for the FC. Remember that, a bifurcation diagram illustrates the changes that occurred to the number sequences produced by a chaotic system considering different values of its control parameters. In Figure 2a and Figure 3a, μ ∈ (0, 3.0) and α = 3.0, meanwhile in Figure 2b and Figure 3b μ = 0.5 and α ∈ (0, 3.0), in Figure 2c and Figure 3c μ = 1.5 and α ∈ (0, 3.0), and in Figure 2d and Figure 3d μ = 2.5 and α ∈ (0, 3.0). In all cases, the initial conditions were randomly selected for each value of control parameter used when the chaotic system was being iterated.
According to Table 1, Figure 2 shows the fixed points (red lines) and some periodic orbits for the STM. For all cases, A corresponds to x = α , and B to x = α 2 ( 2 α μ ) . But in Figure 2b, C corresponds to x = 2 α 2 ( 8 α 3 4 α 2 + 4 α 1 ) , and D to x = 2 α 2 ( 16 α 4 + 2 α 1 ) ; in Figure 2c, C corresponds to x = 8 α 4 ( 8 α 3 + 18 α 27 ) , and D to x = 54 α 2 ( 16 α 4 + 54 α 81 ) ; and in Figure 2d, C corresponds to x = 50 α 2 ( 8 α 3 20 α 2 + 100 α 125 ) , and D to x = 5.25968 × 10 14 α 2 ( 3.36619 × 10 13 α 4 + 5.25968 × 10 14 α 1.31492 × 10 15 ) .
On the other hand, Figure 3 shows the fixed points (red lines) to x = α and, additionally, Figure 3c indicates a stability island. The fixed points periodic orbits and stability islands must be identified and avoided when the chaotic system is applied in cryptosystems. Additionally, note that, the bifurcation diagrams in Figure 2a and Figure 3a completely cover the plane μ v s τ ( μ , α , x ) ; but, the bifurcation diagram for the FC does not exhibit the annulling chaos conditions that are present on the STM, which are given by x 0 = μ or x 0 = α , and x 0 = 0.
Now, in order to analyze the stability island of order 3 in the FC, we have generated Figure 4, which shows in detail the window for the stability island of order 3 identified at Figure 3. This window allows us to identify the auto-similarity property of the FC and, according to Sharkovski’s Theorem [68,69], it ensures that the FC has an infinite number of stability islands. Therefore, in the FC the stability islands emerge according to Sharkovski sequence 2 n × k , with k = 3, 5, 7, 9, ... for n= 1, 2, 3, 4, ... [68,69], and they are inherited from the sine chaotic map. All stability islands must be considered and avoided. It is worth noting that the period doubling phenomenon observed in Figure 3c, boxed in red, appears again in Figure 4a. Figure 4b shows a zoom at region boxed in red at Figure 4a. Figure 4c,d have been included in order to show that the auto-similarity property, the doubling period phenomenon and the stability island of order 3 appear again. This is sufficiently clear evidence that the FC has an infinite number of stability islands, which emerge according to the Sharkovski sequence.
We highlight that, if μ is considered the main control parameter, both chaotic systems exhibit a chaotic behavior when μ ∈ (0, α ); meanwhile, if α is considered the main control parameter, they exhibit a chaotic behavior when α > μ , and this behavior is limited by the function τ = α . Additionally, the statistical distribution of the STM is closer to the uniform distribution than the statistical distribution of the FC, which is denser at ends. But, the FC does not have fixed points and stability islands at parameter domains of chaotic behavior when μ < α . In a similar way to Palacios-Luengas et al. [14] and Pichardo-Méndez et al. [67], the statistical distribution of the sequences produced by both chaotic maps can be estimated through the stationary statistical distribution by using the Birkhoff’s Ergodicity Theorem [70], and considering that the evolution of a set of initial condition must be studied when the chaotic system is applied to it.
Now, as an example, in Figure 5 we show the trajectory diagrams of both chaotic systems when α = 3.0 considering 10,000 iterations. For the STM, in Figure 5a, we use μ = 0.9 and x 0 = 1.9, and, in Figure 5b, we show that a short trajectory reaches a fixed point when μ = 1.5 and x 0 = 0.0625. On the other hand, for the FC, in Figure 5c, we show that a chaotic trajectory occurs when μ = 0.9 and x 0 = 1.9, and, in Figure 5d, we show that a short trajectory reaches a fixed point when μ = 1.5 and x 0 = 1.460321868288294.
The next step, in the behavior analysis of a chaotic system is to define whether the fixed points or the periodic orbits are stable (attractor) or unstable (repeller) points or orbits. Analyzing the stability of the fixed points, let | η n | = | ξ n μ , α , x 0 + η 0 ξ n μ , α , x 0 | be the relative difference between the values of the position n in the number sequences produced by the chaotic system ξ ( · ) , where ξ ( · ) = σ ( · ) for the STM and ξ ( · ) = τ ( · ) for the FC. Using x 0 + η 0 and x 0 as initial conditions to produce two number sequences, let η 0 be some number arbitrarily small, and μ and α the control parameters of the chaotic systems. If | η n + 1 | < | η n | , then the selected control parameter will cause the chaotic map to converge ∀n, causing the produced number sequence to fall at some fixed point, which will be an attractor fixed point. Conversely, if | η n + 1 | > | η n | , then the selected control parameter will cause the chaotic map to diverge ∀n, causing the produced number sequence to move away from the fixed point, which will be a repeller fixed point. This derivative criterion for repelling and attracting fixed points can be generalized to periodic orbits. For this purpose, we recommend reviewing Ref. [68].
Now, as an example of this concepts, we analyzed the cases when x 0 is a fixed point, in order to estimate the trap conditions. Thus, let x * be a fixed point, and considering that τ n μ , α , x * = x * n, the relative difference η n + 1 can be written as,
| η n + 1 | = | ξ n μ , α , x * + η 0 ξ n μ , α , x * | , = | ξ n μ , α , x * + η 0 x * | .
By Taylor’s series,
| η n + 1 | = | ξ n μ , α , x * η n d ξ μ , α , x d x | x * x * | , = | η n d ξ μ , α , x d x | x * | , = | η n ξ μ , α , x * | .
Therefore, η n + 1 < η n occurs when ξ μ , α , x * < 1 and x * is a fixed attractor point, and η n + 1 > η n occurs when ξ μ , α , x * > 1 and x * is a repeller fixed point. Then, considering Table 1 for σ ( μ , α , · ) , and according to Equation (7), x * = 0 is a repeller point because σ ( μ , α , x ) > 1 and 0 < μ < α . We can verify this condition using Figure 5b, in which μ = 1.5, α = 3.0, and x = 0.0625, and the trajectory (number sequence) reaches the fixed point x * = 2.0. In a similar way, according to Equation (7), x * = α 2 2 α μ is a repeller point if σ ( μ , α , x ) > 1 , and this condition occurs when 1.0 < α < 2.0 and 2 α α 2 < μ , or when 2.0 < α . But it is an attractor point when 0.0 < α < 1.0, or when 1.0 < α < 2.0 and 0.0 < μ < 2 α α 2 .
σ ( μ , α , x ) = α μ 0 < x μ α μ α μ < x < α ,
On the other hand, considering Table 1 for τ ( μ , α , · ) , and according to Equation (8), x * = 0.0 is a repeller point when 0 < α μ or when α < μ + π α c o s π μ 2 α α μ , and it will be an attractor point when μ + π α c o s π μ 2 α α μ < α . In a similar way, x * = α will be a repeller point when π α c o s π α μ > μ , and it will be an attractor point when π α c o s π α μ < μ . Finally, x * = μ is a repeller point because π α μ is always greater than 1.0.
τ μ , α , x = π α μ c o s π x μ 0 < x μ π α α μ c o s π x 2 α + μ α μ μ < x < α ,
In this way, a chaotic system will have a CAT condition when the sequences it produces reach an attractor fixed point. Therefore, it is very important to know and avoid fixed points in a chaotic system when it intends to be incorporated in cryptosystems.
In despite of the analysis performed so far, we must not forget that the mean value of the period of sequences generated by finite-state implementations of a chaotic map is influenced by the rounding error [71,72,73]. Therefore, and according to Li et al. [47] and Protopopescu et al. [58], it is highly recommended to use the highest precision available to represent real numbers and perform mathematical operations on devices and computers.

2.3. Sensitivity Analysis

A very effective way of determining the chaos annulling traps (CATs) in a chaotic system is by performing a sensitivity analysis. For this analysis, the Lyapunov exponent, λ , helps to detect a chaotic behavior in systems because it quantifies the separation rate of infinitesimally close trajectories in its phase space. In a similar way, to analyze the fixed points, λ is calculated considering that | η n | = η 0 e n λ . Note that if λ > 0 , the two trajectories produced by the chaotic map will diverge when the separation of their initial conditions is arbitrary small. In this case, the map has a chaotic behavior, and in the case of λ < 0 the map will have a non-chaotic behavior. Although there are other approaches to calculate the Lyapunov exponent such as using unstable periodic orbits [74], we decided to apply the following numerical approximation used by Palacios et al. [14].
λ 1 n i = 0 n 1 l n | ξ ( μ , α , x i ) | .
Note that, Equation (9) represents the maximum value of the velocity average, in exponential order, with which a first trajectory produced by a chaotic map moves away (or approaches) from other trajectories generated by the same map from an initial condition very close to the one used to produce the first trajectory. From Equation (9), and considering that for the STM, σ ( μ , α , x i ) is defined by Equation (7), and for the FC, τ ( μ , x i ) is defined by Equation (8), we have calculated λ for both chaotic maps and we showed in Figure 6 their behavior as a function of the control parameters, μ and α . Figure 6a shows λ σ as a function of μ ∈ (0, α ) and α = 3.0 for the STM. Note that λ σ > 0 ∀ μ . In a similar way, Figure 6b shows λ τ as a function of μ ∈ (0, α ) and α = 3.0 for the FC. Also, note that λ τ > 0 ∀ μ .
Oppositely, Figure 6c shows λ σ as a function of α ∈ (0, 3.0) and μ = 0.5, 1.5 and 2.5 for the STM. Note that λ σ > 0 when α > μ . In a similar way, Figure 6d shows λ τ as a function of α ∈ (0, 3.0) and μ = 0.5, 1.5, and 2.5 for the FC. Also, note that λ τ > 0 when α > μ . According to results showed in Figure 6d, we must emphasize that the FC exhibits islands of stability only when μ c r i t i c a l < α < μ in the chaotic map; assuming that μ c r i t i c a l is the value of μ when λ crosses zero for the first time. Thus, if α ∈ (0, 3.0) for the FC, it will always be true that λ σ > 0 when α > μ is satisfied avoiding that chaotic map generates chaos annulling conditions. On the other hand, if μ ∈ (0, 3.0) for the FC, it will always be true that λ τ > 0 when μ ∈ (0, α ). Therefore, when μ ∈ (0, α ), the FC will produce chaotic sequences.

2.4. Sensitivity Test

In the first instance, the behavior of chaotic PRNGs can be predicted since they are deterministic systems and it is necessary to determine the conditions and limitations that allow such a prediction to be made. In order to address this, it is worth noting that chaotic PRNGs are implemented using dynamic systems with high dependence on initial conditions. Therefore, small variations in the initial conditions can imply, in the short term, great differences in the future behavior of the dynamic system. This feature limits the prediction of the system’s behavior even in the short term. Thus, considering that the chaotic PRNGs are deterministic systems, their behavior can be completely determined if their initial conditions are known exactly. In this way, the sensitivity test helps to estimate how quickly the system’s behavior changes when the initial condition changes by an arbitrarily small number; in this case the initial condition can vary by at least 1 × 10 15 and until 1 × 10 1 . In this sense, the main intention in designing a chaotic PRNG should be that the underlying chaotic map has the highest possible level of sensitivity, even for arbitrarily small initial conditions. This is true for the proposed chaotic map when compared to the STM.
In order to explain this condition, and considering the iterated functions expressed by Equations (2) and (4), both chaotic systems produce sequences whose behavior highly depends on initial condition x 0 and the control parameter μ . In both maps, if x 0 or μ are changed, the number sequences produced by them will also change. But the question that arises now is, which of two maps is more sensitive to initial conditions? A first answer to this question is given in Figure 7, which shows the temporal behavior for five number sequences produced by each chaotic map, considering that these sequences start with near initial conditions. That is, x 0 = 0.5 and x 0 = x 0 + ϵ 0 , assuming that ϵ 0 = 1 × 10 k is an arbitrarily small number in R , where k = 1, 2, 3, 4, 5. In both maps, we use α = 3.0 and μ = 2.0 as control parameters.
Note in Figure 7 that the chaotic sequences produced by using the STM are very close to each other until eighth iteration, and in later iterations they are notoriously separated. Instead, the sequences produced by using the FC are separated from second iteration. Note that this high sensitivity becomes more evident as k is decreased.
In order to obtain a sensitivity measure of a chaotic map to initial conditions, we define the tolerance level, N t h , that the chaotic map reaches when the initial condition changes from x 0 to x 0 = x 0 + ϵ 0 , considering a small threshold, δ , arbitrarily selected. Note that x n is the n-th element in the sequence from x 0 , x n is the n-th element in the sequence from x 0 , and ϵ 0 = 1 × 10 k with k [1, 15]. In this case, N t h is the iteration number for which both sequences are separated by more than δ assuring that ϵ N t h > δ , when δ is an arbitrarily selected small number. Therefore, N t h is the tolerance level of the chaotic map as a function of k, where k is the smallness of ϵ 0 . In summary, then, Figure 8a shows N t h versus k for the FC (blue lines) and the STM (red lines), considering that k [1, 15], x 0 = 0.1, μ = 1.0, α = 2.0, and n = 1000 with δ = 1 × 10 3 (“■”) and δ = 1 × 10 5 (“▲”). Note that the FC has a smaller tolerance level than the STM for changes in the initial conditions, because when using the same k, in both chaotic maps, N t h for the FC is smaller than N t h for the STM.
Now, using these concepts, we define the sensitivity level according to Equation (10). In Figure 8b, we show the behavior of L ( δ , k ) for both chaotic maps when k [1, 15] with δ = 1 × 10 3 and δ = 1 × 10 5 .
L ( δ , k ) = 1 N t h ( δ , k ) .
On the other hand, according to the work developed in 2019 by Liu and Feng [75], we apply the sensitivity test to both chaotic maps, and we calculate the sensitivity index, S n , defined by Equation (11) when two sequences produced by the chaotic map have length n and their initial conditions are different by ϵ 0 .
S ( n , k ) = 1 n i = 1 n ϵ i ( k ) .
In Figure 9a,b, we show the behavior of S n , k for the STM and the FC, respectively, when k = 1, 5, 10, and 15 and n [1, 5000]. Note that, in the long term, the FC is more sensitive to initial conditions that the STM, and after n = 2500 both maps tend to a constant value for S ( n , k ) . According to Liu and Feng [75], greater the value of S n , k , the stronger the sensitivity.

2.5. Remarks

From the preliminary sensitivity tests, we highlight that the FC has a lower tolerance level and a higher sensitivity to the initial conditions than the STM. From the analysis of the chaos annulling conditions and the sensitivity analysis, we highlight that the FC has less chaos annulling conditions than the STM, and like the STM it does not have stability islands once it enters the chaotic behavior. Thus, the FC is an excellent option for the implementation of PRNGs.

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 x 0 . 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 μ i and α i with i = 1, 2 and 3, and the values for the initial conditions x 0 , y 0 , and z 0 ; 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 2 b i t s , 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: x ^ = { x ^ j } , y ^ = { y ^ j } and z ^ = { z ^ j } , with j = 1, 2, 3, .... Note in Figure 10 that K is constituted from the concatenation of μ i and α i with i = 1, 2 and 3, and the values for the initial conditions x 0 , y 0 , and z 0 required in the chaotic maps.
  • In RCMb, from x ^ , y ^ and z ^ , 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 x = { x 0 = x ^ 0 , x i = x ^ i + 30 } , y = { y 0 = y ^ 0 , y i = y ^ i + 30 } and z = { z 0 = z ^ 0 , z i = z ^ i + 30 } , respectively, where i = 1, 2, 3, ....
  • Using Tb, the pseudorandom sequences x = { x i } , y = { y i } , and z = { z i } are translated from domain of real numbers to domain integer numbers of 8, 16 or 32 bits, producing X = { X i } , Y = { Y i } and Z = { Z i } , respectively. This action is performed by using X i = m o d ( x i · 10 u , 2 b i t s ) , where X i is i- t h integer number of X, and it is produced from x i , which is i- t h real number of x; in this case, we considerate that b i t s = 8 , 16 or 32 and u = 14.
  • By using S i = m o d ( X i + Y i + Z i , 2 b i t s ) , from X, Y, and Z, MSb produces the pseudorandom sequence, S = { S i } , of integer numbers with 8, 16 or 32 bits.
    Note in step 3, that b i t s influences on the range for X i ; that is, X i (0, 2 b i t s ) and 10 u is a scaling factor that translates the real numbers x i (0, α ) to real numbers in (0, 10 u ). Therefore, considering that α 10 u , the m o d function redistributes on the interval (0, 2 b i t s ) the new sequence of numbers that had been rescaled from the sequence of numbers x i to (0, 10 u ).

4. Performance Tests of the Proposed PRNG

In this section, we apply different tests for the pseudorandom sequences generated by the proposed PRNG. For each evaluation, we select a key set, K ^ = { K 1 , K 2 , . . . , K 1000 } , required in the PRNG. Then using K ^ , we generate the pseudorandom sequences S t with t = 1, 2, ..., 1000, where each sequence consist of 8, 16 or 32-bit numbers. The tests carried out for the proposed PRNG are as follows: correlation coefficient, key sensitivity, entropy, statistical analysis, randomness, and linear complexity. In addition, the estimation of the keys space was made, and the execution speed was calculated. In all performance tests applied to the proposed PRNG, according to Section 2.2 and Section 2.3, we have selected the parameters that avoid the annulling conditions of chaos and confirm that the Lyapunov exponent is positive. Also, Section 5 is included showing the results obtained with the proposed PRNG against similar algorithms based on chaotic maps.

4.1. Correlation Coefficient

We use the correlation coefficient, r p , q , to determine the dependence degree and the statistical relationship between two pseudorandom sequences produced by the proposed PRNG. In this case, r p , q is defined as follows:
r p , q = i = 1 n ( S i p m p ) ( S i q m q ) i = 1 n ( S i p m p ) 2 i = 1 n ( S i q m q ) 2 1 / 2
where S i p and S i q are the i-th element of the pseudorandom sequence S p and S q , respectively, m p and m q are the mean of S p , and S q , respectively, and p and q = 1, 2, 3, ..., 1000.
In this test, each S t has a length of 1,000,000 6-bit numbers and for each one of them the values K i , with i = 1, 2, 3, ..., 1000, were chosen pseudorandomly. Figure 11 shows the statistical distribution for the different correlation coefficients was obtained when pq, and both can be 1, 2, 3, ..., 1000. According to numerical measure of r if two pseudorandom sequences are close to −1 or 1, then these sequences are very similar. Conversely, if the correlation is 0, then the sequences are not equal. Consequently, it is necessary that the values of r are too close to 0. Note that the values of correlation coefficient are distributed in [ 0.0045 , 0.0034 ] with mean −5.4976 × 10 4 .

4.2. Key Sensitivity

In order to evaluate the sensitivity of the proposed PRNG to small changes in the keys, we use the following metrics: the number of changing pixel rate (NPCR), the unified average changed intensity (UACI) [84] and the average absolute difference (AAD) [85]. For these tests, we select a set of 1000 keys, so that K i and K i + 1 ( i = 1, 2, 3, ..., 1000) differ by a single bit between them. According to the structure of the proposed PRNG, we assume in the key for the proposed PRNG that only z 0 changes in the least significant bit (LSB), and this small change is quantified by η 0 . Therefore, we select each initial condition considering that z 0 t + 1 = z 0 t + η 0 , where t = 1 , 2 , 3 , . . . , 1000 . Now, to calculate the NPCR, UACI, and ADD, we use Equations (13), (15) and (16), respectively, considering two cases. That is, the pseudorandom sequences are analyzed by reading 16-bits or 8-bits numbers.
In this way, NPCR is represented by Equation (13).
N P C R ( p , q ) = 1 n i = 0 n D i ( p , q ) ,
where,
D ( p , q ) = 0 i f S i p = S i q 1 i f S i p S i q ,
UACI is represented by Equation (15).
U A C I ( p , q ) = 1 n i = 0 n S i p S i q 2 b i t s 1 ,
where b i t s = 8 when the pseudorandom sequences are read in 8-bit numbers, and b i t s = 16 when they are read in 16-bit numbers.
And, AAD is represented by Equation (16).
A A D ( p , q ) = 1 n i = 1 n | S i p S i q | ,
Importantly, pseudorandom sequences of 1,000,000 numbers were generated for NPCR and UACI, and sequences of 2,000,000 numbers were generated for AAD. In all cases, the sequences are made up of 16-bit numbers. Figure 12 shows the statistical distribution for NPCR(p,q), UACI(p,q), and AAD(p,q). Figure 12a,c,e show NPCR 16 (p,q), UACI 16 (p,q), ADD 16 (p,q) when the pseudorandom sequences are read in 16-bits numbers. On the other hand, Figure 12b,d,f show NPCR 8 (p,q), UACI 8 (p,q), ADD 8 (p,q) when the sequences are read in 8-bits numbers. Note that, when the pseudorandom sequences are observed as sequences with 16-bits numbers, the all calculated values for the NPCR(p,q) are 0.999977, for the UACI(p,q) the mean value is 0.33349, and for the AAD(p,q) the mean value is 2.18455 × 10 4 . In a similar way, when the pseudorandom sequences are observed as sequences with 8-bits numbers, the calculated mean of the NPCR(p,q) is very close to 0.99608, for UACI(p,q) is close to 0.33460, and for AAD(p,q) is 85.3289, which is very close to ideal value reported by Wang et al. in 2016 [52].

4.3. Entropy Analysis

In order to measure the uncertainty degree in pseudorandom sequences generated by the proposed PRNG, we use the Shannon’s entropy (H). For this test, we generate 1000 pseudorandom sequences of 1,000,000 with 16-bits numbers. In this case, we use the 8-bit entropy function. Thus, each pseudorandom sequence S t was observed in 8-bit numbers and H 8 ( S t ) can be calculated using Equation (17).
H ( S t ) = i = 0 2 b i t s 1 p S i t l o g 1 p S i t ,
where p ( S i t ) represents the probability estimated for each S i t , t = 1 , 2 , . . . , 1000 and b i t s = 8.
When we calculated the statistical distribution of H 8 ( S ) for the pseudorandom sequences considering 8-bit numbers, the mean of H 8 ( S t ) 7.99991 is very close to 8 as we expected; i.e., the proposed PRNG generates pseudorandom numbers of 8 bits approximately with equal distribution, which corresponds to a uniform statistical distribution.

4.4. Statistical Analysis and Randomness Testing

In order to evaluate the randomness of the sequences generated by the proposed PRNG, we consider two statistical test suites for the pseudorandomness evaluation of number sequences produced by the proposed PRNG: NIST SP 800-22 [86] and TestU01 [87]. For the NIST SP 800-22 suite and for each configuration of the proposed PRNG (8, 16 or 32-bit), we randomly select 2000 keys (initial conditions) to produce 2000 pseudorandom sequences generated with a size of L = 1 , 000 , 000 bits. Subsequently, to obtain the proportion of the sequences passing the test, we obtained the confidence interval defined as p ^ ± 3 p ^ ( 1 p ^ ) m · m , where m = 2000, p ^ = 1.0 υ , and the significance level is υ = 0.01 . Therefore, the confidence interval for 2000 binary sequences must be in [1966, 1993]. It is worth noting that if P v a l u e T 0.0001 then the sequences can be uniformly distributed. For those NIST sub-tests that consider more than one P v a l u e T an average value was obtained, which is shown in Table 3.
On the other hand, the TestU01 test suite is a software library implemented in the ANSI C language and offering a collection of utilities for the empirical statistical testing of RNGs and PRNGs. TestU01 suite has three level of assessment: SmallCrush (15 tests), Crush (144 tests) and BigCrush (160 tests). Besides, TestU01 includes the Alphabit, Rabbit and BlockAlphabit tests designed for testing bit generators implemented in hardware. Similar to the NIST tests, P v a l u e is defined between [0.001, 0.9990] to pass the single tests. Then, we tested the proposed PRNG using the BigCrush (160 tests) level, Alphabit and Rabbit tests. Table 4 shows successful results when the proposed PRNG was configured for 8, 16 or 32 bits to generate 32-bit number sequences with size L = 2 26 , 2 28 and 2 30 . It is worth noting that for the TestU01 suite a virtual computer with Ubuntu 64-bit operating system, 6 GB RAM and 3-core CPU was used. The total CPU time for testing the proposed PRNG were 58:08:56.82, 33:22:15.61 and 24:05:17.30 configured for 8, 16 and 32 bits, respectively.

4.5. Linear Complexity

The Berlekamp–Massey algorithm is used to estimate the linear complexity of a PRNG, and it is as tool to determine the shortest linear feedback shift register (LFSR) that produces a specific binary sequence [88]. Linear complexity in a PRNG is an important security condition when we want to know if such PRNG is suitable for cryptographic applications. A high linear complexity by itself does not guarantee any pseudorandomness property of the sequence under consideration, and therefore, it must also be known whether the sequences produced with the proposed PRNG pass the pseudo-randomness test suites of the NIST SP 800-22 and TestU01. Then we use the Berlekamp Massey algorithm to estimate the linear complexity, L c ( S ) , of pseudorandom sequences, S t , t = 1, 2, 3, ..., W, which are produced by the proposed PRNG and they are read in binary format. Basically, this test determines the minimum degree of the polynomial that produces, in a linear feedback shift register (LFSR), a sequence like S. Therefore, a PRNG with the highest possible linear complexity is desirable. For this test, we generate a set of W = 1 × 10 3 pseudorandom sequences that in binary format have 2 × 10 5 bits. In this case, we use different initial conditions with slightly differences among them. Then, we compute the mean and the standard deviation of L c ( S t ) for 1 × 10 3 sequences. Note in Figure 13 that L c ( S ) reaches a maximum level of 1 × 10 5 , and the variation of the standard deviation values are small. Furthermore, note that the linear complexity test helps us to confirm that the approaches we implemented in the proposed PRNG have worked in order to increase linear complexity and avoid the problems presented by PRNGs based on single chaotic map.

4.6. Key Space Analysis

The key space analysis is related with the security analysis in congruence with the Kerchoff’s principle. This principle defines specifications related to the security analysis of a cryptographic module [89], and it says that a system for cryptography applications must be secure even if everything about the system is in the public domain, except the key. In this sense, we assume that the security of the proposed PRNG is associated with the size of the key space required to produce the numerical sequences. Assuming that the proposed PRNG is a cryptographic module of public knowledge, then its security is kept only in the key that is required to produce the pseudorandom sequences. Then, the proposed PRNG must have a key space as large as possible to be effective in a brute force attack. According to Figure 10, the key is constituted by μ 1 , x 0 , α 1 , μ 2 , y 0 , α 2 , μ 3 , z 0 , and α 3 . Considering a standard format for floating point in double precision [90], the PRNG has 576 bits as key and then, the global key space is 2 576 values, which satisfies the general requirement of resisting brute force attack. Now, to avoid the CATs conditions, we must select μ i α i , i = 1, 2, and 3, and then, the key space is reduced to approximately 2 384 values. In this calculation, we consider that each μ i will be bounded to the least significant k i bits, and consequently, each α i will take values with the most significant 64 k i bits.

4.7. Speed Analysis

In order to show the performance of the proposed PRNG, we implemented it in electronic devices with 8, 16 and 32-bits architectures. Table 5 shows the clock cycles for the different configurations of the proposed PRNG according to the following criteria: when the proposed PRNG is set to 8-bit, the number obtained in each iteration is concatenated until to form a 32-bit number. Similarly, when the proposed PRNG is set to 16-bit, it must concatenate two 16-bit numbers to form a 32-bit number. Therefore, the results reported in Table 5 correspond to the clock cycles consumed by the proposed PRNG when it is configured for 8, 16 or 32 bits to generate 32-bit numbers.
Additionally, we implemented the proposed PRNG for the 8, 16 and 32-bit configurations by using a C language compiler (MinGW) on an Intel Core i7-4800MQ CPU-2.70GHz with 24G RAM. For each case, we obtained the time required to generate 1,000,000 pseudorandom numbers performing this process 2000 times, and then the average time was calculated. These results are reported in Table 6 and they allow consider that the proposed PRNG can be implemented in an electronic system with limited hardware.

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: K 1 and K 2 , where | K 1 K 2 | = 1 × 10 15 . Then, we calculated the variance ratio (D) [40,92] between the two binary sequences with size L = 1 , 000 , 000 resulting D = 49.9872 %, 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 ( 0 , α ) 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 2 576 , and in a modest case it can be 2 384 . 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 1 × 10 3 and 2 × 10 3 binary sequences, where each sequence has 1 × 10 6 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.

Author Contributions

Conceptualization, L.P.-L. and R.V.-M.; methodology, R.M.-J. and R.V.-M.; software, L.P.-L.; validation, R.M.-J., E.R.-C. and M.P.-C.; formal analysis, L.P.-L. and R.V.-M.; investigation, L.P.-L. and O.J.-R.; resources, all authors; data curation, R.M.-J., E.R.-C. and M.P.-C.; writing—original draft preparation, L.P.-L. and R.V.-M.; writing—review and editing, R.V.-M., R.M.-J. and O.J.-R.; visualization, M.P.-C. and O.J.-R.; supervision, L.P.-L.; project administration, R.V.-M.; funding acquisition, R.V.-M. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the National Council of Science and Technology (CONACyT), Autonomous Metropolitan University-Iztapalapa (L. Palacios-Luengas, visiting professor) and the Instituto Politécnico Nacional, México [Grants No. SIP-20210023 (R. Vázquez-Medina) and SIP-20210208 (O. Jiménez-Ramírez)].

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

The data that supports the findings of this study are available within the article.

Acknowledgments

The authors thank A. L. Quintanar-Reséndiz for the technical support in the implementation and realization of the experiments.

Conflicts of Interest

The authors declare that there is no conflict of interests regarding the publication of this paper.

References

  1. Ming, X.; Chen, Z.; Zhou, Z.K.; Zhang, B. An advanced spread spectrum architecture using pseudorandom modulation to improve EMI in class D amplifier. Power Electron. IEEE Trans. 2011, 26, 638–646. [Google Scholar] [CrossRef]
  2. Meliá-Seguí, J.; Garcia-Alfaro, J.; Herrera-Joancomartí, J. J3Gen: A PRNG for low-cost passive RFID. Sensors 2013, 13, 3816–3830. [Google Scholar] [CrossRef] [Green Version]
  3. Mandal, K.; Fan, X.; Gong, G. Design and implementation of warbler family of lightweight pseudorandom number generators for smart devices. ACM Trans. Embed. Comput. Syst. TECS 2016, 15, 1. [Google Scholar] [CrossRef]
  4. Liao, Y.; Fan, X. Mathematical calculation of sequence length in LFSR-dithered MASH digital delta-sigma modulator with odd initial condition. AEU Int. J. Electron. Commun. 2017, 80, 114–126. [Google Scholar] [CrossRef]
  5. Cotrina, G.; Peinado, A.; Ortiz, A. Gaussian pseudorandom number generator based on cyclic rotations of Linear Feedback Shift Registers. Sensors 2020, 20, 2103. [Google Scholar] [CrossRef] [Green Version]
  6. Feng, L.; Xiaoxing, G. A new construction of pseudorandom number generator. J. Netw. 2014, 9, 2176–2183. [Google Scholar]
  7. Payingat, J.; Pattathil, D.P. Pseudorandom bit sequence generator for stream cipher based on elliptic curves. Math. Probl. Eng. 2015, 2015, 257904. [Google Scholar] [CrossRef] [Green Version]
  8. El-Latif, A.A.A.; El-Atty, B.A.; Venegas-Andraca, S.E. Controlled alternate quantum walk-based pseudo-random number generator and its application to quantum color image encryption. Phys. A Stat. Mech. Appl. 2020, 547, 123869. [Google Scholar] [CrossRef]
  9. Spencer, J. Pseudorandom bit generators from enhanced cellular automata. J. Cell. Autom. 2015, 10, 295–317. [Google Scholar]
  10. Bhattacharjee, K.; Das, S. Random number generation using decimal cellular automata. Commun. Nonlinear Sci. Numer. Simul. 2019, 78, 104878. [Google Scholar] [CrossRef]
  11. Tuna, M. A novel secure chaos-based pseudo random number generator based on ANN-based chaotic and ring oscillator: Design and its FPGA implementation. Analog. Integr. Circuits Signal Process. 2020, 105, 167–181. [Google Scholar] [CrossRef]
  12. Guo, W.; Zhao, J.; Ye, R. A chaos-based pseudorandom permutation and bilateral diffusion scheme for image encryption. Int. J. Image Graph. Signal Process. 2014, 6, 50. [Google Scholar]
  13. Senouci, A.; Bouhedjeur, H.; Tourche, K.; Boukabou, A. FPGA based hardware and device-independent implementation of chaotic generators. AEU Int. J. Electron. Commun. 2017, 82, 211–220. [Google Scholar] [CrossRef]
  14. Palacios-Luengas, L.; Pichardo-Méndez, J.L.; Díaz-Méndez, J.A.; Rodríguez-Santos, F.; Vázquez-Medina, R. PRNG Based on skew tent map. Arab. J. Sci. Eng. 2018, 44, 3817–3830. [Google Scholar] [CrossRef]
  15. Irfan, M.; Ali, A.; Khan, M.A.; Ul Haq, M.E.; Shah, S.N.M.; Saboor, A.; Ahmad, W. Pseudorandom number generator (PRNG) design using hyper-chaotic modified robust logistic map (HC-MRLM). Electronics 2020, 9, 104. [Google Scholar] [CrossRef] [Green Version]
  16. Alhadawi, H.S.; Zolkipli, M.F.; Ismail, S.M.; Lambić, D. Designing a pseudorandom bit generator based on LFSRs and a discrete chaotic map. Cryptologia 2019, 43, 190–211. [Google Scholar] [CrossRef]
  17. Capeáns, R.; Sabuco, J.; Sanjuán, M.A.F. Parametric partial control of chaotic systems. Nonlinear Dyn. 2016, 86, 869–876. [Google Scholar] [CrossRef]
  18. Pecora, L.M.; Carroll, T.L. Synchronization of chaotic systems. Chaos Interdiscip. J. Nonlinear Sci. 2015, 25, 097611. [Google Scholar] [CrossRef]
  19. Csernák, G.; Gyebrószki, G.; Stépán, G. Multi-Baker map as a model of digital PD control. Int. J. Bifurc. Chaos 2016, 26, 1650023. [Google Scholar] [CrossRef]
  20. Capeáns, R.; Sabuco, J.; Sanjuán, M.A.F.; Yorke, J.A. Partially controlling transient chaos in the Lorenz equations. Philos. Trans. R. Soc. A Math. Phys. Eng. Sci. 2017, 375, 20160211. [Google Scholar] [CrossRef]
  21. Ferrer, J.; Ballesté, A.; Roca, J.; Virgili, U.R.; Gómez, A.; Arroyo, D.; Amigó, J.; Li, S.; Alvarez, G. On the Inadequacy of Unimodal Maps for Cryptographic Applications; URV: Tarragona, Spain, 2010. [Google Scholar]
  22. Palacios-Luengas, L.; Delgado-Gutiérrez, G.; Díaz-Méndez, J.A.; Vázquez-Medina, R. Symmetric cryptosystem based on skew tent map. Multimed. Tools Appl. 2017, 77, 2739–2770. [Google Scholar] [CrossRef]
  23. Teh, J.S.; Samsudin, A. A chaos-based authenticated cipher with associated data. Secur. Commun. Netw. 2017, 2017, 1–15. [Google Scholar] [CrossRef] [Green Version]
  24. Yu, F.; Li, L.; Tang, Q.; Cai, S.; Song, Y.; Xu, Q. A survey on true random number generators based on chaos. Discret. Dyn. Nat. Soc. 2019, 2019, 1–10. [Google Scholar] [CrossRef]
  25. Farah, M.A.B.; Farah, A.; Farah, T. An image encryption scheme based on a new hybrid chaotic map and optimized substitution box. Nonlinear Dyn. 2019, 99, 3041–3064. [Google Scholar] [CrossRef]
  26. Liu, H.; Kadir, A.; Ma, C.; Xu, C. Constructing keyed hash algorithm using enhanced chaotic map with varying parameter. Math. Probl. Eng. 2020, 2020, 1–10. [Google Scholar] [CrossRef]
  27. Kari, A.P.; Navin, A.H.; Bidgoli, A.M.; Mirnia, M. A new image encryption scheme based on hybrid chaotic maps. Multimed. Tools Appl. 2020. [Google Scholar] [CrossRef]
  28. Tutueva, A.V.; Karimov, A.I.; Moysis, L.; Volos, C.; Butusov, D.N. Construction of one-way hash functions with increased key space using adaptive chaotic maps. Chaos Solitons Fractals 2020, 141, 110344. [Google Scholar] [CrossRef]
  29. Zhou, P.; Du, J.; Zhou, K.; Wei, S. 2D mixed pseudo-random coupling PS map lattice and its application in S-box generation. Nonlinear Dyn. 2021. [Google Scholar] [CrossRef]
  30. Midoun, M.A.; Wang, X.; Talhaoui, M.Z. A sensitive dynamic mutual encryption system based on a new 1D chaotic map. Opt. Lasers Eng. 2021, 139, 106485. [Google Scholar] [CrossRef]
  31. Saber, M.; Eid, M.M. Low power pseudo-random number generator based on lemniscate chaotic map. Int. J. Electr. Comput. Eng. IJECE 2021, 11, 863. [Google Scholar] [CrossRef]
  32. Hu, G.; Li, B. Coupling chaotic system based on unit transform and its applications in image encryption. Signal Process. 2021, 178, 107790. [Google Scholar] [CrossRef]
  33. Mathivanan, P.; Balaji, G.A. QR code based color image stego-crypto technique using dynamic bit replacement and logistic map. Optik 2021, 225, 165838. [Google Scholar] [CrossRef]
  34. Hu, H.; Liu, L.; Ding, N. Pseudorandom sequence generator based on the Chen chaotic system. Comput. Phys. Commun. 2013, 184, 765–768. [Google Scholar] [CrossRef]
  35. García-Martínez, M.; Campos-Cantón, E. Pseudo-random bit generator based on multi-modal maps. Nonlinear Dyn. 2015, 82, 2119–2131. [Google Scholar] [CrossRef]
  36. Murillo-Escobar, M.A.; Cruz-Hernández, C.; Cardoza-Avendaño, L.; Mendez-Ramírez, R. A novel pseudorandom number generator based on pseudorandomly enhanced logistic map. Nonlinear Dyn. 2017, 87, 407–425. [Google Scholar] [CrossRef]
  37. Dastgheib, M.A.; Farhang, M. A digital pseudo-random number generator based on sawtooth chaotic map with a guaranteed enhanced period. Nonlinear Dyn. 2017, 89, 2957–2966. [Google Scholar] [CrossRef]
  38. Sahari, M.L.; Boukemara, I. A pseudo-random numbers generator based on a novel 3D chaotic map with an application to color image encryption. Nonlinear Dyn. 2018, 94, 723–744. [Google Scholar] [CrossRef]
  39. Garcia-Bosque, M.; Perez-Resa, A.; Sanchez-Azqueta, C.; Aldea, C.; Celma, S. Chaos-based bitwise dynamical pseudorandom number generator on FPGA. IEEE Trans. Instrum. Meas. 2019, 68, 291–293. [Google Scholar] [CrossRef] [Green Version]
  40. Huang, X.; Liu, L.; Li, X.; Yu, M.; Wu, Z. A new two-dimensional mutual coupled logistic map and its application for pseudorandom number generator. Math. Probl. Eng. 2019, 2019, 1–10. [Google Scholar] [CrossRef] [Green Version]
  41. Huang, X.; Liu, L.; Li, X.; Yu, M.; Wu, Z. A new pseudorandom bit generator based on mixing three–dimensional Chen chaotic system with a chaotic tactics. Complexity 2019, 2019, 1–9. [Google Scholar] [CrossRef] [Green Version]
  42. Datcu, O.; Macovei, C.; Hobincu, R. Chaos based cryptographic pseudo-random number generator template with dynamic state change. Appl. Sci. 2020, 10, 451. [Google Scholar] [CrossRef] [Green Version]
  43. OISHI, S.; INOUE, H. Pseudo-random number generators and chaos. IEICE Trans. 1982, E65, 534–542. [Google Scholar]
  44. González, J.A.; Pino, R. A random number generator based on unpredictable chaotic functions. Comput. Phys. Commun. 1999, 120, 109–114. [Google Scholar] [CrossRef]
  45. Stojanovski, T.; Kocarev, L. Chaos-based random number generators-part I: Analysis [cryptography]. IEEE Trans. Circuits Syst. I Fundam. Theory Appl. 2001, 48, 281–288. [Google Scholar] [CrossRef]
  46. Stojanovski, T.; Pihl, J.; Kocarev, L. Chaos-based random number generators. part II: Practical realization. IEEE Trans. Circuits Syst. I Fundam. Theory Appl. 2001, 48, 382–385. [Google Scholar] [CrossRef] [Green Version]
  47. Li, S.; Mou, X.; Cai, Y. Pseudo-random bit generator based on couple chaotic systems and its applications in stream-cipher cryptography. In Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2001; pp. 316–329. [Google Scholar] [CrossRef] [Green Version]
  48. Rezk, A.A.; Madian, A.H.; Radwan, A.G.; Soliman, A.M. Reconfigurable chaotic pseudo random number generator based on FPGA. AEU Int. J. Electron. Commun. 2019, 98, 174–180. [Google Scholar] [CrossRef]
  49. Wang, Y.; Zhang, Z.; Wang, G.; Liu, D. A pseudorandom number generator based on a 4D piecewise logistic map with coupled parameters. Int. J. Bifurc. Chaos 2019, 29, 1950124. [Google Scholar] [CrossRef]
  50. Chen, C.; Sun, K.; Peng, Y.; Alamodi, A.O.A. A novel control method to counteract the dynamical degradation of a digital chaotic sequence. Eur. Phys. J. Plus 2019, 134. [Google Scholar] [CrossRef]
  51. Short, K.M. Steps toward unmasking secure communications. Int. J. Bifurc. Chaos 1994, 4, 959–977. [Google Scholar] [CrossRef]
  52. Wang, Y.; Liu, Z.; Ma, J.; He, H. A pseudorandom number generator based on piecewise logistic map. Nonlinear Dyn. 2016, 83, 2373–2391. [Google Scholar] [CrossRef]
  53. Lambić, D. Security analysis and improvement of the pseudo-random number generator based on piecewise logistic map. J. Electron. Test. 2019, 35, 519–527. [Google Scholar] [CrossRef]
  54. Zhou, S.; Wei, Z.; Wang, B.; Zheng, X.; Zhou, C.; Zhang, Q. Encryption method based on a new secret key algorithm for color images. AEU Int. J. Electron. Commun. 2016, 70, 1–7. [Google Scholar] [CrossRef]
  55. Shi, Y.; Deng, Y. Hybrid control of digital Baker map with application to pseudo-random number generator. Entropy 2021, 23, 578. [Google Scholar] [CrossRef]
  56. Short, K.M. Signal extraction from chaotic communications. Int. J. Bifurc. Chaos 1997, 7, 1579–1597. [Google Scholar] [CrossRef]
  57. Francois, M.; Grosges, T.; Barchiesi, D.; Erra, R. A new pseudo-random number generator based on two chaotic maps. Informatica 2013, 24, 181–197. [Google Scholar] [CrossRef]
  58. Protopopescu, V.A.; Santoro, R.T.; Tolliver, J.S. Fast and Secure Encryption-Decryption Method Based on Chaotic Dynamics; Technical Report; Oak Ridge National Lab. (ORNL): Oak Ridge, TN, USA, 1995.
  59. Alawida, M.; Samsudin, A.; Teh, J.S. Enhancing unimodal digital chaotic maps through hybridisation. Nonlinear Dyn. 2019, 96, 601–613. [Google Scholar] [CrossRef]
  60. Alawida, M.; Samsudin, A.; Teh, J.S.; Alkhawaldeh, R.S. A new hybrid digital chaotic system with applications in image encryption. Signal Process. 2019, 160, 45–58. [Google Scholar] [CrossRef]
  61. Zhou, Y.; Hua, Z.; Pun, C.M.; Chen, C.L.P. Cascade chaotic system with applications. IEEE Trans. Cybern. 2015, 45, 2001–2012. [Google Scholar] [CrossRef] [PubMed]
  62. Hu, H.; Deng, Y.; Liu, L. Counteracting the dynamical degradation of digital chaos via hybrid control. Commun. Nonlinear Sci. Numer. Simul. 2014, 19, 1970–1984. [Google Scholar] [CrossRef]
  63. Deng, Y.; Hu, H.; Xiong, N.; Xiong, W.; Liu, L. A general hybrid model for chaos robust synchronization and degradation reduction. Inf. Sci. 2015, 305, 146–164. [Google Scholar] [CrossRef]
  64. Lu, H.; Wang, S.; Hu, G. Pseudo-random number generator based on coupled map lattices. Int. J. Mod. Phys. B 2004, 18, 2409–2414. [Google Scholar] [CrossRef]
  65. Behnia, S.; Akhshani, A.; Mahmodi, H.; Akhavan, A. A novel algorithm for image encryption based on mixture of chaotic maps. Chaos Solitons Fractals 2008, 35, 408–419. [Google Scholar] [CrossRef]
  66. Garasym, O.; Lozi, R.; Taralova, I. Robust PRNG based on homogeneously distributed chaotic dynamics. J. Phys. Conf. Ser. 2016, 692, 012011. [Google Scholar] [CrossRef]
  67. Pichardo-Méndez, J.L.; Palacios-Luengas, L.; Martínez-González, R.F.; Jiménez-Ramírez, O.; Vázquez-Medina, R. LSB Pseudorandom algorithm for image steganography using skew tent map. Arab. J. Sci. Eng. 2019, 45, 3055–3074. [Google Scholar] [CrossRef]
  68. Peitgen, H.; Jurgens, H.; Saupe, D. Fractals for the Classroom: Part Two: Complex Systems And Mandelbrot Set; Springer: New York, NY, USA, 1992. [Google Scholar]
  69. Schroeder, M. Fractals, Chaos, Power Laws: Minutes From an Infinite Paradise; Dover Publication Inc.: Mineola, NY, USA, 2009. [Google Scholar]
  70. Lasota, A.; Mackey, M.C. Chaos, Fractals, and Noise: Stochastic Aspects of Dynamics; Springer Science & Business Media: Berlin/Heidelberg, Germany, 2013; Volume 97. [Google Scholar]
  71. Grebogi, C.; Ott, E.; Yorke, J.A. Roundoff-induced periodicity and the correlation dimension of chaotic attractors. Phys. Rev. A 1988, 38, 3688–3692. [Google Scholar] [CrossRef]
  72. Alawida, M.; Samsudin, A.; Teh, J.S.; Alshoura, W.H. Deterministic chaotic finite-state automata. Nonlinear Dyn. 2019, 98, 2403–2421. [Google Scholar] [CrossRef]
  73. Fan, C.; Ding, Q. Analysing the dynamics of digital chaotic maps via a new period search algorithm. Nonlinear Dyn. 2019, 97, 831–841. [Google Scholar] [CrossRef]
  74. Franzosi, R.; Poggi, P.; Cerruti-Sola, M. Lyapunov exponents from unstable periodic orbits. Phys. Rev. E 2005, 71. [Google Scholar] [CrossRef] [PubMed]
  75. Liu, F.; Feng, Y. Dynamic multimapping composite chaotic sequence generator algorithm. AEU Int. J. Electron. Commun. 2019, 107, 231–238. [Google Scholar] [CrossRef]
  76. Whitesides, G.M. The origins and the future of microfluidics. Nature 2006, 442, 368–373. [Google Scholar] [CrossRef]
  77. Anandan, P.; Gagliano, S.; Bucolo, M. Computational models in microfluidic bubble logic. Microfluid. Nanofluidics 2014, 18, 305–321. [Google Scholar] [CrossRef]
  78. Aryasomayajula, A.; Bayat, P.; Rezai, P.; Selvaganapathy, P.R. Microfluidic devices and their applications. In Springer Handbook of Nanotechnology; Springer: Berlin/Heidelberg, Germany, 2017; pp. 487–536. [Google Scholar] [CrossRef]
  79. Azizbeigi, K.; Pedram, M.Z.; Sanati-Nezhad, A. Microfluidic-based processors and circuits design. Sci. Rep. 2021, 11. [Google Scholar] [CrossRef] [PubMed]
  80. Prakash, M.; Gershenfeld, N. Microfluidic bubble logic. Science 2007, 315, 832–835. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  81. Fuerstman, M.J.; Garstecki, P.; Whitesides, G.M. Coding/decoding and reversibility of droplet trains in microfluidic networks. Science 2007, 315, 828–832. [Google Scholar] [CrossRef]
  82. Prakash, M.; Gershenfeld, N. Microfluidic Bubble Logic Devices. U.S. Patent 7918244 B2, 11 January 2007. [Google Scholar]
  83. Li, S.; Chen, G.; Mou, X. On the dynamical degradation of digital piecewise linear chaotic maps. Int. J. Bifurc. Chaos 2005, 15, 3119–3151. [Google Scholar] [CrossRef] [Green Version]
  84. Li, Y.; Ge, G.; Xia, D. Chaotic hash function based on the dynamic S-Bx with variable parameters. Nonlinear Dyn. 2016, 84, 2387–2402. [Google Scholar] [CrossRef]
  85. Teh, J.S.; Alawida, M.; Ho, J.J. Unkeyed hash function based on chaotic sponge construction and fixed-point arithmetic. Nonlinear Dyn. 2020, 100, 713–729. [Google Scholar] [CrossRef]
  86. Rukhin, A.; Sota, J.; Nechvatal, J.; Smid, M.; Barker, E.; Leigh, S.; Levenson, M.; Vangel, M.; Banks, D.; Heckert, A.; et al. A Statistical Test Suite for Random and Pseudorandom Number Generators for Cryptographic Applications, Revision 1a; Technical Report; Information Technology Laboratory, National Institute of Standards and Technology, Department of Commerce: Gaithersburg, MD, USA, 2010. [CrossRef]
  87. Sleem, L.; Couturier, R. TestU01 and Practrand: Tools for a randomness evaluation for famous multimedia ciphers. Multimed. Tools Appl. 2020. [Google Scholar] [CrossRef]
  88. Massey, J.L. Shift-register synthesis and BCH decoding. IEEE Trans. Inform. Theory 1967, 13, 21–27. [Google Scholar] [CrossRef] [Green Version]
  89. van Tilborg, H.C.A.; Jajodia, S. Kerckhoffs’ Law. In Encyclopedia of Cryptography and Security; Springer US: Boston, MA, USA, 2011; p. 675. [Google Scholar] [CrossRef]
  90. Hough, D. (Ed.) 754-2019—IEEE Standard for Floating-Point Arithmetic; IEEE Computer Society, 754 WG Working Group for Floating Point Arithmetic; IEEE: Piscataway, NJ, USA, 2019. [Google Scholar]
  91. Zhiqiang, Z.; Yong, W.; Leo, Y.Z.; Hong, Z. A novel chaotic map constructed by geometric operations and its application. Nonlinear Dyn. 2020, 102, 2843–2858. [Google Scholar] [CrossRef]
  92. Lingfeng, L.; Bocheng, L.; Hanping, H.; Suoxia, M. Reducing the dynamical degradation by bi-coupling digital chaotic maps. Int. J. Bifurc. Chaos 2018, 28, 1850059. [Google Scholar] [CrossRef]
Figure 1. Chaotic maps are applied to x 0 , α with α = 3.0 . (a) STM and (b) FC with μ = 0 (black), μ = 0.25 α (blue), μ = 0.50 α (red), μ = 0.75 α (green), and μ = α (magenta). (c) STM and (d) FC with μ = 0.5 α and α = 0.375 (black), α = 0.75 (blue), α = 1.5 (red), and α = 3.0 (green).
Figure 1. Chaotic maps are applied to x 0 , α with α = 3.0 . (a) STM and (b) FC with μ = 0 (black), μ = 0.25 α (blue), μ = 0.50 α (red), μ = 0.75 α (green), and μ = α (magenta). (c) STM and (d) FC with μ = 0.5 α and α = 0.375 (black), α = 0.75 (blue), α = 1.5 (red), and α = 3.0 (green).
Applsci 11 05769 g001
Figure 2. Bifurcation diagram of the STM: (a) μ ∈ (0, 3.0) and α = 3.0, (b) α ∈ (0, 3.0) and μ = 0.5, (c) α ∈ (0, 3.0) and μ = 1.5, and (d) α ∈ (0, 3.0) and μ = 2.5. Red and black lines show the fixed points, and green and magenta lines show the conditions for periodic orbits.
Figure 2. Bifurcation diagram of the STM: (a) μ ∈ (0, 3.0) and α = 3.0, (b) α ∈ (0, 3.0) and μ = 0.5, (c) α ∈ (0, 3.0) and μ = 1.5, and (d) α ∈ (0, 3.0) and μ = 2.5. Red and black lines show the fixed points, and green and magenta lines show the conditions for periodic orbits.
Applsci 11 05769 g002
Figure 3. Bifurcation diagram of the FC: (a) μ ( 0 , 3.0 ) and α = 3.0, (b) α ( 0 , 3.0 ) and μ = 0.5, (c) α ( 0 , 3.0 ) and μ = 1.5, and (d) α ( 0 , 3.0 ) and μ = 2.5. Red lines show the fixed points of the chaotic system.
Figure 3. Bifurcation diagram of the FC: (a) μ ( 0 , 3.0 ) and α = 3.0, (b) α ( 0 , 3.0 ) and μ = 0.5, (c) α ( 0 , 3.0 ) and μ = 1.5, and (d) α ( 0 , 3.0 ) and μ = 2.5. Red lines show the fixed points of the chaotic system.
Applsci 11 05769 g003
Figure 4. Bifurcation diagram of the FC when μ = 1.5. (a) α ( 1.405 , 1.425 ) , it corresponds to a close-up on Figure 3c. (b) α ( 1.408 , 1.422 ) , it corresponds to a close-up on (a). (c) α ( 1.402 , 1.4205 ) , it corresponds to a close-up on (b). (d) α ( 1.402 , 1.4205 ) , it corresponds to a close-up on (c).
Figure 4. Bifurcation diagram of the FC when μ = 1.5. (a) α ( 1.405 , 1.425 ) , it corresponds to a close-up on Figure 3c. (b) α ( 1.408 , 1.422 ) , it corresponds to a close-up on (a). (c) α ( 1.402 , 1.4205 ) , it corresponds to a close-up on (b). (d) α ( 1.402 , 1.4205 ) , it corresponds to a close-up on (c).
Applsci 11 05769 g004
Figure 5. Trajectory diagrams. (a) STM when α = 3.0, μ = 0.9, and x 0 = 1.9 (chaotic trajectory), (b) STM when α = 3.0, μ = 1.5, and x 0 = 0.0626 (short trajectory reaches the fixed point x * = 2.0), (c) FC when α = 3.0, μ = 0.9, and x 0 = 1.9 (chaotic trajectory), and (d) FC when α = 3.0, μ = 1.5, and x 0 = 1.460321868288294 (short trajectory reaches the fixed point x * = 3.0).
Figure 5. Trajectory diagrams. (a) STM when α = 3.0, μ = 0.9, and x 0 = 1.9 (chaotic trajectory), (b) STM when α = 3.0, μ = 1.5, and x 0 = 0.0626 (short trajectory reaches the fixed point x * = 2.0), (c) FC when α = 3.0, μ = 0.9, and x 0 = 1.9 (chaotic trajectory), and (d) FC when α = 3.0, μ = 1.5, and x 0 = 1.460321868288294 (short trajectory reaches the fixed point x * = 3.0).
Applsci 11 05769 g005
Figure 6. (a) λ σ for the STM when α = 3.0 and μ (0, α ), (b) λ τ for the FC when α = 3.0 and μ (0, α ), (c) λ σ for the STM when α (0, 3.0) and μ = 0.3 (blue line), μ = 1.5 (red line), and μ = 2.5 (magenta line), and (d) λ τ for the FC when α (0, 3.0) and μ = 0.3 (blue line), μ = 1.5 (red line), and μ = 2.5 (magenta line).
Figure 6. (a) λ σ for the STM when α = 3.0 and μ (0, α ), (b) λ τ for the FC when α = 3.0 and μ (0, α ), (c) λ σ for the STM when α (0, 3.0) and μ = 0.3 (blue line), μ = 1.5 (red line), and μ = 2.5 (magenta line), and (d) λ τ for the FC when α (0, 3.0) and μ = 0.3 (blue line), μ = 1.5 (red line), and μ = 2.5 (magenta line).
Applsci 11 05769 g006
Figure 7. Sequences produced by both chaotic maps when x 0 = 0.5 , α = 3.0 , and μ = 2 , with ϵ 0 = 0.0 (black), ϵ 0 = 1 × 10 2 (blue), ϵ 0 = 1 × 10 3 (red), ϵ 0 = 1 × 10 4 (green), and ϵ 0 = 1 × 10 5 (magenta), (a) STM and (b) FC.
Figure 7. Sequences produced by both chaotic maps when x 0 = 0.5 , α = 3.0 , and μ = 2 , with ϵ 0 = 0.0 (black), ϵ 0 = 1 × 10 2 (blue), ϵ 0 = 1 × 10 3 (red), ϵ 0 = 1 × 10 4 (green), and ϵ 0 = 1 × 10 5 (magenta), (a) STM and (b) FC.
Applsci 11 05769 g007
Figure 8. Sensitivity to initial conditions for the FC and the STM, (a) N t h ( δ , k ) and (b) L ( δ , k ) versus k, considering k [1, 15], x 0 = 0.1, μ = 1.0, α = 2.0, and n = 1000 with δ = 1 × 10 3 (“■”) and δ = 1 × 10 5 (“▲”).
Figure 8. Sensitivity to initial conditions for the FC and the STM, (a) N t h ( δ , k ) and (b) L ( δ , k ) versus k, considering k [1, 15], x 0 = 0.1, μ = 1.0, α = 2.0, and n = 1000 with δ = 1 × 10 3 (“■”) and δ = 1 × 10 5 (“▲”).
Applsci 11 05769 g008
Figure 9. (a) Sensitivity level for the STM, considering 100 randomly selected initial conditions; (b) Sensitivity level for the FC, considering 100 randomly selected initial conditions; (c) Sensitivity index for the STM and (d) Sensitivity index for the FC. In all cases we consider k [1, 15], x 0 = 0.1, μ = 1.0, α = 2.0, and n [1, 5000].
Figure 9. (a) Sensitivity level for the STM, considering 100 randomly selected initial conditions; (b) Sensitivity level for the FC, considering 100 randomly selected initial conditions; (c) Sensitivity index for the STM and (d) Sensitivity index for the FC. In all cases we consider k [1, 15], x 0 = 0.1, μ = 1.0, α = 2.0, and n [1, 5000].
Applsci 11 05769 g009
Figure 10. Block diagram of the proposed PRNG.
Figure 10. Block diagram of the proposed PRNG.
Applsci 11 05769 g010
Figure 11. Statistical distribution for the different correlation coefficients.
Figure 11. Statistical distribution for the different correlation coefficients.
Applsci 11 05769 g011
Figure 12. Statistical distribution for the sensitivity metrics estimated from 1000 pseudorandom sequences considering that the PRNG keys are very close to each other: (a) NPCR 16 (p,q), (b) NPCR 8 (p,q), (c) UACI 16 (p,q), (d) UACI 8 (p,q), (e) AAD 16 (p,q), and (f) AAD 8 (p,q).
Figure 12. Statistical distribution for the sensitivity metrics estimated from 1000 pseudorandom sequences considering that the PRNG keys are very close to each other: (a) NPCR 16 (p,q), (b) NPCR 8 (p,q), (c) UACI 16 (p,q), (d) UACI 8 (p,q), (e) AAD 16 (p,q), and (f) AAD 8 (p,q).
Applsci 11 05769 g012
Figure 13. Linear complexity profile for 1000 sequences of pseudorandom numbers for the proposed PRNG. (a) considering sequences from 1 to 200,000 bits. (b) zoom of (a) considering sequences from 100,000 to 100,050 bits.
Figure 13. Linear complexity profile for 1000 sequences of pseudorandom numbers for the proposed PRNG. (a) considering sequences from 1 to 200,000 bits. (b) zoom of (a) considering sequences from 100,000 to 100,050 bits.
Applsci 11 05769 g013
Table 1. Fixed points and conditions that produce periodic orbits for the two chaotic maps.
Table 1. Fixed points and conditions that produce periodic orbits for the two chaotic maps.
STMConditionsFCConditions
x ( 1 ) = 0 α μ x ( 1 ) = 0 0 < μ < α
x ( 1 ) = α 2 2 α μ α > μ x ( 1 ) = μ 0 < μ < α ; α < 2 π
x ( 1 ) = α 0 < μ < α ; α < 2 π
x ( 2 ) = α 2 μ α 2 + μ α μ 2 0 < μ < α ; α < 2 π x ( 2 ) = 0.0265743377... μ = 0.5 ; α = 3.0
x ( 2 ) = α 3 α 2 + μ α μ 2 0 < μ < α ; α < 2 π x ( 2 ) = 0.5071716543... μ = 0.5 ; α = 3.0
x ( 3 ) = 2 α 2 8 α 3 + 2 α 1 0 < α < 2 π , μ = 0.5 x ( 3 ) = 0.0396498406... μ = 0.5 ; α = 3.0
x ( 3 ) = 2 α 2 8 α 3 4 α 2 + 4 α 1 0 < α < 2 π , μ = 0.5 x ( 3 ) = 0.0400220305... μ = 0.5 ; α = 3.0
x ( 3 ) = 4 α 3 8 α 3 + 2 α 1 0 < α < 2 π , μ = 0.5 x ( 3 ) = 0.1121005595... μ = 0.5 ; α = 3.0
x ( 3 ) = 4 α 3 8 α 3 4 α 2 + 4 α 1 0 < α < 2 π , μ = 0.5 x ( 3 ) = 0.1298899309... μ = 0.5 ; α = 3.0
x ( 3 ) = 2 α 2 4 α 1 0 < α < 2 π , μ = 0.5 x ( 3 ) = 0.2041531102... μ = 0.5 ; α = 3.0
x ( 3 ) = 8 α 4 4 α 3 + 2 α 2 8 α 3 4 α 2 + 4 α 1 0 < α < 2 π , μ = 0.5 x ( 3 ) = 0.2041531102... μ = 0.5 ; α = 3.0
x ( 3 ) = 8 α 4 8 α 3 + 2 α 1 0 < α < 2 π , μ = 0.5 x ( 3 ) = 0.4303378921... μ = 0.5 ; α = 3.0
x ( 4 ) = 2 α 2 16 α 4 + 2 α 1 0 < α < 2 π , μ = 0.5 x ( 4 ) = 0.0000750067... μ = 0.5 ; α = 3.0
x ( 4 ) = 2 α 2 16 α 4 4 α 2 + 4 α 1 0 < α < 2 π , μ = 0.5 x ( 4 ) = 0.1151873680... μ = 0.5 ; α = 3.0
x ( 4 ) = 4 α 3 16 α 4 + 2 α 1 0 < α < 2 π , μ = 0.5 x ( 4 ) = 0.3046575007... μ = 0.5 ; α = 3.0
x ( 4 ) = 4 α 3 16 α 4 4 α 2 + 4 α 1 0 < α < 2 π , μ = 0.5 x ( 4 ) = 0.4729887207... μ = 0.5 ; α = 3.0
x ( 4 ) = 8 α 4 4 α 3 + 2 α 2 16 α 4 + 8 α 3 12 α 2 + 6 α 1 0 < α < 2 π , μ = 0.5 x ( 4 ) = 0.6234955250... μ = 0.5 ; α = 3.0
x ( 4 ) = 2 α 2 4 α 2 + 2 α 1 0 < α < 2 π , μ = 0.5 x ( 4 ) = 1.3498296254... μ = 0.5 ; α = 3.0
x ( 4 ) = 8 α 4 16 α 4 + 2 α 1 0 < α < 2 π , μ = 0.5 x ( 4 ) = 1.5242944437... μ = 0.5 ; α = 3.0
x ( 4 ) = 8 α 4 16 α 4 4 α 2 + 4 α 1 0 < α < 2 π , μ = 0.5 x ( 4 ) =1.7744661356... μ = 0.5 ; α = 3.0
x ( 4 ) = 16 α 4 8 α 3 + 2 α 2 16 α 4 + 8 α 3 12 α 2 + 6 α 1 0 < α < 2 π , μ = 0.5 x ( 4 ) = 1.9484472133... μ = 0.5 ; α = 3.0
x ( 4 ) = 2 α 2 4 α 1 0 < α < 2 π , μ = 0.5 x ( 4 ) = 2.5475266813... μ = 0.5 ; α = 3.0
x ( 4 ) = 16 α 5 8 α 4 + 4 α 3 16 α 4 + 8 α 3 12 α 2 + 6 α 1 0 < α < 2 π , μ = 0.5 x ( 4 ) = 2.6286105510... μ = 0.5 ; α = 3.0
x ( 4 ) = 4 α 3 4 α 2 + 2 α 1 0 < α < 2 π , μ = 0.5 x ( 4 ) = 2.7855644262... μ = 0.5 ; α = 3.0
x ( 4 ) = 16 α 5 4 α 3 + 2 α 2 16 α 4 + 8 α 3 12 α 2 + 6 α 1 0 < α < 2 π , μ = 0.5 x ( 4 ) = 2.8315128133... μ = 0.5 ; α = 3.0
x ( 4 ) = 16 α 5 4 α 3 + 2 α 2 16 α 4 4 α 2 + 4 α 1 0 < α < 2 π , μ = 0.5 x ( 4 ) = 2.9105145253... μ = 0.5 ; α = 3.0
x ( 4 ) = 16 α 5 16 α 4 + 2 α 1 0 < α < 2 π , μ = 0.5 x ( 4 ) = 2.9943872569... μ = 0.5 ; α = 3.0
Table 2. Some preimages of fixed points for the two chaotic maps considering 0 < μ < α and α < 2 π and k = 1 , 2 , 3 , . . . .
Table 2. Some preimages of fixed points for the two chaotic maps considering 0 < μ < α and α < 2 π and k = 1 , 2 , 3 , . . . .
x p = σ k ( μ , α , x * ) x p = τ k ( μ , α , x * )
x α or x 0 μ π arcsin μ α , k = 1
α μ 2 α μ μ μ π arcsin μ α , k = 1
μ 2 2 α μ μ + α μ π arcsin μ α , k = 1
μ k α k 2 ( 2 α μ ) α α μ π arcsin μ α , k = 1
2 α k α k 1 μ α μ k 1 + μ k α k 2 ( 2 α μ ) x = μ 2 , k = 2
μ k ( 2 μ 2 2 α μ μ 2 ) α k ( 2 α μ ) α + μ 2 , k = 2
2 α k α k 1 μ 2 α k 4 μ k 3 4 α k 5 μ k 2 3 α μ k 1 + μ k ) α k 2 ( 2 α μ ) μ π arcsin 2 α μ , k = 2
μ μ π arcsin 2 α μ , k = 2
μ + α μ π arcsin 2 α μ , k = 2
α μ α π arcsin 2 α μ , k = 2
Table 3. Results of pseudorandomness tests applying the NIST SP 800-22 suite to 2000 binary sequences with a 1,000,000-bit length.
Table 3. Results of pseudorandomness tests applying the NIST SP 800-22 suite to 2000 binary sequences with a 1,000,000-bit length.
8-Bit16-Bit32-Bit
Statistical TestProportion P v a l u e T Proportion P v a l u e T Proportion P v a l u e T Result
Frequency1983/20000.5081721984/20000.2798441979/20000.332188Success
BlockFrequency1978/20000.1364991976/20000.4749861984/20000.061453Success
CumulativeSums *1982/20000.7858791981/20000.3855431980/20000.401199Success
Runs1983/20000.8724251979/20000.1516161986/20000.119857Success
LongestRun1977/20000.3078181983/20000.7617191977/20000.709558Success
Rank1981/20000.5412161976/20000.8377811984/20000.536163Success
FFT1973/20000.2398831981/20000.0407681972/20000.020973Success
NonOverlappingTemplate *1979/20000.7704991980/20000.9857881985/20000.716696Success
OverlappingTemplate1973/20000.7906211975/20000.7146601982/20000.640243Success
Universal1981/20000.5472981980/20000.0606831974/20000.610070Success
ApproximateEntropy1974/20000.0578751975/20000.4963511976/20000.016431Success
RandomExcursions *1222/12420.6404781228/12400.9582601231/12400.887740Success
RandomExcursionsVariant *1973/20000.8739871988/20000.9614401978/20000.829047Success
Serial *1983/20000.3578201978/20000.0385651989/20000.899171Success
LinearComplexity1981/20000.0593581981/20000.1880901980/20000.279844Success
* Average of multiple tests is considered.
Table 4. Results of pseudorandomness tests using TestU01 suite.
Table 4. Results of pseudorandomness tests using TestU01 suite.
PRNG Configuration
8-Bit16-Bit32-Bit
SizeAlphabitRabbitAlphabitRabbitAlphabitRabbit
2 26 17/1740/4017/1740/4017/1740/40
2 28 17/1740/4017/1740/4017/1740/40
2 30 17/1740/4017/1740/4017/1740/40
BigCrush160/160160/160160/160
Table 5. Clock cycles consumed by the proposed PRNG when the 8, 16, or 32-bit configurations are used.
Table 5. Clock cycles consumed by the proposed PRNG when the 8, 16, or 32-bit configurations are used.
PRNG Configuration
Microcontroller8-Bit16-Bit32-Bit
Architecture
8-bit141,645132,92025,139
16-bit67,69965,29012,319
32-bit33,20630,6055308
Table 6. Execution time to generate 1,000,000 pseudorandom numbers by using the proposed PRNG considering the three configurations.
Table 6. Execution time to generate 1,000,000 pseudorandom numbers by using the proposed PRNG considering the three configurations.
PRNG ConfigurationRunning Speed (MBytes/s)
8-bit4.720276
16-bit9.163551
32-bit19.978822
Table 7. Comparison analysis of the proposed PRNG against similar algorithms.
Table 7. Comparison analysis of the proposed PRNG against similar algorithms.
TestProposed PRNGZhang et al. [91]Liu et al. [92]Huang et al. [41]
Corr. Coeff. b [−0.032, 0.029][−0.035, 0.035]
Key Sensit: Corr. Coeff b 0.0092780.007724
Key Sensit: The variance ratio (D) a 49.9872%49.9850%49.9950%
Key space 2 576 2 136 2 184 2 448
Running speed (MB/s)19.978822 b 65.867475 b
4.720276 a 2.729887 a 2.688817 a
a 8-bit generator and b 32-bit generator.
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Palacios-Luengas, L.; Marcelín-Jiménez, R.; Rodriguez-Colina, E.; Pascoe-Chalke, M.; Jiménez-Ramírez, O.; Vázquez-Medina, R. Function Composition from Sine Function and Skew Tent Map and Its Application to Pseudorandom Number Generators. Appl. Sci. 2021, 11, 5769. https://0-doi-org.brum.beds.ac.uk/10.3390/app11135769

AMA Style

Palacios-Luengas L, Marcelín-Jiménez R, Rodriguez-Colina E, Pascoe-Chalke M, Jiménez-Ramírez O, Vázquez-Medina R. Function Composition from Sine Function and Skew Tent Map and Its Application to Pseudorandom Number Generators. Applied Sciences. 2021; 11(13):5769. https://0-doi-org.brum.beds.ac.uk/10.3390/app11135769

Chicago/Turabian Style

Palacios-Luengas, Leonardo, Ricardo Marcelín-Jiménez, Enrique Rodriguez-Colina, Michael Pascoe-Chalke, Omar Jiménez-Ramírez, and Rubén Vázquez-Medina. 2021. "Function Composition from Sine Function and Skew Tent Map and Its Application to Pseudorandom Number Generators" Applied Sciences 11, no. 13: 5769. https://0-doi-org.brum.beds.ac.uk/10.3390/app11135769

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop