 Open Access
 Total Downloads : 248
 Authors : Hariprasad, Nagadeepa. Ch
 Paper ID : IJERTV2IS110625
 Volume & Issue : Volume 02, Issue 11 (November 2013)
 Published (First Online): 20112013
 ISSN (Online) : 22780181
 Publisher Name : IJERT
 License: This work is licensed under a Creative Commons Attribution 4.0 International License
FPGA Implementation of A Cryptography Technology Using Pseudo Random Number Generator
Hariprasad1 NagaDeepa. Ch.2
1(M.Tech, Department of Electronics and Communication Engineering,VNRVJIET, Hyderabad, India. )
2(Assistant Professor, Department of Electronics and Communication Engineering,VNRVJIET, Hyderabad, India)
ABSTRACT:
In this paper, we discuss some aspects of linear and non linear pseudorandom number generators (PRNGs). The outputs of such generators may be used in many cryptographic applications, such as the generation of key material. Generators suitable for use in cryptographic applications may need to meet stronger requirements than for other applications. In particular, their outputs must be unpredictable in the absence of knowledge of the inputs. The implementation of RMPRNG suitable for cryptography application like encryption and decryption. The simulation results are obtained by using Modelsim and Synthesis is observed by Xilinx ISE 10.1 and also see in FPGA
Key words: linear prng non linear prng, generator, RM PRNG, cryptography.

NTRODUCTION
The choice of the RNG for a specific application depends on the requirements specific to the given application. If the ability to regenerate the random sequence is of crucial significance such as debugging simulations, or the randomness requirements are not very stringent (flying through space on your screen saver), or the hardware generation costs are unjustified, then one should resort to pseudorandom number generators (PRNGs). PRNGs are algorithms implemented on finitestate machines and are capable of generating sequences of numbers which appear randomlike from many aspects. Though they are necessarily periodic (Anyone who considers arithmetical methods of producing random digits is, of course, in a state of sin, John von Neumann), their periods are very long, they pass many statistical tests and can be easily implemented with simple and fast software routines. However, when ultimate security is necessary one must turn to the only cipher whichis theoretically unbreakableonetime pad requires a
truly random sequence, and PRNGs are inappropriate for such a purpose. It is also an absolute necessity that cryptographic keys and initialization variables in cryptographic protocols are generated by RNGs. Otherwise, if a PRNG is employed, then security of the cryptographic algorithm and protocol can be no higher than the security of the PRNG.
Pseudo Random Numbers
Obtaining random numbers from a physical source can often be impractical in many applications such as portable web applications. This led to the development of a mathematical method to create a sequence of numbers that could mimic true random numbers. Because a mathematical source is not a true source of random numbers, it is called a pseudo random number. This is due to the mathematical function being completely deterministic and hence, nonrandom. In the 1940s von Neuman developed the first mathematical algorithm to create random numbers. This was known as the middlesquare method, and while it could produce seemingly random number sequences, it quickly proved to be a very poor source of pseudo random numbers. These methods of producing pseudo random numbers are known as pseudo random number generators or PRNG for short.
PRNG must be able to alter its secret state by repeatedly processing input values (seed). PRNG.Prngs are produce long period random number sequence linear prngs are very useful, some of the linear prngs are linear feedback shift registers (lfsrs), linear congruential generators (lcgs), and multiple recursive generators (mrgs).These linear prngs are good in hardware cost and throughput rate. But due to their linear structure output random numbers of these generators are easily predictable. To overcome the predictability problem nonlinear chaosbased prngs (CB prngs) were proposed, it is efficient in hardware cost, but due to quantization error there exists short periods in such nonlinear prngs. They produce only one bit per iteration hence throughput rate is low. And then to produce long periods and high throughput rate reseedingmixing PRNG (RMPRNG) were proposed. The RMPRNG consists of a CBPRNG and MRG. The reseeding method removes the
short periods in the CBPRNG and by mixing MRG with CBPRNG the overall system period length increases.
In this paper, we propose a new cryptography technology; in this technology has an encryption scheme the message or information is encrypted by using an encryption method, the plain text is converted into unreadable cipher text. An adversary that can see the cipher text should not able to determined anything about the original message. However the cipher text is converted to plain text (original message) by using decryption method. In this encryption and decryption methods are implementing an operation of the plain text and RM PRNG key with Xoring operation.

RMPRNG
Reseeding Technique
Reseeding technique is widely used in LFSR for test pattern generation and in CBPRNG for period extension. CernÃ¡k presented a reseeding method either to perturb the state value or the system parameter of digitized logistic map (LGM) for removing the short periods of a CBPRNG. In 1998, Sang et al. Applied a different reseeding method in perturbing a CBPRNG to extend its period length up to 3.362×1029 and the lower bound of the reseeded system can be calculated. Li et al. discovered that the reseeding technique not only removes the short periods but also improves the statistical properties of CBPRNG. Recently, these merits of reseeding were confirmed by exhaustive simulation in a 32b implementation of a CBPRNG.
Fig. 2 shows the schematic diagram of the RMPRNG, which is composed of three modules: Nonlinear Module, Reseeding Module, and Vector Mixing Module. In a 32b implementation, the Nonlinear Module has a controlled 32b state register and a NextState construction circuitry. The state register stores the state value (Xt) which is set to seed1 by using the start command. The next state construction is used to produce the next state value (Xt+1) by using recursive formula Xt+1=F (Xt) [1].
Figure 2. Structure of RMPRNG
For each generated state value, the reseeding control unit (RCU) in the Reseeding Module compares the values for checking the fixed point condition,and increases the
reseeding counter (RC) at the same time. The RC will be reset and the reseeding operation will be activated when either the fixed point condition is detected or the RC reaches the reseeding period. When RC reaches the reseeding period Tr or the fixed point condition is detected then RC will be reset and the reseeding operation will be activated. The sate register will be loaded through the rmux, when reseeding is activated [1]. The value of Xt+1 is directly loaded into the state register if the reseeding is not activated. Vector Mixing Module is implemented by an auxiliary linear generator (ALG) and output construction. By mixing Xt+1 with the output Yt+1 from ALG in Vector Mixing Module, we obtain the output of the RMPRNG (32bit implementation).

Nonlinear Module
We use the LGM as the nextstate construction function in the Nonlinear Module so that
Xt+1 = F (Xt) = xt (1 Xt), t 0……….. (1)
Choosing a value 4 for not only makes the LGM Chaotic but also simplifies the implementation of
(1) to merely leftshifting the product by 2 b. However, the state size decreases from 32 to 31 b, because the dynamics
(1) are the same. This is equivalent to a degradaion of resolution by 1 b. In addition, fixed as well as short periods exist when the LGM is digitized. From exhaustive runs for all of the seeds, we obtain all other periods for the 32b LGM without reseeding. They are given in Table I with the longest period (18 675) and the set of short listed separately along with their total occurrences. Clearly, the performance of a CBPRNG using only the Nonlinear Module is unsatisfactory. To solve the fixed points and shortperiod problem, a Reseeding Module is in order.

Reseeding Module
The removal of the fixed points by the reseeding mechanism is obvious. When the fixed point condition is detected or the reseeding period is reached, the value loaded to the state register will be perturbed away from in the RCU by the fixed pattern according to the formula
Where subscripts ,i ,j are the bitindex, L is integer. In order to minimize the degradation of the statistical properties of chaos dynamics, the magnitude of the perturbation of the fixed pattern should be small compared Here, we set L=5 so that the maximum relative perturbation is only (251)/232 and the degradation can be ignored [15]. Clearly, the effectiveness of removing shortperiods depends on the reseeding period as well as the reseeding pattern. However, choosing the optimal reseeding period and the reseeding pattern is nontrivial. Nevertheless, several guidelines to choose a suitable combination had been proposed and discussed in our previous work . First, the reseeding period should avoid being the values or the multiples of the short periods of the unperturbed digitized LGM. Otherwise, if the 5 lsbs of equal to when the reseeding procedure is activated. Then no effective
reseeding will be realized and the system will be trapped in the shortperiod cycle. Hence, prime numbers should be used as the reseeding period candidates. Although the average period of the reseeded PRNG has increased more than 100 times relative to that of the non reseeded counterpart, the period can in fact be extended tremendously in the Vector Mixing Module described below.

Vector Mixing Module
The Vector Mixing Module is constructed by using ALG and output construction. In this module an efficient MRG which is called as DX generator [1], [7] acts as the ALG. By using the following recurrence formula
In output construction unit, to obtain the lsbs of the output The lsbs of Yt+1 and that of Xt+1 are mixed by using XOR operation according to the following equation
To form the full 32b output vector outt+1 the MSB of Xt+1 is added to outt+1[1:31].
The DX generatator is implemented described below the implementation [2] of the DX generator is (the ALG) done by using 8word registers, circularleftshift (CLS), circular 32 counter and End Around Carry carry look ahead adder (EACCLA). By using flipflops the eightword register was implemented. For generating two partial products signal Yt7 is circularleftshifted 28 and 8 b [1], using the modules CLS28 and CLS8 respectively. To combine these three 31b operands into two 31b operands a circular 32 counter is used, which
Consumes 247 gates. To evaluate Yt+1 31b EACCLA is used with 348 gates. The schematic design of the 31b EACCLA [4], [9] is shown in Figure 2(b). The schematic design of the 31b EACCLA includes four modules they are propagation and generation (PG) generators, end aroundcarry (EAC) generator, internal carry (IC) generator, and clas [5]. When EAC is generated by group of pgs, EAC is then fed to the IC generator and then to leastsignificant 8b CLA. On clas, the final addition was performed.
Figure 3. (a) Structure of the DX generator.
(b) Structure of the 31b EACCLA.


PROPOSED CRYPTOGRAPHY
Cryptography technlogy is where security engineering meets mathematics. It provides us with the tools that underlie most modern security protocols. It is probably the key enabling technology for protecting distributed systems, yet it is surprisingly hard to do right. Encryption and decryption technlogy is the practice and study of techniques
for secure INFORMATION SHARING in the presence of ADVERSARYIES.In cryptography technology; encryption is the process of encoding messages or information in such a way that hackers cannot read it. Encryption and decryption technology is designed around computational hardness assumptions, making such algorithms hard to break in practice by any adversary. Encryption is the process of converting plain text or information into unintelligible cipher text. Any adversary that can see the cipher text should not know anything about the original message. Decryption is the reverse, in other words, moving from the unintelligible cipher text back to plaintext.
A.ENCRYPTION
Encryption is the process of translating plain text data (plaintext) into something that appears to be random and meaningless (ciphertext). To encrypt more than a small amount of data, symmetric encryption is used. A symmetric key is used during both the encryption and decryption processes. To decrypt a particular piece of ciphertext, the key that was used to encrypt the data must be used. The goal of every encryption algorithm is to make it as difficult as possible to decrypt the generated ciphertext without using the key. If a really good encryption algorithm is used, there is no technique significantly better than methodically trying every possible key. For such an algorithm, the longer the key, the more difficult it is to decrypt a piece of ciphertext without possessing the key.
It is difficult to determine the quality of an encryption algorithm. Algorithms that look promising sometimes turn out to be very easy to break, given the proper attack. When selecting an encryption algorithm, it is a good idea to choose one that has been in use for several years and has successfully resisted all attacks.
B. DECRYPTION
Decryption is the process of taking encoded or encrypted text or other data and converting it back into text that you or the computer are able to read and understand. This term could be used to describe a method of un encrypting the data manually or with unencrypting the data using the proper codes or keys.
Figure 4. Cryptography technology

RESULTS AND SIMULATION
Pseudo Random Number Generator, Encryption and Decryption were designed using Verilog language in modelsim 6.3. All the simulations are performed using modelsim 6.3 simulator. The simulated output of Pseudo Random Number Generator, Encryption and Decryption are shown in Figure 5&6. Fpga results are shown in fig 7
Figure 5. Simulation results for RMPRNG key
Figure 6. Simulation results for cryptographic method
Figure 6. FPGA results for cryptographic method
The design is tested by dumping into Spartan 3E kit and output is analyzed using chipscope pro analyzer. This is used to monitor the output that is continuously changing where we cannot directly see on the kit. The output of chipscope analyzer after dumping on to
the kit is shown in figure 7. The RTL schematic is shown in figure 7
Figure 7. Chip scope analyzer output
Figure 8: RTL schematic

CONCLUSION

We proposed a cryptographic algorithm using RMPRNG to ensure secure communication. A FPGA implementation of RMPRNG is to offer long periods and high throughput rate to established statistical standards for PRNGs.
The reseeding mechanism solves the shortperiod problem originated from the digitization of the chaotic map, while mixing a CBPRNG with a longperiod DX generator extends the period length to the theoretically calculated value greater than . Replacing a hardware demanding CBPRNG with a hardwareefficient MRG,.Hence,Simulation and Synthesis is observed by ModelSim 6.4b and Xilinx ISE 10.1 and also fpga implementation.
REFERENCES

ChungYi Li, YuanHo Chen, TsinYuan Chang, LihYuan Deng and Kiwing To, Period Extension and Radomness Enhancement Using HighThroughput ReseedingMixing PRNG transactions on (vlsi) systems, vol. 20, no. 2, february 2

J. Cermak, Digital generators of chaos, Phys Lett. A, vol. 214, no.34, pp. 151160, 1996.

D. Knuth, The Art of Computer Programming, 2nd ed. Reading, MA: AddisonWesley, 1981.

A. Klapper and M. Goresky, Feedback shift registers, 2adic span, and combiners with memory, J. Cryptology, vol. 10, pp. 111147, 1997.

D. H. Lehmer, Mathematical methods in large scale computing units, in Proc. 2nd Symp. Large Scale Digital Comput. Machinery, Cambridge, MA, 1951, pp. 141146, Harvard Univ. Press.

S. Li, X. Mou, and Y. Cai, Pseudorandom bit generator based on couple chaotic systems and its application in streamciphers cryptography, in Progr. Cryptol.INDOCRYPT, 2001, vol. 2247, pp. 316329, Lecture Notes Comput. Sci.

L. Y. Deng and H. Xu, A system of high dimensional, efficient, long cycle and portable uniform random number generators, ACM Trans. Model Comput. Simul., vol. 13, no. 4, pp. 299309, Oct. 1, 2003.

T. Sang, R.Wang, and Y.Yan, Perturbance based algorithm to expand cycle length of chaotic key stream, Electron. Lett., vol. 34, no. 9, pp. 873874, Apr. 1998.

T. Sang, R. Wang, and Y. Yan, Clockcontrolled chaotic keystream generators, Electron. Lett., vol. 34, no. 20, pp. 19321934, Oct. 1998

D. Mukhopadhyay,D. R. Chowdhury, and C. Rebeiro, Theory of composing nonlinear machines with predictable cyclic structures, in Proc. 8th Int. Conf. Cellular Autom. Res. Ind., 2008, pp. 210219, Springer.

J. E. Gentle, Random Number Generation and Monte Carlo Methods,2nd ed. New York: SpringerVerlag, 2003.

D. Mukhopadhyay, Group properties of non linear cellular automata, J. Cellular Autom., vol. 5, no. 1, pp. 139155, Oct. 2009.
NagaDeepa.Ch received the B. Tech Degree in electronics &communications in 2008and the M.tech degree in Embedded systems in 2010 from the Jawaharlal Nehru Technological University of Hyderabad, India, where she is currently pursuing the Ph.D. degree. Her main research interests include signal processing and pattern recognition techniques applied to electronic mobile devices. She is currently working in the use of embedded systems as a platform for advanced signal processing for mobile devices..
A.Hari Prasad received the B. Tech Degree in electronics &communications in 2010.Presently studying M.Tech in VNR VJIET eith specialization in VLSI System Design.