Home

Pseudorandom

Pseudorandom refers to sequences of numbers that appear random but are generated by deterministic algorithms. Unlike true randomness, which arises from inherently unpredictable physical processes, pseudorandom sequences rely on an initial value called a seed and follow a predefined rule to produce long strings of numbers that pass many statistical tests for randomness.

In practice, pseudorandom number generators produce outputs that are statistically close to uniform and independent for

Common non-cryptographic pseudorandom generators include linear congruential generators, the Mersenne Twister, and various xorshift families. These

Applications of pseudorandom generators include Monte Carlo simulations, statistical sampling, randomized algorithms, and software testing. Their

practical
purposes.
However,
because
the
process
is
deterministic,
the
entire
sequence
is
fully
determined
by
the
seed,
and
the
generator
eventually
enters
a
repeating
cycle.
The
period—the
length
before
repetition
occurs—depends
on
the
algorithm
and
its
parameters.
Reproducing
a
result
simply
requires
reusing
the
same
seed
and
algorithm.
are
favored
for
speed
and
good
statistical
properties
in
simulations,
numerical
methods,
and
gaming.
Cryptographically
secure
pseudorandom
number
generators
are
designed
to
resist
prediction:
given
less
than
the
full
internal
state,
an
attacker
should
gain
negligible
information
about
future
outputs.
Examples
include
designs
based
on
cryptographic
primitives
such
as
block
ciphers
or
hash
functions,
and
practice
often
recommends
using
a
cryptographic
RNG
when
randomness
is
used
for
keys,
nonces,
or
other
security-sensitive
material.
effectiveness
hinges
on
both
the
quality
of
the
algorithm
and
the
quality
of
the
seed
or
entropy
source.
While
useful
and
efficient,
pseudorandom
sequences
are
not
truly
random
and
can
be
predictable
if
the
state
or
seed
is
compromised.