Algoritmo matemático que produce una sucesión
indefinida de números aparentemente aleatorios (seudoaleatorios), es decir, que
satisfacen, en mayor o menor grado, las pruebas habituales de aleatoriedad.
Para su arranque precisan de un valor inicial denominado semilla.
La generación de números aleatorios es de
trascendental importancia en criptografía; por ejemplo, en la obtención de
claves criptográficas, en sistemas de autenticación pregunta-respuesta, en
ciertos protocolos de autenticación fuerte, etc.
Ejemplos de estos generadores son los congruenciales
y los de registro de desplazamiento de realimentación lineal (LFSR).
[Ribagorda:1997]
An algorithm that produces a
sequence of bits that are uniquely determined from an initial value called a
seed. The output of the PRNG “appears” to be random, i.e., the output is
statistically indistinguishable from random values. A cryptographic PRNG has
the additional property that the output is unpredictable, given that the seed
is not known. [CNSSI_4009:2010]
An algorithm that produces a
sequence of bits that are uniquely determined from an initial value called a
seed. The output of the DRBG appears to be random, i.e., the output is
statistically indistinguishable from random values. A cryptographic DRBG has
the additional property that the output is unpredictable, given that the seed
is not known. A DRBG is sometimes also called a Pseudo Random Number Generator
(PRNG) or a deterministic random number generator. [NIST-SP800-57:2007]
A module that generates
streams of numbers (in the form of bits) that appears random.