Generator liczb losowych
Z Wikipedii
Generator liczb losowych (ang. random number generator) - program komputerowy lub układ elektroniczny generujący liczby losowe.
Ze względu na sposób generowania liczb losowych można wyróżnić dwa rodzaje stosowanych generatorów:
- Generatory sprzętowe (ang. TRNG - True Random Number Generator) - działające na zasadzie ciągłego pomiaru procesu stochastycznego
- Generatory programowe (ang. PRNG - Pseudo Random Number Generator)
Olbrzymią zaletą generatora sprzętowego, szczególnie ważną w kryptografii, jest jego nieprzewidywalność, wynikająca z nieprzewidywalności samego procesu fizycznego. Dlatego też często w literaturze są one określane jako „prawdziwe” generatory liczb losowych (ang. True Random Number Generators, w skrócie TRNG). Najczęściej wykorzystywane procesy losowe to szum termiczny oraz rozpad pierwiastka promieniotwórczego, choć możliwe są również inne rozwiązania.
Liczby pochodzące z generatora programowego zwane są liczbami pseudolosowymi, ponieważ faktycznie nie są dziełem przypadku, lecz wynikiem skomplikowanych procedur matematycznych. Programowe generowanie liczb prawdziwie losowych wymaga posłużenia się ciągłym strumieniem próbek uzyskanych ze świata zewnętrznego. Największą zaletą generatorów pseudolosowych jest ich szybkość, często też mają lepsze właściwości statystyczne niż generatory sprzętowe. Należy jednak zwrócić uwagę na fakt, że mając kontrolę lub znając wartości podawane na wejście generatora oraz jego stan wewnętrzny bez trudu można przewidzieć zwracane przezeń liczby. Z tego powodu decydując się na zastosowanie w systemie kryptograficznym generatora liczb pseudolosowych należy zachować szczególną ostrożność przy doborze zarówno samego algorytmu, jak i sposobu inicjowania oraz rodzaju wartości podawanych na jego wejście.
Generatory liczb losowych są ważnymi współczesnymi narzędziami badawczymi, używanymi w wielu dziedzinach, m.in. do kryptografii, lub statystyce do symulacji procesów. Działaniem generatora liczb losowych może być podawanie liczby z przedziału < 0 , 1 ) o rozkładzie jednostajnym.
[edytuj] Linki zewnętrzne
Ciągi liczb (pseudo)losowych uzyskiwane z internetu nie powinny być używane do celów kryptograficznych!
- Random.org
- HotBits: Genuine Random Numbers
- LavaRnd demonstration
- RandomNumbers.info
- KenoRND()
- www.true-random.com
- Generator sprzętowy wykorzystujący zjawiska kwantowe
- Sprzętowy generator liczb losowych przeznaczony do zastosowań w systemach kryptograficznych
- Kryptograficznie bezpieczny generator pseudolosowy Yarrow
- Kryptograficznie bezpieczny generator pseudolosowy ISAAC
- Kryptograficznie bezpieczny generator pseudolosowy Fortuna
- Generator Mersenne Twister