Design, Analysis, and Application of Flipped Product Chaotic System

In this paper, a novel method is proposed to build an improved 1-D discrete chaotic map called flipped product chaotic system (FPCS) by multiplying the output of one map with the output of a vertically flipped second map. Two variants, each with nine combinations, are shown with trade-off between computational cost and performance. The chaotic properties are explored using the bifurcation diagram, Lyapunov exponent, Kolmogorov entropy, and correlation coefficient. The proposed schemes offer a wider chaotic range and improved chaotic performance compared to the constituent maps and several prior works of similar nature. Wide chaotic window and improved chaotic complexity are two desired characteristics for several security applications as these two characteristics ensure enhanced design space with elevated entropic properties. We present a general Field-Programmable Gate Array (FPGA) design framework for the hardware implementation of the proposed flipped-product schemes and the results show good qualitative agreement with the numerical results from MATLAB simulation. Finally, we present a new Pseudo Random Number Generator (PRNG) using the two variants of the proposed chaotic map and validate their excellent randomness property using four standard statistical tests, namely NIST, FIPS, TestU01, and Diehard.


I. INTRODUCTION
Since Lorenz's seminal work demonstrating chaotic motion on a strange attractor in 1963 [1], chaos has attracted a lot of attention from diverse fields of enquiry. Nonlinear problems attract the interest of researches from a wide range of disciplines including, biology, physics, chemistry, ecology and engineering [2], as most systems of nature are inherently nonlinear. Nonlinear dynamics describe the change of the state variables of a system over time. When the steady-state trajectory of a nonlinear deterministic dynamic system shows aperiodicity and extreme sensitivity to slight perturbation of initial state, we refer to this phenomenon as 'chaos'. When the parameters of a nonlinear deterministic dynamic system are The associate editor coordinating the review of this manuscript and approving it for publication was Chao-Yang Chen . tuned to the chaotic window, the output of the system never repeats and two initial states, even if they are infinitesimally close, drastically diverge and result in two completely uncorrelated steady-state trajectories. This extreme sensitivity to the initial state is popularly know as 'the butterfly effect' i.e. a tiny change caused by a butterfly flapping its wings in one region leading to a drastic change of weather in another distant part of the globe. These two defining features, namely, deterministic aperiodicity and sensitive dependence on the initial state render chaotic systems suitable for numerous applications including, data and image encryption [3], [4], [5], pseudo-random number generation (PRNG) [6], [7], [8], dynamical system modeling [9], [10], reconfigurable logic [11], [12], side channel attack mitigation [13], [14], secure communication [15], [16], logic obfuscation [17], [18] and so on.
Based on the nature of the time steps, chaotic systems can be divided into two categories: i) Continuous-time ii) Discrete-time chaotic systems. Logistic [19], sine, and tent maps are classic examples of one-dimensional (1-D) discretetime maps defined by the evolution of one state variable according to one equation in discrete time steps whereas, Henon map [20] is an example of a famous two-dimensional discrete-time map. On the other hand, Lorenz system [1] is a famous example of a multi-dimensional continuous-time chaotic system as it is constituted of three coupled ordinary differential equations that define the evolution of three state variables as a function of time in continuous domain. While all classes have found their way in numerous security applications, 1-D discrete-time maps have gained popularity for their simplicity in implementation. In this work, we confine our discussion to 1-D discrete-time maps.
One weakness of 1-D discrete-time maps comes from fact that most common systems are not robust since they exhibit strong chaotic property only within a very narrow range of parameter values. Beyond this narrow window, the chaotic properties of these maps degrade and eventually disappear. That poses a problem in the security applications as the system may deviate from narrow chaotic window due to undesirable parameter fluctuations, causing a security compromise. Hence, robust chaos i.e. absence of periodic windows and coexisting attractors in some neighborhood in the parameter space of a dynamical system [21] is desirable which can mitigate such issues [22], [23]. Another shortcoming is that the entropy of the generated sequence even within this narrow range is not very high as measured by different entropy metrics such as Lyapunov exponent, Kolmogorov entropy etc. Due to poor entropic properties, many chaotic system behavior can be analyzed and predicted [24], [25] compromising their potential for security applications. Multiple schemes have been reported to improve the chaotic performance of discrete-time 1D maps. Deng et al. proposed a feedback control method to mitigate performance degradation of digital chaotic systems [26]. Li et al. introduced a reseeding-mixing method [27] to build high throughput PRNG using logistic map but it lacks parameter reconfigurability since the design was optimized for a single parameter value with high chaotic entropy. Another reported method is to widen the chaotic region of a map by modulating the chaotic parameter within a narrow high-performance range through a linear transformation of the output from a second map [28], [29]. This scheme, however, does not necessarily improve the Lyapunov exponent and is susceptible to performance degradation through perturbation in the linear transformation block. Cascading multiple maps under certain conditions improves chaotic entropy as shown in [29], [30] but this scheme does not necessarily improve the chaotic parameter range and can lead to unpredictable behavior for two maps with unequal parameter value [31]. An exponential chaotic map was introduced in [23] which exhibits robust chaos but the entropy is limited to the highest value achievable by its seed maps and it requires computationally expensive exponentiation and logarithmic operation making hardware implementation in resource constrained applications difficult.
In this work, we propose a general framework of 1-D chaotic maps called flipped product chaotic map (FPCM) where the output of one map is multiplied with the output of a vertically flipped second map to get the final output. With the help of bifurcation plot and chaotic entropy measures, it is demonstrated that FPCM offers a wider chaotic region with improved chaotic entropy than the constituent maps henceforth referred to as seed maps. We first propose the basic scheme called Basic Flipped-Product Chaotic System (BFPCS) and then show an improved version called Enhanced Flipped-Product Chaotic System (EFPCS) requiring more computational cost. A field-programmable gate array (FPGA) design is presented to demonstrate a possible hardware implementation of these schemes. Finally, we introduce a new pseudo-random number generator (PRNG) using the novel map and demonstrate its excellent properties using four standard statistical tests, namely NIST, FIPS, TestU01, and Diehard.
The remainder of the paper is organized as follows: the seed maps are introduced in section-II. The general scheme is presented in section-III followed by two variants in section-IV and section-V accompanied with requisite analysis of their chaotic properties using transfer curve, bifurcation diagram, Lyapunov exponent, Kolmogorov entropy, and correlation coefficient. section-VI compares the proposed work with similar prior works. An FPGA implementation using Verilog HDL (hardware description language) is presented in section-VII. Section-VIII introduces a novel PRNG scheme using the proposed map and validates its excellent properties using standard statistical tests. Finally, section-IX gives the concluding remarks with possible future direction of our research.

II. SEED MAPS
This section reviews three existing 1-D chaotic maps namely, logistic, tent, and sine maps as background. They will be used as seed maps to generate new chaotic maps in Section-IV and section-V. For ease of comparison, we are using the normalized versions of these seed maps such that their domain, range, and parameter values are within [0, 1].
Logistic map can be mathematically defined as, where r is the control parameter and r ∈ [0, 1].
Tent map can be mathematically defined as, where r is the control parameter and r ∈ [0, 1]. Sine map can be mathematically defined as, where r is the control parameter and r ∈ [0, 1].  The transfer curve shows the input-output characteristics of a map for different values of the control parameter. The transfer curves for the three seed maps are shown in Fig. 1(a-c) and the transfer curves for their corresponding flipped maps are shown in Fig. 1(d-f). The effect of a control parameter on a dynamical system can be visualized with a bifurcation diagram where for each parameter value, a long sequence of steady-state output values is plotted. The advantage of the bifurcation diagram is that it clearly shows the period doubling process which causes the system to transition from a fixed point to a periodic region and eventually to a chaotic region while the control parameter is varied. The chaotic property in the output is evaluated with a widely used metric called the Lyapunov exponent (LE). A positive LE demonstrates the existence of chaotic behavior [2]. Fig. 2 plots the bifurcation diagrams and LEs of the logistic, sine, and tent maps with the change of their control parameters. As can be observed, the logistic, sine, and tent maps have chaotic behaviors when r ∈ [0.89, 1], r ∈ [0.87, 1], and r ∈ (0.5, 1), respectively.

III. PROPOSED SCHEME
As shown by Feigenbaum [32], any differential unimodal (V-shape or inverted V-shape) map can potentially generate a chaotic sequence. In this work, we propose a general scheme to combine two 1-D maps of opposite shape (V and inverted V-shape) with one common parameter into a single map called flipped product chaotic map (FPCM) with improved chaotic properties. As constituent seed maps, we consider three common 1-D inverted-V shape discrete maps, namely logistic, tent, and sine maps. Then we introduce the concept of flipped map which is obtained by vertically flipping these maps. If we have a seed map, S(r, x) with highest value of S max , its flipped version S f (r, x) can be written as, S f (r, x) = S max −S(r, x). For the three considered seed maps, S max = 1. Now, Fig. 3 shows the schematic of the proposed flipped product chaotic system (FPCS). The output of a seed map is multiplied with the output of a flipped map. The control parameter, r, remains the same for both the seed map and flipped map. There is a scaling factor A, which is chosen to ensure that the maximum output of the FPCM does not exceed 1. This FPCM output is then fed back as input for the next iteration to build the chaotic oscillator system henceforth called FPCS (flipped product chaotic system). The flipped product chaotic map can be mathematically defined as, where r is the control parameter. It is assumed that the ranges of state variable and control parameters for all considered maps are in the interval [0,1].
In the next section, we introduce the basic flipped product chaotic system (BFPCS) where A is a global constant for a particular map irrespective of the value of the control parameter, r. Then in Section-V, we introduce the enhanced flipped product chaotic system (EFPCS) where A is a function of r which leads to further improvement of the chaotic properties.

IV. BASIC FLIPPED-PRODUCT CHAOTIC SYSTEM (BFPCS)
In basic flipped product chaotic system (BFPCS), A is considered a constant, independent of the control parameter, r. For any seed map S(r, x), A is set as the maximum possible value of S * S f (r, x) for all x, r ∈ [0, 1].

A. MATHEMATICAL EXPRESSION
Using three constituent seed maps (logistic, tent, and sine), there can be nine possible FPCMs. In Table-1, the mathematical expressions for these nine combinations along with the corresponding scaling factor A are shown.

B. TRANSFER CHARACTERISTICS
The transfer curves for the nine possible combinations of FPCM are shown in Fig. 4. As we can see from these figures, the output of these FPCMs cover the entire range with more oscillation due to their bimodal characteristics in contrast to the unimodal transfer curve (Fig. 1) of their constituent seed maps which lie at the core of their improved characteristics. Fig. 5 shows the bifurcation diagrams of nine combinations of BFPCS. It shows that the BFPCS has a wider chaotic range with higher signal swing compared to the seed maps when both constituent maps are of the same type, namely Logistic-flipped-Logistic (LL f ), Tent-flipped-Tent (TT f ), and Sine-flipped-Sine (SS f ). However, when the two maps are different, the improvement is less pronounced. Later, in Section-V, we will introduce an improvement scheme that gets rid of this problem.

D. LYAPUNOV EXPONENT (LE)
A characteristic of the chaotic system is the sensitive dependence on its initial condition. On average, two adjacent orbits, generating from slightly different initial conditions, will diverge exponentially fast under chaotic operating conditions. Lyapunov exponent is a widely used parameter to measure this exponential divergence capturing the system's sensitive dependence on the initial condition. For a discrete-time chaotic map f (x), it is defined as [2], Here, n is the total number of iterations and f (x i ) indicates the first derivative of the map function at its i th iteration. If the operating region consists of stable fixed points or cycles, LE is negative whereas, for chaotic attractors, its value is positive [2]. Bigger positive LE values indicate faster divergence of output trajectories and consequently, better chaotic performance. Fig. 6 shows the comparison of LE value between the nine BFPCMs and corresponding seed maps. It is found that in general, they have positive LE value within a much wider parameter window and the values are significantly higher compared to their constituent seed maps.

E. KOLMOGOROV ENTROPY (KE)
KE is another useful metric to quantitatively measure the complexity in a given sequence [33]. It captures how much extra information is required to predict the next output of a dynamical system given its previous outputs and is defined in 6 [33].
× ln(p(i 1 , i 2 , . . . ., i d )) (6) Positive KE implies chaotic unpredictability and a higher value implies increased unpredictability. We have generated  Fig. 7 shows the comparison of KE value between nine BFPCMs and corresponding seed maps. As this figure shows, BFPCM, in general, has a positive KE value within a much wider parameter window and the values are significantly higher compared to the traditional seed maps.

F. CORRELATION COEFFICIENT (CC)
The correlation between two sequences of data X and Y can be measured by Pearson's correlation coefficient CC(X , Y ) defined as [28], Here, µ and σ represent the mean value and standard deviation, respectively. The expectation operator is denoted by 'E[]'. The value of CC is between −1 and +1. If the correlation value is close to +1/−1, then two data sequences are highly correlated i.e. their relationship comes close to a linear dependence. On the other hand, a correlation value close to 0 indicates no discernible relationship between the data sequences. Here, we have used CC to measure the sensitive dependence of a chaotic map on initial value and parameters. Fig. 8 shows the value of CC between a pair of long sequences generated from a slightly different initial condition for different values of parameter r. Within the non-chaotic window, we expect this value to be close to 1 due to the convergence of both sequences. However, inside the chaotic window, a slight change in initial condition eventually leads to exponential divergence of both sequences and lead to an almost uncorrelated sequence i.e. CC ≈ 0. Similarly, Fig. 9 shows the CC between pairs of sequences generated from slightly perturbed parameter values. Fig. 8 and Fig. 9 clearly show that the BFPCM maps have wider chaotic region compared to the seed maps with high sensitivity to perturbation in initial value and parameter and the chaotic window matches with the bifurcation diagrams shown in Fig. 5.

V. ENHANCED FLIPPED-PRODUCT CHAOTIC SYSTEM (EFPCS)
In this section, we propose an improved configuration called enhanced flipped product chaotic system (EFPCS) which gets rid of some of the limitations of the initial scheme, BFPCS. In contrast to BFPCS, the scaling factor, A is not a constant for a particular map. Rather it varies as a function of r. We came up with an analytical or semi-analytical expression for A(r), which gives the maximum value of the product for that particular r. This ensures a very wide chaotic region with good entropic properties for all combinations.

A. MATHEMATICAL EXPRESSION
We illustrate this scheme for Logistic-flipped-Tent (LT f ). For LT f , we define the product, p(r, x) as p(r, x) = L(r, x) * T f (r, x). The value of x at which we get the maximum  value of this product for a particular r can be evaluated as factor, A would be A = p(r, x max ). Similarly, for all other combinations, the crucial step is the calculation of the corresponding x max . Table 2 gives the mathematical expressions for all nine combinations along with corresponding A and x max . For some combinations such as LS f , there is no close-form analytical solution and in those cases, we have approximated the solution with simple piece-wise linear or exponential functions along with a correction factor (cf ) which is set to 1.005.

B. TRANSFER CHARACTERISTICS
The transfer curves for the nine possible combinations derived using Table 2 are shown in Fig. 10. As we can see from these figures, unlike BFPCMs, the output of these EFPCMs has a higher signal swing for all parameter values (4) which lead to its enhanced performance as demonstrated in the following subsections. Fig. 11 shows the bifurcation diagrams of nine combinations of EFPCS. These maps have significantly wider (close to 100% in most cases) chaotic range with higher signal swing compared to seed maps (Fig. 2) and BFPCS (Fig. 5). Fig. 12 shows the Lyapunov exponents for all nine combinations using EFPCS. They have positive LE values across almost the entire parameter window and the values are significantly higher compared to their constituent seed maps. These figures also show marked improvement in LE compared to BFCPS (Fig. 6).   Fig. 13 shows the comparison of KE value between nine combinations of EFPCS and corresponding seed maps. As evident from this figure, EFPCS has a positive KE value across almost the entire parameter range with higher values compared to their constituent seed maps. The KE values also show significant improvement compared to BFPCS (Fig. 7).  Fig. 14 and Fig. 15 show the CCs capturing the initial value and parameter sensitivity, respectively for all nine combinations using EFPCS. These figures are consistent with our findings from the bifurcation diagram, LE, and KE and clearly demonstrate chaotic operation (implied by CC value of 0) within a much wider window compared to seed maps and BFCPS (Fig. 8 and Fig. 9).

VI. PERFORMANCE COMPARISON
The first advantage of the proposed design is its much wider chaotic region i.e. increase in the quantity of chaotic design space. The second advantage is higher entropic properties across wider chaotic range i.e. improvement of quality of chaotic operation. Due to finite precision arising from discretized digital representation, only finite number of distinct parameters values are available within a certain range of real numbers. For a particular digital implementation, if a system has p parameters and each parameter can have N distinct values, then the entire parameter space (EPS) can be defined   as the ratio of CPS to EPS [35].
For quality assessment, we are averaging LE, KE, and the absolute value of CC across the chaotic region to come up with a single global metric for each entropy measure. Higher average LE (ALE), and average KE (AKE) imply better entropic properties. Similarly, a lower average CC magnitude (ACC) closer to zero implies more initial state sensitivity i.e. better chaotic quality. We also report the maximum value of LE, and KE (MLE and MKE) and minimum absolute value of two types of CC (mCC). In addition, the dynamic swing range of the steady state output voltage inside the chaotic region should be as close to highest output range, R as possible. This is captured by a metric called average normalized dynamic range (ANDR) [35] which is defined as, Table 3 compares our proposed design, EFPCS (in bold) with the three basic seed maps as well as four previous works, namely ZBC [34], CCS [30], DPCCS [28] and ECM [23] using the above mentioned metrics and it shows significant improvement considering all aspects of chaotic operation.

VII. FPGA IMPLEMENTATION A. FPGA DESIGN OF FPCS
As a representative example to show the simplicity of FPCS implementation, we have used Verilog to implement  Tent-flipped-Tent (TT f ) in FPGA using both BFPCS and EFPCS. The state variable and control parameter for all considered maps are real numbers in the interval [0,1]. To represent them in hardware, real numbers between 0 and 1 are divided into 2 64 + 1 states and each value is represented by a 65-bit binary number. The 64 least significant bits (LSB) are used to represent [0,1) and the most significant bit (MSB) is used to include 1. The circuit has two 65-bit inputs r and x. The output is also a 65-bit number denoted by x output as shown in Fig. 16.
There are two modules that make up the digital circuit as shown in Fig. 16: 1. Tent_f_Tent: This module implements the mathematical operation needed to compute FPCM. Here, we show results for Tent-flipped-Tent (TT f ) map using both BFPCS or EFPCS scheme.
2. FSM: This module is used to store the value of the state variable x i of the chaotic system as its state. In the first round, the initial state (x 0 ) is defined by the user defined input. After the device user presses the start button, the circuit updates the state in every clock cycle with the output of the module 'Tent_f_Tent'based on the previous state.

B. RESULTS
We have computed the first 60 iterations for TT f map in both MATLAB and FPGA and compared these values in Fig. 17. The sequence produced by MATLAB and FPGA start diverging around 50 th iteration for x 0 = 0.3 and r = 0.5 as shown in figure 17. This is inevitable given the different number representation method between 64-bit IEEE-754 floatingpoint representation [36] in MATLAB and our fixed point FPGA implementation. However, in security applications, the more important consideration is having a chaotic sequence with good long-term entropic characteristics which can be evaluated by metrics such as LE, KE, and CC. We have calculated these metrics for different values of r for MATLAB and FPGA implementation of TT f using both BFPCS and EFPCS. The comparison results between MATLAB and FPGA for BFPCS and EFPCS are shown in Fig. 18 and Fig. 19, respectively. As it clearly shows, FPGA results match very well with MATLAB results over the entire range demonstrating their functional equivalence.

VIII. PRNG USING FPCS
High quality PRNGs play a critical role in information security and crytographic applications [37], [38]. The deterministic aperiodicity and sensitive dependence on the initial condition in a chaotic system give rise to apparently random sequence which have been leveraged to build PRNGs [27], [39], [40]. Due to the improved chaotic properties of FPCS, they are promising for building high quality PRNGs. Here, we introduce a new PRNG using the proposed BFPCS and EFPCS. As a representative example, we are showing the results for Tent-flipped-Tent (TT f ) map but the general scheme can be adapted to any FPCS.
The schematic of the proposed PRNG is shown in Fig. 20. We have two parallel chaotic oscillators, one using seed map (SM) and the other one using FPCM. At every iteration, we truncate the 64-bit output to extract the last 8 bits and XOR them to produce the final 8-bit output i.e. a throughput of 8 bits/iteration. The excellent performance of the PRNG has been verified using four statistical randomness tests, namely NIST, FIPS, Diehard and TestU01.

A. NIST SP 800-22 TEST SUITE
The test suite from the National Institute of Standards and Technology (NIST) offers 15 statistical sub-tests to measure the randomness in a sequence [41]. We ran the test with 100 bit-streams generated from 100 different initial condition with each bit-stream having a length of 1 million bits. The significance level was set to 0.01. Hence, a sequence with  100 million bits (containing 100 bit-streams) will pass a particular test if at least 96 out of the 100 bit-streams generate a p-values greater than 0.01. The test suite allocates each of the 100 generated p-values in 10 sub-intervals from 0 to 1 and evaluates the uniformity in the distribution with χ 2 -test.

C. DIEHARD STATISTICAL TEST SUITE
The Diehard statistical test suite was developed by Marsaglia [43]. It generates 219 p-values under 15 sub-tests. A sequence is considered to be random if the generated p-values range between [0,1). On the other hand, if there are six or more (out of 219) p-values of either 0 or 1 then the sequence fails. Our test sequences contain 100,000,032 bits (with a padding of 32 1's at the beginning). FIGURE 21 shows the plots of p-values, organized in ascending order. The linear fits in both plots show close conformity with the generated p-value trends, demonstrating excellent randomness for both BFPCS and EFPCS using TT f based PRNG.

D. TestU01
TestU01 offers a collection of utilities for empirical statistical testing. This test suite comes as a software library generated in ANSI C language [44]. We ran three test batteries namely, Rabbit, Alphabit, and BlockAlphabit. The complete test was run on three test sequences containing 2 20 , 2 24 , and 2 28 bits. Depending on this sequence size, the Rabbit test consists of 38 sub-tests whereas, Alphabit consists of 17 sub-tests and BlockAlphabit consists of 6 blocks of the same 17 subtests (102 tests in total). The sequence passes a sub-test if VOLUME 10, 2022 the generated p-value remains between 0.001 and 0.999. TABLE 6 presents the ratio between passes and the total number of sub-tests in each case and demonstrates excellent performance for sequences generated from both BFPCS and EFPCS using TT f based PRNG.

IX. CONCLUSION
In this work, we have introduced FPCS, a new methodology for building high-quality 1-D chaotic map using existing maps, and outlined two schemes called BFPCS and EFPCS. Nine configurations based on three seed maps are shown for each scheme, and the resulting performance improvement of these new maps compared to their constituent maps has been demonstrated using bifurcation diagram, Lyapunov Exponent, Kolmogorov entropy, and correlation coefficient. EFPCS is computationally more expensive compared to BFPCS but yields better chaotic properties with wider chaotic window for all combinations. We compared our results against prior works which show marked improvement in several important metrics. We also presented hardware implementation of both schemes in FPGA to illustrate their simplicity of implementation and verified their entropic properties against software simulation. The improved entropy metrics seem promising for various security applications. We showed one application by building a new PRNG using proposed maps and validated their excellent randomness using four standard statistical tests, namely NIST, FIPS, Diehard, and TestU01. Since a common parameter was used for both constituent maps in this paper, future work may include extension of the proposed framework using two maps with two independent parameters.