1 Introduction

Computers have evolved from large calculating machines to smart handheld devices that have revolutionized human lives [1]. The concept of Internet of Things (IoT) has dramatically changed the way things used to work, since smart computers are replacing humans in the loop. In an IoT framework, large scale decisions are based on the data generated by the IoT sensors; for instance we could cite temperature control in a factory, intruder alarm systems in a smart home or emergency doctor call for patients in smart care between others [2]. Keeping in mind the importance of the IoT data, it is a crucial requirement to ensure data integrity and security [3]. The most common practice for securing data is to deploy cryptographic systems such as private key encryption, public key encryption and digital signatures etc. [4]. One of the building blocks on which cryptographic primitives depend are the seed values or in simple words the random number sequences that would make the keys difficult to predict [5].

Random numbers can be broadly categorized into true-random numbers (TRNs) [6] and pseudo-random numbers (PRNs) [7]. TRNs are usually considered to be the result of physical processes that produce unpredictable patterns, for instance noise (atmospheric or thermal), and other phenomena like (electromagnetic and quantum) are the sources of true random sequences. Whereas, PRNs are generated via mathematical algorithms that depend on some initial conditions and output a sequence that exhibits similar properties to TRNs [8]. There are several benchmarks available to test and validate the random nature of a number sequence. In literature, several Pseudo-random number generators (PRNGs) have been proposed, and still researchers are coming up with new ideas for lightweight PRNGs that would be a better fit for IoT based applications [9]. The limitations of using PRNGs for IoT data are: (1) the IoT sensor devices are resource constrained and (2) the sensor devices generate large amount of data constantly. Keeping in mind the nature of IoT data, there is a need for PRNGs that could offer wider range of initial seed values to choose from.

Chaos theory is a branch of mathematics that has been extensively studied due to its unique properties of apparent disorder and randomness. The chaotic systems can generate diverging and disorderly sequences, which appear to be random, being in fact deterministic but highly sensitive to initial conditions [10]. These particular characteristics make chaotic systems a good candidate for PRNGs. Chaos based PRNGs have been an active area of research but unfortunately, relatively few chaotic maps have been explored for this purpose [11]. In this paper, a family of symmetric chaotic maps have been considered as the local maps for coupled map lattices (CMLs) and an adaptive approach is proposed for control parameter selection. The proposed model introduces additional control parameters which contribute to the generation of highly chaotic sequences with large key space for cryptographic applications.

The remaining paper is organised as follows: The recent literature and related advances will be discussed in Sect. 2. The proposed model and its analysis are presented in Sect. 3. Testing and validation of proposed model for IoT applications is shown in Sect. 4. Section 5 concludes the study and discusses future research aims.

2 Related work

There is substantial amount of published research on chaos based PRNGs. In this paper, the reviewed literature explores chaos based PRNGs and mainly focuses on CML based PRNGs.

There is a variety of chaotic maps available for pseudo-random number generation. A famous choice of many researchers is to use the logistic map, which is one of the most widely studied chaotic maps [12]. Various versions of modified logistic maps have been used for PRNGs including pseudo-randomly enhanced logistic map (PELM) [13], floating point based modified logistic chaotic system [14], hyper-chaotic modified robust logistic map (HC-MRLM) [15], modified logistic map for increased key-space range [16], nonlinear digitalized modified logistic map [17], and optimised logistic map using perturbation operation [18]. The logistic map exhibits chaotic behaviour for a very small range of control parameter values between [3.57, 4]. However, there have been studies in attempt to increase the parameter range for the chaotic behaviour in logistic map. In a recent study on pseudo-random bit generator, logistic maps were used to generate multimodal maps and the parameter interval showed an increase in the chaotic range [19]. In a few other studies, researchers have used different chaotic maps such as the Lorenz map [20], the Tinkerbell map [21] and the Chirikov map [22].

Several electronic and hardware based implementations for chaos based PRNG have been presented. Matheus et al. proposed a gate level hardware implementation for a PRNG based on an exponential chaotic map [23]. The hardware implementation was designed using Field Programmable Gate Array (FPGA) device for the proposed PRNG system. There is a significant number of hardware implementations for chaotic based PRNGs using FPGAs including FPGA based PRNG using four-wing memristive hyperchaotic system and bernoulli map [24], reconfigurable chaotic PRNG based on FPGA [25], chaos based bitwise dynamical PRNG on FPGA [26], and FPGA implementation of chaos based PRNG for secure communication [27]. FPGAs are preferred by algorithm designers for prototyping as they can execute the code on gate level using hardware descriptive languages. Since, in real world applications microcontrollers are used more commonly, thus several proposals on chaos based PRNGs have been made using microcontrollers. For instance, an analog circuit and microcontroller based PRNG application of a new easy realizable 4D chaotic system has been recently proposed [28], in another study a chaotic random bit generator has been realized with a microcontroller [29], and hardware implementation of initials-boosted coexisting chaos in a two dimensional sine map [30]. The IoT technology that is rapidly gaining popularity in everyday applications depend on resource constrained devices, and there are not many solutions  available for IoT sensors. In a recently published work, the authors claimed to design encryption solution for IoT devices based on novel chaotic map but it had several shortcomings [31]. They decided to use non-chaotic algorithms like PRESENT and LED to encrypt initial conditions, this would add overhead to the remaining chaos based encryption process. The time analysis performed for the proposed algorithm was conducted using Intel(R) Core(TM) i5-4210U 2.40 GHz CPU, 4GB RAM computer which is equipped with strong computing power and still takes minimum 6.7 s for 1000 iterations and 72.5 s for 14,373 iterations. The suggested encryption algorithm would fail completely if it was being deployed on a real IoT temperature sensor, which has a single core processor and sends temperature feed multiple times during one second time. Considering, the importance of IoT data and the challenges in terms of limited power and computing resources, there is a dire need for chaos based cryptosystem that is lightweight in terms of computation and also provide robust security against attacks.

Chaos based PRNGs are used in several security applications, for instance stream ciphers [32], block ciphers [33], secure communications [34], image encryption [35], and video encryption [36] amongst others. Despite their popularity and successful applications, there are several shortcomings that chaos based PRNGs possess. Ramazan Yeniçeri et al. published a study in which they showed how a random number generator based on a time delay differential equation could be attacked [37]. To generate an attack, they predicted the values before hand and coupled them with future states of a time delay based chaotic system. Once the system was synchronized with it, the generated signals were similar to the original ones. In another study, the cryptanalysis of chaos based PRNGs was conducted and several improvements were suggested to rectify system weaknesses [38]. Youling et al. conducted cryptanalysis on chaos based cryptosystems with the aspect of hardware based attacks [39]. They first implemented chaos based cryptosystem onto a microcontroller device and conducted side channel attack analysis and correlation power analysis attack, which can be performed by studying the execution time and power consumption of the cryptographic algorithm. Furthermore, in various other studies, vulnerability and security analysis has been performed for chaos based PRNGs in the context of cryptographic applications. In a recent study, researchers conducted security analysis of the efficient chaos based PRNG for video encryption application [40], and in another study a thorough vulnerability analysis has been performed for chaos based PRNG [41].

A remedy to the weaknesses discussed in chaos based PRNGs could be to use complex dynamical systems to generate choas rather than using simple one (1D) or two dimensional (2D) chaotic maps , this would make the prediction of generated patterns quite strenuous to crack. A multidimensional chaotic system with discrete time and discrete spatial extension was introduced by Kaneko in the 1980’s [42]. These type of spatio-temporal chaotic systems are known as CMLs, that produce a wide array of behaviours. CMLs are capable of producing complex chaotic sequences as they form lattice structure which comprises of local chaotic maps. Despite the complex chaotic behaviour, there are some inherent shortcomings in CML systems which limit their application as PRNG. One major drawback in the CML systems is the limited range of parameter space for the spatio-temporal chaos and another limitation is the variation in local chaotic behaviors i.e some lattices might not reach chaotic zone [43]. There have been several improvements to the Kaneko’s model of CML system for PRNG applications. Ping et al. recommended a pseudo-random bit generator (PRBG) based on mixing the state variables of a CML to generate more complex pseudo-random sequences [44]. In another study, a variable time delay has been suggested for the CML based PRNG. The results show that the proposed system is not hefty with computations and also passed all randomness tests provided by NIST [45]. Recently, a CML system with asymmetric coupling has been used as PRBG with a sawtooth map as the local map [46]. The authors also suggested the use of specific systemic parameters, that could convert complex floating calculations to bit operations. In [47], the authors proposed a CML based on discrete chaotic iteration (CMLDCI) that combine the CML and chaotic iteration to produce random sequences for PRNG. By chaotic iteration, they refer to a convergence theorem for chaos coined by Devany et al. in early literature [48] .The idea of a Multi Bit Random Number Generator (MBRNG) published recently, proposed a CML based random number generator based on logistic map [49]. The proposed system does not present any novelty, as it uses logistic map as the local map similar to the conventional CML system. In another article, the authors used skew tent map as local map [50]. The idea is further extended to analyse the behaviour of system by cross coupling skew tent maps.

In the light of reviewed literature, majority of the latest research proposals use a very few well known maps like the logistic map [12] or tent map [51] as local maps for the CML systems. Logistic and tent maps belong to the family of symmetric chaotic maps which contain other higher order maps as well. To our best knowledge from the literature review, there has not been any attempt to explore the family of symmetric maps in general for the CMLs. In this paper, we introduce the concept of Generalised Symmetric Map (GSM) as local map for the CML system and also propose the concept of adaptive control parameter values that results in highly chaotic and complex PRNG.

3 Proposed model

In this paper, a unique PRNG model has been proposed for IoT devices, that generates random sequences with large key space and could be used in various cryptographic applications. The proposed model comprises of a spatiotemporal CML system using GSM as local map. The concept of adaptive \(\beta\) values, based on accumulation points of local GSM map has also been introduced. This ensures that the local maps stays in the chaotic range for majority of the time and they outcome pseudo-random sequences for any initial seed values. Detailed working of the proposed system is explained in the subsequent subsections.

3.1 Coupled map lattice (CML)

This idea of generating spatiotemporal chaos via CMLs was published in a series of studies during the 1980’s ranging from the exploration of spatio-temporal intermittency of coupled map lattices [52] to spatio-temporal coupled nonlinear oscillators [53], and space–time dynamics in video feedback [54], with Kaneko being the most active contributor in this domain [55]. The simplest way to visualise a CML system is to consider the diffusive CML model as shown in Eq. (1) [56].

$$\begin{aligned} x_{n+1}(i)=(1-\epsilon )f(x_{n}(i))+\frac{\epsilon }{2}[f(x_{n}(i+1))+f(x_{n}(i-1))] \end{aligned}$$
(1)

This is a diffusive two-way CML model, where the parameter i gives the ith lattice point, which in this case is coupled with two of its neighbouring nodes i.e. right node \({({i}+1)}\) and left node \({({i}-1)}\). i varies between [1, L] where L is the total number of lattice points. The coupling factor is represented by \(\epsilon\), which is a real number in [0, 1]. Finally, n is the discrete time step for the CML system. Here, f(x) denotes the local map, which is usually a logistic or tent map but in the proposed model, f(x) could be any chosen chaotic map from symmetric maps family.

3.2 Generalised symmetric map (GSM)

Symmetric maps belong to family of chaotic maps, which when plotted exhibit mirror image of the plot itself (maintain symmetry of its shape). Figure 1a and b show the mapping and psuedo phase trajectory to plot a 2D and 3D image of the tent map. The tent map is known to be a first order symmetric map as it is a straight line map and is symmetric across the x-axis. Figure 2a and b show the plotting for second order logistic map. Logistic maps are one of the most widely studied chaotic maps in the literature and show a parabolic shape when plotted. Figures 3 and 4 show the visualisation for third order and fourth order chaotic symmetric maps. To visualise the properties of symmetric maps, consider Figs. 1, 2, 3 and 4. In this paper, we introduce the concept of (GSM) as defined in Eq. (2).

$$\begin{aligned} f(x)=\beta (1-|1-2x|^{\alpha }) \end{aligned}$$
(2)

where alpha (\(\alpha\)) and beta (\(\beta\)) are the control parameters for the GSM. \(\alpha \in [1,4]\) represents the map order and \(\beta\) is the control parameter that decides chaotic or non-chaotic zone of the chosen map being a real number [0, 1]. The core working behind GSM is to utilise any map from the symmetric chaotic maps using a single mathematical function i.e Eq. (2). This can be observed that by increasing the value of parameter \(\alpha\) in the range [1, 4], transitions the map order from first to fourth order map (i.e from Figs. 1, 2, 3 and 4).

Fig. 1
figure 1

Shows the a mapping and b pseudo phase space trajectory for first order symmetric chaotic map, also known as Tent map

Fig. 2
figure 2

Shows the a mapping and b pseudo phase space trajectory for the second order symmetric chaotic map, also known as logistic map

Fig. 3
figure 3

Shows the a mapping and b pseudo phase space trajectory for third order symmetric chaotic map

Fig. 4
figure 4

Shows the a mapping and b pseudo phase space trajectory for forth order symmetric chaotic map, also known as quadratic map

Using GSM as local maps widens the range of maps to choose from, by providing the liberty to choose local map as any symmetric chaotic map. The selection of \(\alpha\) and the specific choice of corresponding control parameters would become extremely difficult for an adversary to guess the exact order and type of map used.

3.3 Adaptive \(\beta\) values

Chaotic maps present chaotic behaviour for specific values of control parameter and initial conditions. The control parameter value at which a 1D map enters in the chaotic zone is known as accumulation point of the map. The accumulation point can be computed via the Lyapunov exponent analysis [57]. The point where the Lyapunov exponent switches from negative to positive values, can be considered as the accumulation point. This can be easily explained by visualizing the Lyapunov spectrum of the Logistic map, as shown in Fig. 5. For the logistic map, \(\alpha\) is set to 2 in GSM Eq. (2), and the accumulation point (a) can be observed between 0.89 and 0.90 (0.89995 ignoring the high precision). Therefore, the concept of accumulation point allows us to formulate a system, where we built an adaptive scheme that calculates \(\beta\) values for any value of \(\alpha\) such that they always remain above the accumulation point maintaining a chaotic output for the system.

Fig. 5
figure 5

Shows the Lyapunov spectrum and accumulation point for the logistic map

Furthermore, to investigate the trend of accumulation points and control parameter \(\alpha\), we calculate Lyapunov spectrum for GSMs by varying the values of \(\alpha\) in the range [− 4, 4]. Table 1 summarizes the range of \(\alpha\) values and their respective accumulation points. This can be observed from Table 1 data, that the GSM function is non-chaotic for the interval when \(\alpha\) is in the range [\(-\,0.5,0.5\)]. To visualise the trend of accumulation points for GSM, Table 1 data is interpolated as shown in Fig. 6. As in this study, we are more focused onto exploring symmetric maps and having consistant range of parameter \(\alpha\) for cryptographic applications, we ignore the negative range of \(\alpha\) and consider \(\alpha\) range between [1,4] which corresponds to symmetric maps of order one to four.

Table 1 Shows the \(\alpha\) values and corresponding accumulation points correct to 2 decimal places for the GSM
Fig. 6
figure 6

Shows the trend line of \(\alpha\) values and respective accumulation points for GSM

From the above discussion, it can be concluded that there is a higher chance for the system to exhibit chaotic behaviour, if the control parameters are chosen such that which would result in system values to remain above the accumulation points. Therefore, to assure that the system remains in chaotic zone majority of the time, we introduce a concept of adaptive \(\beta\) (\(ad_{\beta }\)) as shown in Eq. (3).

$$\begin{aligned} ad_{\beta {i}}=a+(1-a)(1-\epsilon ^{{-\gamma }{i}}) \end{aligned}$$
(3)

where \({{ad_{\beta }}}\) is the adaptive \(\beta\) value, calculated for a specific accumulation point. The present lattice number is presented as i. A new parameter Gamma (\(\gamma\)) is introduced to control the spread of \(ad_{\beta }\) values across all the lattice points. \(\gamma\) is defined as a positive real number i.e. (\(\gamma >0\)). The main functionality of Eq. (3) is to keep the \(ad_{\beta }\) values always in range above the accumulation point \({a\le {ad_{\beta }}\le 1}\). The \(ad_{\beta }\) function when supplied with accumulation points for GSM, returns \({{ad_{\beta }}}\) values such that, the CML system stays above the accumulation points and therefore exhibits chaotic output depending on the type of local map chosen.

3.4 KS entropy analysis

The Lyapunov spectra of a system [58] is an important tool to classify its chaotic behaviour. A CML system with \({N }\)-dimensional phase space gives rise to \({N }\) Lyapunov exponents. To calculate the Lyapunov spectra in a CML system, one needs the product of the Jacobian matrices (\({J_{p}}\)) of the map as shown in Eq. (4).

$$\begin{aligned} J_{p}=\lim \limits _{n \rightarrow \infty }\left( \frac{1}{n}\right) J_{n}J_{n-1}J_{n-2}\ldots J_{2}J_{1} \end{aligned}$$
(4)

where \(J_{n}\) is the individual Jacobian calculated at time step n. \(J_{p}\) is the final product of all Jacobian matrices divided by the time step n. Lyapunov exponents \({\lambda _{i}}\) of the CML system can be calculated via Eq. (5).

$$\begin{aligned} \lambda _{i}=\ln (eig(J_{pi})) \end{aligned}$$
(5)

where the logarithms of eigenvalues of \(J_{p}\) are retrieved that are finally divided by the time steps n. Once all the Lyapunov exponents are found, the Lyapunov Spectra is defined as the ordered set \(\{\lambda _{1}\le \lambda _{2}\le \cdots \le \lambda _{N}\}\). The sum of all positive Lyapunov exponents leads to the Kolmogorov–Sinai (KS) entropy [59]. KS entropy density \(h_{\mu }\) can be represented using Eq. (6).

$$\begin{aligned} h_{\mu }=\frac{1}{N} \sum _{\lambda _{i}>0} \lambda _{i} \end{aligned}$$
(6)

where \(\lambda _{i}\) are the Lyapunov exponents calculated in the previous steps. N is the number of lattice points, or dimension of the CML lattice. To further analyse the chaotic behaviour of the CML system based on GSM with \({ad_{\beta }}\), KS entropy density analysis has been visualised by varying control parameters. Figure 7 shows the KS entropy density analysis of a system with 10 lattice points, 1000 calculated time steps and 100 discarded iterative values to account for transient behaviour, \(\alpha\) ranges between [1,4], e spread between [0,1], \(\gamma\) set to 0.25 and \(\beta\) is adaptive. Since \(\gamma\) is a tuning parameter for \({ad_{\beta }}\) values, it should be tuned with respect to the system. The value for \(\gamma\) can be chosen by observing the \({ad_{\beta }}\) value calculated for each lattice point. In our case we observed that \(\gamma\) gave a good spread of \({ad_{\beta }}\) values for (\(\gamma =0.25\) for \(N =10\)) and (\(\gamma =0.025\) for \(N =100\)).

Fig. 7
figure 7

Shows KS entropy density plot for CML system with GSM and adaptive \(\beta\) for the set parameters (\(1\le {\alpha }\ge 4\), \(0\le \epsilon \ge 1\), \(\beta\) = adaptive, N = 10 and \(\gamma\) = 0.25)

Figure 7 shows the KS entropy density analysis of the CML system with GSM mapping and \({ad_{\beta }}\) values for 10 lattice points, whereas Fig. 8 shows the result for the system with a 100 lattice points. It can be observed from Fig. 7 that there were a number of regions of (\(\epsilon , \alpha\)) parameter, space where the entropy density can be assumed to be zero, whereas, in Fig. 8 the system shows a uniformly populated KS-entropy plot with very few regions of low density. Therefore from Figs. 7 and 8, it can be speculated that increasing the number of lattices improves the overall chaotic behaviour of the CML system with GSM and \(ad_{\beta }\).

Fig. 8
figure 8

Shows KS entropy density plot for CML system with GSM and adaptive \(\beta\) for the set parameters (\(1\le {\alpha }\ge 4\), \(0\le \epsilon \ge 1\), \(\beta\) = adaptive, N = 100 and \(\gamma\) = 0.025)

3.5 Bifurcation analysis

Bifurcation diagrams aid in visualising overall period-doubling progression of a system with increase in control parameters. The KS entropy analysis performed in the previous subsection shows that the coupling factor (\(\epsilon\)) had great influence on the overall behaviour of the system. Therefore, bifurcation diagrams of the proposed system for first, middle and last lattice point of the proposed CML system have been visualised, for varying values of \(\epsilon\) (i.e. 0.2, 0.5, and 0.8). The bifurcation diagrams were plotted for increasing \(\alpha\) values on x-axis in range [1,4], across the values x values generated by CML system on y-axis ranging between [0,1].

Figure 9 shows the bifurcation analysis of the proposed system with 10 lattice points, 1000 initial discarded iterations, 2000 calculated iterations, and \(\gamma\) set to 0.25. To investigate the lattice behaviour in detail, in Fig. 9 columns present lattice number and rows denote the specific \(\epsilon\) values. The results have been realised for first, middle and last lattice of the proposed system to interpret overall behaviour of the system. The results can be visually interpreted as several periodic regions appearing for \(\epsilon\) at 0.2 and 0.8 whereas, for coupling factor of 0.5, the chaotic pattern is evenly spread. Similar experiments were performed for the lattice number increased to 100 lattice points, 1000 initial discarded iterations, 2000 calculated iterations and \(\gamma\) value used as 0.025. Figure 10 shows the detailed trend of bifurcation plots for first, fiftieth, hundredth lattice point presented in columns, whereas the rows of Fig. 10 show the increasing values of coupling factor (\(\epsilon\) = 0.2, 0.5 and 0.8). Overall, the system with 100 lattice points appears more consistently chaotic for all coupling factors as compared to the system with 10 lattice points. Considering KS entropy experiments and bifurcation diagram analysis, this can be deduced that increasing the lattice number of the proposed system results generation of highly chaotic sequences.

Fig. 9
figure 9

Shows the bifurcation diagrams for CML system with 10 lattice points for increasing \(\epsilon\) values and different lattice numbers

Fig. 10
figure 10

Shows the bifurcation diagrams for CML system with 100 lattice points for increasing \(\epsilon\) values and different lattice numbers

4 Random number generator using proposed system

In this section, we define the steps to create a PRNG based on a CML system with GSM mapping and adaptive \(\beta\). We also tested the proposed method for randomness by benchmarking it to the available standards and applying it to a real world example of IoT sensors. A pseudo random number must hold some properties close to true random numbers. Another requirement for PRNGs used with IoT sensors devices is high throughput and low latency, thus we assumed 64-bit precision representation using fixed point arithmetic. The detailed steps for generating pseudo-random sequence (64-bit) are explained in Algorithm 1.

figure a

4.1 Key space analysis

Random number generators play basic role in cryptographic applications, generating strong encryption and decryption keys. By the term strong, we mean that the keys with higher key space are harder to guess, thus the higher the key space is, the stronger is the cryptographic key. More specifically, a cryptographic key smaller than 128-bit is not considered strong enough to be used for data encryption purposes [60]. The proposed method depends on several control parameters and initial conditions which collectively contribute towards the key space. The experiments were performed using Python 3.7 as programming language with floating point as data type with 53 bits representation (16 digits precision i.e \(10^{-16}\)). Therefore, the key space can be calculated from parameters: \(x\) \(\in [0,1]\), \(\alpha \in [0,4]\), \(\beta \in [0,1]\), \(\epsilon\) \(\in [0,1]\), \(\gamma \in [0,10^{3}]\), \(n\) \(\in [0,10^{10}]\),\(N\) \(\in [0,10^{6}]\) which is \((10^{16}\times 10^{16}\times 10^{16}\times 10^{16}\times 10^{16}\times 10^{16}\times 10^{16}) = 1\times 10^{112}\simeq 2^{372}\). Table 2 shows a comparison of key space and control parameters with other recently published studies. The key space for the proposed algorithm is \(\simeq 2^{372}\), which is significantly large to survive brute force attacks.

Table 2 Comparison of key space analysis of various algorithms

4.2 Key randomness analysis

To validate the randomness of the system, a thorough testing has been performed using the Statistical Randomness Test Suite (SP 800-22) made available by National Institute of Standards and Technology (NIST) [63]. The NIST randomness test suite comprises of 15 randomness tests as shown in Table 3. Table 3 also shows the parameters that were used during the randomness testing experiments. To best analyse the behaviour of the system, we performed all 15 randomness tests for varying values of \(\alpha\) and the \(\epsilon\). The heat map chart is plotted such that, for every chosen \(\alpha\) and \(\epsilon\), the system was tested for the 15 NIST randomness tests, and the number of passed tests is shown in the respective block. The legend on the right side of heat map can also be used to categorize the maximum and minimum number of NIST randomness tests passed using color codes. Considering that \(\alpha\) could be any number in range [1,4], \(\epsilon\) in between [0,1] and \(\gamma\) variable can make up to numerous possibilities to generate pseudo-random sequences, but for fair analysis to test randomness of the system, NIST randomness tests have been conducted on increasing values of \(\alpha\) in range(\(0.5\le \alpha \le 4\)) at an interval of 0.25, and selected coupling values (\(\epsilon\) = 0, 0.1, 0.3, 0.5, 0.7, 0.9, 1).

Table 3 Fifteen randomness tests from NIST 800-22 Test Suite (version 2.1.2) and the parameters used in this paper

Figure 11 shows the heat map chart for the CML system with 10 lattice points, the overall number of pass tests were more than 10 except for some chunks between \(1.75\le \alpha \ge 3.75\). The color legend on right of Fig. 11 shows the number of NIST tests passed out of a total fifteen randomness tests. Whereas, Fig. 12 shows the heat map chart for the proposed system with 100 lattice points. As expected, the overall behaviour of the system with 100 lattice points appears to be better in randomness as compared to the system with 10 lattice points. This can be observed that for majority of \(\alpha\) and coupling values, the number of NIST tests ’passed’ is greater than 10 randomness tests. This can be concluded that increasing the number of lattices, increases the randomness of output generated from CML based PRNG. The use-case considered for the proposed method is for IoT applications, where IoT sensors generate a huge amount of data at high frequency, which needs to be encrypted on the journey to its destination. Encrypting constant streams of data having critical timelines is a very challenging task, as fresh supply of encryption keys are required consistently. The proposed pseudo-random number generator serves the purpose, as the user can generate a wide range of pseudo-random sequences that are independant of any previous sequences. Figures 11 and 12 depict that for majority of the randomness tests, the pass rate is above 10 tests which means the sequences generated are fairly pseudo-random in nature. Thus, unlimited number of keys can be confidently generated for different devices and sessions, slightly varying the control parameters for the proposed system generates new pseudo-random sequences that are different and independant from the previously generated sequences.

Fig. 11
figure 11

Shows the number of NIST randomness tests passed by the proposed system with ten lattice points and the parameters (n = 100,000, t = 1000, N = 10, \(\gamma\) = 0.25, \(\alpha\) = [0.5,4], \(\epsilon\) = [0, 1])

Fig. 12
figure 12

Shows the number of NIST randomness tests passed by the proposed system with hundred lattice points and the parameters (n = 100,000, t = 1000, N = 100, \(\gamma\) = 0.025, \(\alpha\) = [0.5, 4], \(\epsilon\) = [0, 1])

4.3 Performance analysis on IoT devices

The ubiquity of IoT devices is increasing and thus it is crucial to secure the data generated by such hardware. The limitation that hinders the deployment of security primitives on IoT devices is that they are scarce in terms of computation, memory and power resources. Thus, when designing the security algorithms, one should keep the resource limitations of IoT devices under consideration. Even though, IoT devices have evolved and sensors currently available on the market are quite efficient and reliable. To test the proposed algorithm, we chose highly resource constrained systems on chip, Raspberry pi zero (single-core processor) and Raspberry pi 3B+ (quad-core processor). Table 4 summarises the execution time of the proposed PRNG on both sensor devices with increasing number of iterations and lattice points. It should be noted that increasing lattice number and number of iterations together has double impact on the computation time but still the proposed PRNG is capable of generating pseudo-random sequences in less than a second.

Table 4 Time taken by proposed PRNG to generate pseudo-random sequences on resource constrained IoT devices based on increasing number of iterations and lattice points

4.4 Comparison with existing techniques

One important stage in proposal of new algorithm is to perform a comparative analysis of proposed method with existing state of the art techniques. This type of comparison allows the researchers to deduce a fair opinion on what evaluation matrices have been considered during the proposal of new algorithm. Table 5 shows the summary of comparison performed between proposed pseudo-random number generator with the existing PRNG techniques based on CML systems.

This can be observed from Table 5, that in majority of existing techniques, the evaluation of proposed ideas has not been performed using all standard measures. In fact, only some of the evaluation techniques have been considered for validation of proposed method. In this study, for the proposed CML based PRNG, we realised detailed proposal of GSM using CML and visualised their pseudo phase trajectories and Lyapunov spectrum. To analyse the entropy analysis of the system, KS entropy plots were created. Furthermore, for detailed examination of lattice behaviour, bifurcation diagrams were plotted for first, middle and last lattice point of the proposed system. In other existing techniques, only few studies like [44] have used KS entropy or bifurcation analysis to study their proposed CML systems. Whilst designing a PRNG for cryposystem, it is crucial to consider the key space and execution speed of the proposed algorithm. Again a very few researchers consider validating their proposed algorithm against the key space size. Majority of the discussed PRNG schemes in Table 5 in have not used keyspace analysis to measure the strength of their proposed algorithm in terms of security robustness.

Most important test for a new PRNG algorithm is to test for the degree of randomness using standard benchmarks. There are variety of randomness tests available but the standard test recognised by research community is NIST statistical test suite [63]. In Table 5, this can be observed that almost all the discussed existing PRNG techniques have been tested using NIST randomness test suite. Few studies like [45] have tested their algorithm against other randomness testing benchmarks such as TESTU01 [64]. This can be deduced from the comparative analysis that the proposed method has been evaluated on the basis of standard benchmarking and testing standards available.

Table 5 Comparison of proposed method with existing pseudo-random number generation techniques on basis of Chaos Properties, Security Analysis and Statistical Tests

5 Conclusion

In this study, generalised symmetric chaotic maps have been explored. A method to generalise the symmetric maps has been introduced, which allows different chaotic maps to be chosen by changing single a parameter \(\alpha\). Chaotic maps do not always generate chaotic behaviour, rather they show such behaviour only in a specific range of control parameters and initial conditions. We proposed the concept of adaptive control parameter \({ad_{\beta }}\), which based on the accumulation points, strongly increases the likelihood of chaotic behaviour of the map, irrespective of what \(\alpha\) value is chosen. A tuning parameter \(\gamma\) has also been proposed, which helps in manually adjusting the spread of \(\beta\) values. The additional control parameters contribute towards large key space for PRNG. The KS entropy analysis, bifurcation diagrams and randomness tests show that the proposed system tends to show random behaviour for majority of \(\alpha\) values with exception to few periodic chunks. The proposed PRNG has also been tested on real time IoT sensors to validate the computational efficiency. It is concluded that the proposed PRNG system can generate cryptographically strong keys, and is computationally suitable for lightweight devices such as IoT sensors. In future, this work would be extended to develop novel cryptosystems, such as image and video encryption schems.