Pseudo Random Number Generation and Random Event Validation Through Graphical Analysis Andrew Cronwright Supervised by Mr Barry Irwin Rhodes University Computer Science Department [email protected] (E-mail) http://www.cs.ru.ac.za/research/students/g02C2954/ (Web) The Problem Method Pseudo Random Number Generators (PRNG) are used in a vast number of computer applications, such as: Cryptography Initial Sequence Numbers (TCP/IP stack) Physical Simulations and many other desktop applications PRNGs produce numbers that are “random like”. Poor ones produce easily predictable “random” numbers, while good ones produce, very convincing, random numbers. Hence the need for good random numbers in these systems is critical. Use of a poor PRNG can lead to poor security, possible hacks and failed experiments. By implementing a method to visualize a random data set in 3-dimensional space, one can very easily determine the level of randomness in the data. This also provides a quick and easy way to view any 1-dimensional data set in a 3-dimensional space. How? X[n] = s[n-2] - s[n-3] Y[n] = s[n-1] - s[n-2] Z[n] = s[n] - s[n-1] And X[n] = s[n-2] Y[n] = s[n-1] Z[n] = s[n] This transformation will graphically display any patterns (known as attractors) in the data. Also by using colour shading, either according to position in the original sequence, or according to position will highlight “how/when” the numbers are generated as well as adding an extra dimension to the data A statistical test suite is also used in conjunction to provide objective results to the visualisation. Is this random? By using graphical methods, together with formal mathematical methods, one can see the degree of randomness in a sample. Initial Sequence Numbers, from TCP connections, from Windows XP (left) and a Cisco switch (right). Plotted in 3-space, these points need to be random to ensure attacks such as connection hijacking do not occur, or are at least minimised. Conclusion / Solution This project will highlight the problems surrounding the use of poor PRNG’s. A hardware RNG will be implemented and test against several PRNG’s to test the quality of the PRNG. A standard for PRNG’s should be developed, whereby generators are graded. The substandard ones should be removed from use.
© Copyright 2026 Paperzz