Presentation is loading. Please wait.

Presentation is loading. Please wait.

The Shrinking Rule 30 Cellular Automata Pseudorandom Number Generator University of the Philippines Cebu Department of Computer Science Cmsc142, Cmsc190,

Similar presentations


Presentation on theme: "The Shrinking Rule 30 Cellular Automata Pseudorandom Number Generator University of the Philippines Cebu Department of Computer Science Cmsc142, Cmsc190,"— Presentation transcript:

1 The Shrinking Rule 30 Cellular Automata Pseudorandom Number Generator University of the Philippines Cebu Department of Computer Science Cmsc142, Cmsc190, Cmsc199 Nico Martin A. Eñego February 12, 2011

2 The Shrinking Rule 30 Cellular Automata Pseudorandom Number Generator 2 Outline Randomness: What is it?  History  True Randomness vs. Pseudo randomness Rule 30 Cellular Automata RNG  Problems with R30 The Problem and The Literature Trend Shrinking Rule 30 Cellular Automata RNG  Methodology  Expected Results  Recommendations Q&A References

3 February 12, 2011 The Shrinking Rule 30 Cellular Automata Pseudorandom Number Generator 3 Conceptual Framework Random Numbers PRNGs Shrinking Rule 30 CA PRNG Rule 30 CA PRNG

4 February 12, 2011 The Shrinking Rule 30 Cellular Automata Pseudorandom Number Generator 4 Randomness: What is it? Random number generators (RNGs) have a myriad of real world applications  games, experiments and statistics, gambling, simulations, random search optimization etc. There is a need of a better random number source for specific uses (more random, efficiency, size)  Cryptology, security and online gambling

5 February 12, 2011 The Shrinking Rule 30 Cellular Automata Pseudorandom Number Generator 5 Randomness: What is it? Some concepts: sporadic, irregular, nonuniform, a/periodic, Pattern? How do we prove randomness when an exact universal definition is missing?

6 February 12, 2011 The Shrinking Rule 30 Cellular Automata Pseudorandom Number Generator 6 Randomness: What is it? What is more random, 9898 or 7878? Philosophical question: Physical phenomena (coin flipping, noise) are said to be random, but… “God does NOT play dice with the universe.” -Albert Einstein Is the universe deterministic?

7 February 12, 2011 The Shrinking Rule 30 Cellular Automata Pseudorandom Number Generator 7 History of RNG 1941: ATT Machine generating random sequence 1946: Table of random numbers by Tippet and von Neumann’s Middle Square Approach 1951: Lehmer’s Congruential Generator

8 February 12, 2011 The Shrinking Rule 30 Cellular Automata Pseudorandom Number Generator 8 int msa( int s, int d ){ square s; //s must be d-digit int return middle d-digits; } History of RNG Middle Square Approach by von Neumann: Example: Suppose we want 5 digit numbers and start with 12345. Then, (12345) 2 = 152399025 and the next number is 23990

9 February 12, 2011 The Shrinking Rule 30 Cellular Automata Pseudorandom Number Generator 9 History of RNG Lehmer’s Congruential Generator: m = 31, a = 3, c = 0, x 0 = 9. Solution: 27; 19; 26; 16; 17; 20; 29; 25; 13; 8; 24; 10; 30; 28; 22; 4; 12; 5; 15; 14; 11; 2; 6; 18; 23; 7; 21; 1; 3; 9 (at which point series repeats) x i = (3 Xi-1 ) mod 31

10 February 12, 2011 The Shrinking Rule 30 Cellular Automata Pseudorandom Number Generator 10 History of RNG Lehmer’s congruential generator is also known as linear congruential generator  Not so random! Quadratic Congruential Generators  Short periods  occupies much space

11 February 12, 2011 The Shrinking Rule 30 Cellular Automata Pseudorandom Number Generator 11 History of RNG Linear Feedback Shift Registers: Example: Take p = 5; q = 2; r = 3 and b 1 = b 2 = b 3 = b 4 = b 5 = 1. So, b i = b i-5 XOR b i-3 produces b 6 = b 1 XOR b 3 = 1 XOR 1 = 0 b 7 = b 2 XOR b 4 = 1 XOR 1 = 0 Suppose that r-bit integers are to be generated. Then, for some integer p, start with a p-bit seed of the binary form b 1 …b p with the b i all being 0 or 1. Subsequent bit values are produced via the recursion b i = b i-p XOR b i-p+q

12 February 12, 2011 The Shrinking Rule 30 Cellular Automata Pseudorandom Number Generator 12 History of RNG Cellular Automata Generators (1985): Originates from simple rules  Very large periods  Chaotic behavior

13 February 12, 2011 The Shrinking Rule 30 Cellular Automata Pseudorandom Number Generator 13 Randomness: TRN vs PRN Coin Flipping: Truly random or difficult-to- describe system? Simka et al. (2006): Randomness appears in the “instability” of the system. Two types of random number generators  Truly Random Number Generator (TRNG): generates Truly random numbers (TRNs)  Pseudo Random Number Generator (PRNG): generates pseudo random numbers (PRNs)

14 February 12, 2011 The Shrinking Rule 30 Cellular Automata Pseudorandom Number Generator 14 Randomness: TRN vs PRN Truly random number (TRN):  Cannot be subsequentially reliably reproduced (nondeterministic)  Unrepeatable even with same working conditions (aperiodic)  Needs external physical phenomena (inefficient) Pseudo-random number (PRN) is a number that is generated by and algorithm or a pre- calculated table of values  Deterministic, periodic, efficient

15 February 12, 2011 The Shrinking Rule 30 Cellular Automata Pseudorandom Number Generator 15 Randomness: TRN vs PRN TRN and PRN are both widely used today There are a lot of TRN sources (lava lamp) For some applications, PRNG are more reasonable because of their properties A good PRNG usually needs a random seed which would be good if it comes from a TRNG (Hybrid generator)

16 February 12, 2011 The Shrinking Rule 30 Cellular Automata Pseudorandom Number Generator 16 Conceptual Framework Random Numbers PRNGs Shrinking Rule 30 CA PRNG Rule 30 CA PRNG

17 February 12, 2011 The Shrinking Rule 30 Cellular Automata Pseudorandom Number Generator 17 Rule 30 CA PRNG Introduced by S. Wolfram in 1983 & 1987 It is a class III rule: chaotic and aperiodic x(n+1,i) = x(n,i-1) XOR [x(n,i) OR x(n,i+1)].

18 February 12, 2011 The Shrinking Rule 30 Cellular Automata Pseudorandom Number Generator 18

19 February 12, 2011 The Shrinking Rule 30 Cellular Automata Pseudorandom Number Generator 19

20 February 12, 2011 The Shrinking Rule 30 Cellular Automata Pseudorandom Number Generator 20 Rule 30 CA PRNG RNG used in Mathematica 2 n repetition: insignificant according to Andersson (2003) function rule30CAPRNG(time seed, int n){ evolve seed n times; take middle bits of each evolution; }

21 February 12, 2011 The Shrinking Rule 30 Cellular Automata Pseudorandom Number Generator 21 The Problem and The Literature Trend It is possible to crack Rule 30 CA Meier-Staffelbach (1998) Attack  Completion backwards  Completion forwards  Requires lots of resources (but possible)

22 February 12, 2011 The Shrinking Rule 30 Cellular Automata Pseudorandom Number Generator 22 The Problem and The Literature Trend A Rule 30 CA based PRNG that can counter the Meier-Staffelbach Attack PRNG that passes statistical test suite for randomness PRNG that generates more randomness compared to other PRNGs Considerable execution time

23 February 12, 2011 The Shrinking Rule 30 Cellular Automata Pseudorandom Number Generator 23 The Problem and The Literature Trend Wolfram’s rule 30 CA PRNG Rule 30 CA linearity weaknesses (Meier and Staffelbach) Irregular Sampling (Clark and Essex) Hybrid CA PRNG Controllable CA PRNG (Guan et al.) Programmable CA PRNG (Nandi et al.)

24 February 12, 2011 The Shrinking Rule 30 Cellular Automata Pseudorandom Number Generator 24 Conceptual Framework Random Numbers PRNGs Shrinking Rule 30 CA PRNG Rule 30 CA PRNG

25 February 12, 2011 The Shrinking Rule 30 Cellular Automata Pseudorandom Number Generator 25 Shrinking Rule 30 CA PRNG The Shrinking Rule 30 CA suggested by Clark and Essex (2004)

26 February 12, 2011 The Shrinking Rule 30 Cellular Automata Pseudorandom Number Generator 26 Shrinking Rule 30 CA PRNG Important concepts of Clark and Essex model  Storage requirement is a bit large  Speed is relatively slower compared to other RNG  Random and secure but not tested The use of a non-CA controller Non-CA RNG

27 February 12, 2011 The Shrinking Rule 30 Cellular Automata Pseudorandom Number Generator 27 Shrinking Rule 30 CA PRNG: Methodology Aspects to test:  Intuitive description of execution time  Statistical tests of randomness and the Avalanche Effect Execution times and randomness of different RNGs will be compared  CPRNG vs. SR30CAPRNG  WR30CAPRNG vs. SR30CAPRNG  CESR30CAPRNG vs. SR30CAPRNG

28 February 12, 2011 The Shrinking Rule 30 Cellular Automata Pseudorandom Number Generator 28 Shrinking Rule 30 CA PRNG: Methodology Statistical Test Suite 1. Frequency or equidistribution test 2. Serial test 3. Gap test 4. Poker test 5. Coupon collector’s test 6. Permutation test 7. Runs up test 8. Maximum-of-t test 9. Avalanche effect

29 February 12, 2011 The Shrinking Rule 30 Cellular Automata Pseudorandom Number Generator 29 Shrinking Rule 30 CA PRNG: Methodology Intuitive execution time tests  Attach clock for every program  Generate 1000 integers, 100 runs  Average execution times of all 100 runs  Compare significance of difference using statistics All programs implemented in C CPRNG implemented using rand() All programs seeded with time()

30 February 12, 2011 The Shrinking Rule 30 Cellular Automata Pseudorandom Number Generator 30 Shrinking Rule 30 CA PRNG: Expected Results In terms of intuitive execution time, the researcher expects the following:  CPRNG < WR30CAPRNG < SR30CAPRNG < CESR30CAPRNG In terms of randomness, security and avalanche statistics, the researcher expects the following:  CPRNG < WR30CAPRNG < CESR30CAPRNG < SR30CAPRNG

31 February 12, 2011 The Shrinking Rule 30 Cellular Automata Pseudorandom Number Generator 31 Shrinking Rule 30 CA PRNG: Recommendations Fuse CCA and PCA concepts with shrinking generator Use a more random generator (TRNG) for the seed Devise a way to generate small integers Improve intuitive execution time tests for programs to reflect optimal performance by using parallel programming (threading) and dedicated machines

32 February 12, 2011 The Shrinking Rule 30 Cellular Automata Pseudorandom Number Generator 32 “We can only see a short distance ahead, but we can see plenty there that needs to be done.” Alan Turing, Father of Computer Science [p.460 of the Computing Machinery and Intelligence, 1950]

33 February 12, 2011 The Shrinking Rule 30 Cellular Automata Pseudorandom Number Generator 33 Q&A

34 February 12, 2011 The Shrinking Rule 30 Cellular Automata Pseudorandom Number Generator 34 Thank You!

35 February 12, 2011 The Shrinking Rule 30 Cellular Automata Pseudorandom Number Generator 35 References Lawrence, A.P. (2003) Random Numbers. Available online: http://aplawrence.com/Basics/randomnumbers.html/ [December 5, 2010] Park S. and Miller K. (1988) Random Number Generators: Good Ones Are Hard to Find. Computing Practices. Communications of the ACM, vol. 31, p. 1192. Bell, J. Fast Random Numbers. A Random Generator That is 10 Times Faster. Clinton South Carolina. Volume 8, Issue 3, Column Tag: Coding Efficiently. Available online: http://www.mactech.com/articles/mactech/Vol.08/08.03/RandomNumbers/in dex.html/ [December 5, 2010] Haahr, M. Random.org. Introduction to Randomness and Random Numbers. Trinity College, School of Computer Science and Statistics, Trinity, Ireland. Available online: http://www.random.org/randomness/ [December 5, 2010] Clark, J. and Essex, A. (2004) Real Time Encryption Using Cellular Automata. The University of Western Ontario, Department of Electrical and Computer Engineering. March 26, 2004. Meier, W. and Staffelbach, O. (1998) Analysis of Pseudo Random Sequences by Cellular Automata. Springer Verlag. p.186-199 Andersson, K. (2003) Cellular Automata. Computer Science, Karlstad University.


Download ppt "The Shrinking Rule 30 Cellular Automata Pseudorandom Number Generator University of the Philippines Cebu Department of Computer Science Cmsc142, Cmsc190,"

Similar presentations


Ads by Google