The blum blum shub is a pseudorandom number generator proposed in 1986 by lenore blum, manuel blum and michael shub. This thesis focuses on pseudorandom number generators prng, specifically, a prng called blum blum shub bbs. For the love of physics walter lewin may 16, 2011 duration. For the blumblumshub pseudorandom generator distinguishing these two sequences is as hard as factoring a large composite integer. The blum blum shub algorithm is as followsxo s 2 mod n for i1 to 8 xi xi1 2 mod n bi xi mod 2. The generator investigated in this paper has a low speed due to its high computational complexity, but in a number of tasks this drawback can become a benefit.

A random number generator using the blum, blum, and shub algorithm fooleanblum blumshub. Blum blum shub is described in chapter five of the handbook of applied cryptography, section 5. A simple unpredictable pseudorandom number generator siam. In fact, it has been pointed out in il,gm that for any deterministic encryption scheme e, such as the.

Dec 30, 2014 bbs a simple implementation of the blum, blum, and shub random number generation algorithm as described in bruce schneiers book applied cryptography 2nd ed 1996 from the book. Blum blum shub generator is used to generate the needed amount of random numbers. Thelipgenerator, withinput pa prime, outputsthequotientdigits obtainedondividing byp. Blum blum shub pseudorandom generator distinguishing these two sequences is as hard as factoring a large composite integer. A random number generator using the blum, blum, and shub algorithm fooleanblumblumshub. An eflcient probabilistic publickey encryption scheme.

Blum, blum and shub proved that the x2 mod n generator is polynomialtime unpredictable 2. Blumblumshub generator the 2 modx n generator produces long welldistributed sequences from small initialization values. The generator makes use of modular arithmetic and works as follows. Blum blum shub algorithm for prng file exchange matlab.

The author shows how to control the linear span of the output sequences of this generator by a proper choice of the two primes. The seed x0 should be an integer that is coprime to m i. Blum blum s hub bbs is a random number which is generated by a pseudora ndom number generator. Blum blum shub pseudo random number generator what you need to know i a pseudorandom generator is a deterministic algorithm that, given a truly random binary sequence of length n, outputs a. The blumblumshub pseudorandom generator posted on july 11, 2016 by j2kun problem. The blumblumshub pseudo random number generator is the following. I made a blum blum shub pseudorandom number generator implementation in javascript. The asymptotic security of the blum blum shub bbs pseudorandom generator has been studied by alexi et al. Select two kbit random primes p and qthat are 3 modulo 4, let n pq, and let 0.

An interesting characteristic of the blum blum shub generator is the possibility to calculate any x i value directly via eulers theorem digital electronics by givone pdf also, the greatest common divisor of prime and prime should be a small number, and that. Blumblumshub pseudorandom bit generator springerlink. Blumblumshub pseudo random number generator what you need to know i a pseudorandom generator is a deterministic algorithm that, given a truly random binary sequence of length n, outputs a binary sequence of length m n that looks random. Pseudorandom number generation carleton university. Pseudorandom number generators for cryptographic applications. Bbsgen is an improved blum blum shub pseudorandom number generator. A simple unpredictable pseudorandom number generator. Bbsgen can be used in applications and commandline as secure, unpredictable and strong prng.

Next, random numbers are xored with the scrambled image to obtain the cipher image. Fpga implementation of 16bit bbs and lfsr pn sequence. Twocloselyrelated pseudorandomsequence generators are presented. The blum blum shub generator has a number of interesting pseudorandom properties. Blum blum shub generator for passwordbased key derivation to demonstrate that the low speed of the pseudorandom number generator may be useful, we developed the pbkdf, in which the blum blum shub generator hereinafter referred to as bbs is used as a pseudorandom function. Implementation of blum blum shub generator for message. This short series will discuss pseudo random number generators prngs, look at how they work, some algorithms for prngs. Im grateful to peter kritzer and c edric lauradoux for proofreading my thesis and for all their formal and textual advices which have been a great help during my writing process. The logic of pn sequence generator presented here can be changed any time by changing the seed in lfsr or by changing the key used in bbs. A pseudorandom number generator proposed in 1986 by lenore blum, manuel blum and michael shub. Blum blum shub generator use least significant bit from iterative equation. However, this does not necessarily mean that it is infeasi ble to learn some partial information about x from ex, for xs of interest. Omorog and others published enhanced pseudorandom number generator based on blumblumshub and. Bbs is pseudorandom bit generator, it must return random bits, not integers.

The proof is asymptotic, and therefore provides no guidance as to the size of n needed for unpredictability. One such source of this randomness is a random number generator. The bbs generator produces a sequence of bits according to the following algorithm 20. Although asymptotic security of the bbs generator is thoroughly analyzed 1,15 it has been uncertain how to select the size of the modulus and the num. This short series will discuss pseudo random number generators prngs, look at how they work, some algorithms for prngs, and how the. For access to this article, please select a purchase option. Pdf enhanced pseudorandom number generator based on blum. The blum blum shub bbs pseudorandom number generator is used to generate the random numbers. This generator is extremely slow and has poor statistical properties when used as a base generator for any of the distributional generators. Blum blum shub bbs is a less complex pseudorandom number generator prng that requires very large modulus and a squaring operation for the generation of each bit, which makes it computationally heavy and slow. It w as created by lenore blum in 19 86, manuel bl um and mic hael s hub that is derived fro m mic. The logic of pn sequence generator presented here can be changed any time by changing the seed in. Find the first 8 bits for blum blum shub bit generator when seed 1055 and n 192649. How to find the exact period of blum blum shub random number generator.

The chinese remainder theorem crt says that working modulo n pq is essentially the same as working modulo p and modulo q at the same time. As shown in 2 and 4, lcgs are vulnerable to attacks if they are used to generate keys in a cryptosystem or in similar situations. Implementation of blum blum shub generator for message encryption. They investigated what properties can be inferred about sequences produced by the x2 mod n generator, given varying amounts of information. Index termskeystream generator, message encryption. Find two large prime numbers, p and q, which are congruent to 3 modulo 4. Pdf comparison of two pseudorandom number generators. The blum blum shub generator should only be used if a cryptographically secure generator is required. A blum blum shub pseudorandom rng implementation in javascript. Linear feedback shift register lfsr and blum blum shub bbs. For the blumblumshub bbs pseudorandom generator 2 distinguishing these two distributions is as hard as factoring a large composite integer.

Jul, 2006 2017 passwordbased key derivation function as one of blum blum shub pseudorandom generator applications. How about using the secure blum blum shub quadratic residue generator with a 512 bit modulus. Blum blum shub wikipedia article on blum blum shub. The blumblumshub bbs pseudorandom bit generator 1 is one of the most efficient pseudorandom number generators known that is provably secure under the assumption that factoring large composites is intractable see integer factoring. We could run a fast 64bit block cipher in ofb mode, and occasionally flush the shift register and insert 63 bits from seven iterations of the bbs generator. Photon4k photon4k is a 32768bit symmetrickey encryption cipher accessed via a basic, yet fullyfunctional d. Passwordbased key derivation function as one of blumblumshub. A random number generator using the blum, blum, and shub algorithm. The attraction is a proof of unpredictability, which seems like it would solve the streamcipher problem. The blumblumshub pseudorandom generator programming. An overview of cryptographically secure pseudorandom.

How to find the exact period of blumblumshub random number. Pdf passwordbased key derivation function as one of blumblum. Enhanced pseudorandom number generator based on blumblumshub and elliptic curves challiz d. Jul 11, 2016 the blum blum shub pseudorandom generator posted on july 11, 2016 by j2kun problem.

There is a lot of helpful stuff about random number generation in that chapter. Tt800 and mersenne twister blum blum shub generator as shown in and, lcgs are vulnerable to attacks if they are used to generate keys in a cryptosystem or in similar situations because it is possible to recover the parameters of lcgs in polynomial time given several observed outputs. Design a random number generator that is computationally indistinguishable from a truly random number generator. The cipher images are analyzed to confirm the resistance to security attacks. How random number generation works, with algorithms and. Pdf enhanced pseudorandom number generator based on.

The help of stefan wegenkittl with patiently answering my questions about markov chains is greatly appreciated. Blum blum shub bbs82, for example, is a randomnumber generator in the domain of cryptology that uses the input m p q, where p and q are primes that are congruent to 3 mod 4. Concrete security of the blumblumshub pseudorandom generator. Pdf cryptographic secure pseudorandom bits generation. In this thesis, we make two modifications to bbs, and test our modified generators for randomness using the national institute of standards and technology nist tests. A simple unpredictable pseudorandom number generator, siam journal on computing, volume 15, pages 364383, may 1986. Various implementations of blum blum shub pseudorandom.

Passwordbased key derivation function as one of blumblumshub pseudo random generator applications. The graphics processing unit gpu is a common vector processor originally dedicated to computergame graphics, but has since been adapted to perform generalpurpose. Passwordbased key derivation function as one of blumblum. The nps institutional archive theses and dissertations thesis and dissertation collection 201609 nonquadratic variation of the blum blum shub pseudorandom number generator. The algorithm is considered to beas secure as quadratic residue problem, an npcomplete problem. Concrete security of the blumblumshub pseudorandom. A blum blum shub pseudorandom rng implementation in. We call this algorithm the bbs pseudorandom generator with j output bits per iteration. Comparison of two pseudorandom number generators, advances in cryptology. Matlab script to implement the blum blum shub algorithm for prng.

Junod, cryptographic secure pseudorandom bits generation. This style of random number generation is often used in experimentation but given its predictability even if the parameters are not known and its repletion after a certain point this style of pseudorandom number generation is avoided in cryptographic applications. It consists of a c library libbbsgen and commandline tool bbsgen. The asymptotic security of the blumblumshub bbs pseudorandom generator has been studied by. Pdf in the manufacture of rc4 encryption, a user always input the key as a security approval. Nonquadratic variation of the blum blum shub pseudorandom. We have used fpga to explain how fpgas ease the hardware implementation part of communication systems. Blum blum shub is a provably secure pseudo random number generator, proposed by lenore blum, manuel blum and michael shub in 1986 3. Blum blum shub takes the form, where m pq is the product of two large primes p and q.

679 1278 909 753 1330 18 466 1106 83 1004 1438 224 1552 950 18 122 1654 184 830 1624 535 1472 1466 752 1162 534 1325 1113 607 748 193 1473 796 195 404