Losowość jest istotnym elementem w kryptografii gdzie między innymi jest wykorzystywana do generowania kluczy. Aczkolwiek aby losowość była tą rzeczywiście losową (RNG), a nie tylko pseudo losową (PRNG), potrzebne jest wysoki poziom entropii.
Entropia
To poziom nieuporządkowania. Jeśli entropia jest maksymalna to znaczy, że każdy wynik jest tak samo prawdopodobny – na przykład przy uczciwym rzucie monetą.
RNG – Random Number Generator
Są to generatory oparte o wartości analogowe, takie jak np. temperatura procesora czy ruchy myszką przez użytkownika. Takie wartości są zbierane i to one stanowią losowo wygenerowane liczby. Trzeba jednak pamiętać, że są one dobrym, lecz nie idealnym źródłem entropii. Tak naprawdę to ciężko określić poziom entropii i ilość tak wygenerowanych liczb może być ograniczona (na przykład użytkownik przestanie ruszać myszką).
PRNG – Pseudo Random Number Generator
Są to generatory oparte o algorytmy, które bez problemu generują dowolną ilość liczb (pseudo)losowych. Niestety takie algorytmy są najczęściej możliwe to przewidzenia – stąd nie są bezpiecznym źródłem liczb losowych.
RNG + PRNG
W systemach kryptograficznych najczęściej łączy się dwa rodzaje generatorów. RNG służy jako tak zwane ziarno dla generatorów PRNG. To najczęściej daje wystarczający poziom entropii.
