Definición de PRNG (generador de números pseudoaleatorios)
Del inglés pseudo-random number generator o generador de números pseudoaleatorios, un PRNG es un programa o función matemática que utiliza algoritmos para simular la aleatoriedad en la generación de números. Aunque también se le conoce como generador de números aleatorios digital (DRNG: digital random number generator) o generador determinístico de bits aleatorios (DRBG: deterministic random bit generator), todos estos términos hacen referencia a sistemas que producen secuencias numéricas que parecen aleatorias, pero que en realidad son deterministas.
El funcionamiento básico de un PRNG se resume en dos pasos principales:
La semilla es el valor inicial que determina el punto de partida para la secuencia de números pseudoaleatorios. Si se utiliza la misma semilla y el mismo algoritmo, el PRNG generará exactamente la misma secuencia de números cada vez. Por ejemplo, si se usa como semilla el número 1234, siempre se obtendrá la misma secuencia, lo cual es útil para pruebas y depuración de programas.
Una forma común de obtener una semilla es a partir del tiempo actual del sistema, como la fecha y hora exactas expresadas en milisegundos desde una fecha de referencia. Por ejemplo, la fecha 15 de septiembre de 2017 a las 3:20 PM y 4.02356 segundos UTC puede convertirse en un número entero único, que rara vez se repetirá, generando así diferentes secuencias pseudoaleatorias en cada ejecución.
Ventajas de los PRNG:
Desventajas de los PRNG:
Debido a estas limitaciones, en contextos donde se requiere verdadera aleatoriedad e imprevisibilidad, se emplean generadores de números aleatorios verdaderos (TRNG, por sus siglas en inglés). Los TRNGs utilizan fenómenos físicos impredecibles, como el ruido eléctrico, para generar números realmente aleatorios. Por ejemplo, en criptografía y juegos online, es fundamental utilizar TRNGs para evitar vulnerabilidades.
Comparación:
Resumen: PRNG
El generador de números pseudoaleatorios es un programa o función matemática que simula la aleatoriedad. Para utilizarlo, se debe proporcionar una semilla arbitraria y solicitar números pseudoaleatorios. Sin embargo, estos números pueden reproducirse si se conoce la semilla y el algoritmo, por lo que no son realmente aleatorios.
¿Qué es un PRNG?
El PRNG, o generador de números pseudoaleatorios, es un sistema que genera secuencias de números que parecen aleatorios, pero que en realidad están determinados por una semilla y un algoritmo.
¿Cuáles son los pasos para utilizar un PRNG?
Para utilizar un PRNG, se deben seguir dos pasos:
¿Qué es la semilla en un PRNG?
La semilla en un PRNG es el valor inicial que da origen a la secuencia pseudoaleatoria. Cambiar la semilla produce una secuencia diferente; usar la misma semilla y algoritmo produce siempre la misma secuencia.
¿Los números generados por un PRNG son realmente aleatorios?
No, los números generados por un PRNG son pseudoaleatorios: simulan la aleatoriedad, pero son completamente deterministas y predecibles si se conoce la semilla y el algoritmo.
¿Cuál es una forma común de obtener una semilla en un PRNG?
Una forma común de obtener una semilla es utilizando el tiempo actual del sistema, expresado en milisegundos o segundos desde una fecha de referencia, lo que genera diferentes secuencias en cada ejecución.
¿Qué otros nombres se utilizan para referirse a un PRNG?
Además de generador de números pseudoaleatorios, un PRNG también puede denominarse generador de números aleatorios digital (DRNG) o generador determinístico de bits aleatorios (DRBG), destacando su naturaleza matemática y determinista.
Para más información leer el artículo: pseudoaleatoriedad.
Autor: Leandro Alegsa
Actualizado: 14-07-2025
¿Cómo citar este artículo?
Alegsa, Leandro. (2025). Definición de PRNG. Recuperado de https://www.alegsa.com.ar/Dic/prng.php