1. Generador pseudoaleatorio de números 1
Generador pseudoaleatorio de números
Un generador pseudoaleatorio de números (GPAN) es un algoritmo que produce una sucesión de números que es
una muy buena aproximación a un conjunto aleatorio de números. La sucesión no es exactamente aleatoria en el
sentido de que queda completamente determinada por un conjunto relativamente pequeño de valores iniciales,
llamados el estado del GPAN. Si bien es posible generar sucesiones mediante generadores de números aleatorios por
dispositivos mecánicos que son mejores aproximaciones a una sucesión aleatoria, los números pseudo-aleatorios son
importantes en la práctica para simulaciones (por ejemplo, de sistemas físicos mediante el método de Monte Carlo),
y desempeñan un papel central en la criptografía.
La mayoría de los algoritmos de generadores pseudoaleatorios producen sucesiones que poseen una distribución
uniforme según varios tipos de pruebas. Las clases más comunes de estos algoritmos son generadores lineales
congruentes, generadores Fibonacci demorados, desplazamiento de registros con retroalimentación lineal y
desplazamientos de registros con retroalimentación generalizada. Entre los desarrollos más recientes de algoritmos
pseudoaleatorios se encuentran Blum Blum Shub, Fortuna, y el Mersenne twister.
Se requiere de un cuidadoso análisis matemático para tener algún tipo de confianza en que un dado GPAN genera
números que son suficientemente "aleatorios" para ser útiles para el proposito para el que se los precisa. Robert R.
Coveyou del Oak Ridge National Laboratory escribió un artículo titulado, "La generación de números aleatorios es
demasiado importante como para ser dejado al azar."[1] Y como John von Neumann decía en broma, "Todo el que
desarrolla métodos aritméticos para producir dígitos aleatorios esta desde luego en pecado."[2]
Referencias
• Michael Luby, Pseudorandomness and Cryptographic Applications, Princeton Univ Press, 1996. A definitive
source of techniques for provably random sequences.
• Donald Knuth. The Art of Computer Programming, Volume 2: Seminumerical Algorithms, Third Edition.
Addison-Wesley, 1997. ISBN 0-201-89684-2. Chapter 3, pp.1–193. Extensive coverage of statistical tests for
non-randomness.
• R. Matthews Maximally Periodic Reciprocals Bulletin of the Institute of Mathematics and its Applications 28
147-148 1992
• J. Viega, Practical Random Number Generation in Software [3], in Proc. 19th Annual Computer Security
Applications Conference, Dec. 2003.
• John von Neumann, "Various techniques used in connection with random digits," in A.S. Householder, G.E.
Forsythe, and H.H. Germond, eds., Monte Carlo Method, National Bureau of Standards Applied Mathematics
Series, 12 (Washington, D.C.: U.S. Government Printing Office, 1951): 36-38.
• NIST Recommendation for Random Number Generation Using Deterministic Random Bit Generators [4]
2. Generador pseudoaleatorio de números 2
Enlaces externos
• La biblioteca científica GNU [5]. Una biblioteca libre (GPL) en lenguaje C que incluye algunos algoritmos
GPAN.
• DieHarder [6]: A free (GPL) C Random Number Test Suite.
• crng [7]: Generadores aleatorios de números programados como extensiones de tipo Python codificadas en
lenguaje C.
• random.org [8]: Web based Random-number generator built and maintained by Mads Haahr.
• http://eeyore.wu-wien.ac.at/src/ [9] prng: Una colección de algoritmos para generar números pseudoaleatorios
programados en lenguaje C, bajo GPL.
• Strange Attractors and TCP/IP Sequence Number Analysis [10] - an analysis of the strength of PRNGs used to
create TCP/IP sequence numbers by various operating systems using strange attractors. This is a good practical
example of issues in PRNGs and the variation possible in their implementation.
• Strange Attractors and TCP/IP Sequence Number Analysis - One Year Later [11] - a follow-up article
demonstrating some of the evolution of various PRNG algorithms over time.
• Generating random numbers [12] Generating random numbers in Embedded Systems by Eric Uner
• Analysis of the Linux Random Number Generator [13] by Zvi Gutterman, Benny Pinkas, and Tzachy Reinman
Referencias
[1] Peterson, Ivars. The Jungles of Randomness: A Mathematical Safari. Wiley, NY, 1998. (pp. 178) ISBN 0-471-16449-6
[2] "Various techniques used in connection with random digits", Applied Mathematics Series, no. 12, 36-38 (1951).
[3] http:/ / www. acsac. org/ 2003/ papers/ 79. pdf
[4] http:/ / csrc. nist. gov/ publications/ nistpubs/ 800-90/ SP800-90revised_March2007. pdf
[5] http:/ / www. gnu. org/ software/ gsl/
[6] http:/ / www. phy. duke. edu/ ~rgb/ General/ rand_rate. php
[7] http:/ / www. avatar. se/ python/ crng/ index. html
[8] http:/ / www. random. org/
[9] http:/ / eeyore. wu-wien. ac. at/ src/
[10] http:/ / www. bindview. com/ Services/ Razor/ Papers/ 2001/ tcpseq. cfm
[11] http:/ / lcamtuf. coredump. cx/ newtcp/
[12] http:/ / www. embedded. com/ showArticle. jhtml?articleID=20900500
[13] http:/ / eprint. iacr. org/ 2006/ 086
3. Fuentes y contribuyentes del artículo 3
Fuentes y contribuyentes del artículo
Generador pseudoaleatorio de números Fuente: http://es.wikipedia.org/w/index.php?oldid=31742629 Contribuyentes: Camilo, Farisori, Uruk, 3 ediciones anónimas
Licencia
Creative Commons Attribution-Share Alike 3.0 Unported
http:/ / creativecommons. org/ licenses/ by-sa/ 3. 0/