Dr. Mrs. Saylee Gharge et al Int. Journal of Engineering Research and Applications www.ijera.com ISSN : 2248-9622, Vol. 4, Issue 5( Version 1), May 2014, pp.54-60 www.ijera.com 54 | Page Percon8 Algorithm for Random Number Generation Dr. Mrs. Saylee Gharge*, Mr. Honey Brijwani**, Mr. Mohit Pugrani**, Mr. Girish Sukhwani**, Mr. Deepak Udherani** *(Associate Professor, V. E. S. Institute of Technology, Mumbai) ** (Student, V. E. S. Institute of Technology, Mumbai) ABSTRACT In today’s technology savvy world, computer security holds a prime importance. Most computer security algorithms require some amount of random data for generating public and private keys, session keys or for other purposes. Random numbers are those numbers that occur in a sequence such that the future value of the sequence cannot be predicted based on present or past values. Random numbers find application in statistical analysis and probability theory. The many applications of randomness have led to the development of random number generating algorithms. These algorithms generate a sequence of random numbers either computationally or physically. In our proposed technique, we have implemented a random number generation algorithm combining two existing random number generation techniques viz. Mid square method and Linear Congruential Generator Keywords- Linear Congruential Generator, Mid Square Random Number Generation Technique, Permutation Matrix, Maurer's Universal Statistical Test I. INTRODUCTION A number of network security algorithms based on cryptography make use of random numbers. For example, Key distribution and reciprocal authentication schemes: In such schemes, two communicating parties cooperate by exchanging messages to distribute keys and/or authenticate each other. In many cases, nonces are used for handshaking to prevent replay attacks. The use of random numbers for the nonces frustrates an opponent’s efforts to determine or guess the nonce. Session key generation: A secret key for symmetric encryption is generated for use for a short period of time. This key is generally called a session key. Generation of keys for the RSA public-key encryption algorithm Generation of a bit stream for symmetric stream encryption These applications give rise to two distinct and not necessarily compatible requirements for a sequence of random numbers: randomness and unpredictability. [1] 1.1. TRNGs, PRNGs, PRFs Cryptographic applications typically make use of algorithmic techniques for generation of random numbers. These algorithms are deterministic and therefore produce sequences of numbers that are not statistically random. However, if the algorithm is good, the resulting sequences will pass many reasonable tests of randomness. Such numbers are referred to as pseudorandom numbers (PRNGs). The many applications of randomness have led to the development of random number generating algorithms, typically PRNGs. A popular approach to Random Number Generation is Blum Blum Shub Generator[2] wherein two prime numbers p and q are chosen such that they give a remainder of 3 on division by 4. Then a Random Number is generated such that it is relatively prime to product of p and q. This is processed as long as we require the Random Numbers. RC4 is a stream cipher designed by Ron Rivest for RSA security. Results show that the period is overwhelmingly more than 10 100 [3]. RC4 is used in SSL/TLS for communication between web browsers and servers. It is also used in WEP and newer WiFi Protected Access(WPA). Best treatment of PRNGs can be found in Knuth, D.[4]. An excellent survey of various PRNGS can be found at Ritter, T.[5] Figure 1 compares a true random number generator (TRNG) with two forms of pseudorandom number generators. A TRNG takes as input an entropy source that is effectively random. In essence, the entropy source is drawn from the physical environment of the computer and could include things such as keystroke timing patterns , disk electrical activity and instantaneous values of the system clock. RESEARCH ARTICLE OPEN ACCESS