## Description

**Existing System:**

Pseudorandom number generators (PRNG) have many applications among diverse fields such as cryptography, communications, or procedural generation. Specifically, in the field of instrumentation and measurements, PRNGs are needed in many applications such as statistical sampling, Monte Carlo simulations, evaluating the immunity to noise of digital systems and, in general, testing of physical, biological, and electrical systems: code density tests and determination of Wiener and Volterra kernels in nonlinear systems. Some of the most commonly used PRNGs are based on linear congruential generators (LCG) or linear feedback shift registers (LFSR). Many of these systems, however, present some correlations or short periods, which make them unsuitable for many applications. In this context, chaos-based PRNGs have arisen as a good alternative, thanks to their properties of ergodicity, and random like behavior. In this paper, we propose a random generator based on the logistic map that, in order to improve its statistical properties, dynamically changes its chaotic parameter. The system has been implemented in a Virtex 7 field-programmable gate array (FPGA), using 510 lookup tables (LUTs) and 120 registers. To test the good statistical properties of the proposed generator, its generated sequences have been subjected to the National Institute of Standards and Technology (NIST) tests. The sequences have passed all of these tests, proving that they are undistinguishable from a truly random sequence.

The random-enhancement approach used in this paper consists of using several values of γ : γ1, γ2,…γm instead of a single one. The sequence {xi} is generated by changing the value of γ according to a sequence partition {ki}. With this method, the first k1 elements are obtained by xi = f (xi−1, γ1), the next k2 elements are obtained as xi = f (xi−1, γ2), and so on. After having used all of the values of γi and having generated m i=1 ki elements in total, the initial value of γ and γ1 is reused, continuing the process in a circular way. To prevent the system to fall into possible short cycles, the elements of {ki} are generated randomly within a certain range. Although this technique was originally advanced in for a general case, in this paper, it has been improved by optimizing the values of m and {ki} to obtain the best randomness improvement: while those works obtained an NIST passing rate up to 0.971, this paper obtain an NIST passing rate of 0.989. Furthermore, it has been applied to a simpler chaotic map than the skew tent map the logistic map, obtaining a cost-effective high-performance PRNG.

A FIFO is used to store the values of each γi . This is done with the configure data signal. Write enable signal allows the system to write the value of configure data inside the FIFO. Finally, read enable and load enable allow to read the next value of γi from the FIFO and load it into the seed register. The “configure. data,” “read,” “write,” and “load” enable inputs are driven by an external control block (not shown in the picture) that has been designed to follow the proposed algorithm.

**Disadvantages:**

- It does no offers better randomness results.
- Requires a large amount of resources to be implemented on an FPGA

**Proposed System:**

In this work will describe a recent research in cryptography method of Chaos based pseudorandom number generator (PRNG), these method will cooperative in the field of instrumentation and measurements in many applications such as statistical sampling, Monte Carlo simulations, evaluating the immunity to noise of digital systems and communication or procedural generations. The main contribution of this work will presents better randomness results than other PRNG with required very small amount of resources to implementation on FPGA. Here the proposed work will present a two different technique of seed generation in this Enhanced PRNG such as Galois and Fibonacci. This new technique of Galois and Fibonacci will increases better randomness in this Enhanced PRNG and it will take very less resources of area, delay and power. Here, this work will implement in VHDL and simulated in Modelsim and Synthesized in Xilinx FPGA S6LX9-2TQG144 and finally compared all the parameters in terms of area, delay and power.

1.1.1 Generic Structure of a Chaotic PRNG

A PRNG is an algorithm that, starting with a seed, by using a transformation function, generates a sequence that appears to be random, and its length is much bigger than the seed length (Fig. 1). A chaotic PRNG can be easily implemented by using a digitized chaotic map.

xi+1 = f (xi,γ) (1)

where each xi is an element of the sequence and γ is a constant parameter that determines the behavior of the system. Using a map of this kind, starting from a seed composed by x0 and γ , a sequence of elements {xi} is generated. Since each element is represented by a certain number of bits, it is possible to use all of them to build a binary random generator. However, there can be correlations among the bits within an element xi . Therefore, to obtain better statistical properties, only a few bits of each xi are usually used to build the random sequences, typically the least significant bits (LSBs) since they present a low correlation the algorithm on the logistic map, given by

xi+1 = γ xi(1 − xi) (2)

where in order to work on the chaotic region, necessary for obtaining good random properties, the values of the parameter γ must be in the interval [3.57, 4]. If γ < 3.57, fixed points or periodic orbits are obtained and, if γ > 4, the orbits usually diverge . This map has been chosen due to its simplicity and its random like behavior that has been widely studied in the past decades.

** Advantages:**

- Offers better randomness results than other methods
- Requires a very small amount of resources to be implemented on an FPGA