Jak fungují generátory náhodných čísel?
18.9.2022
Softwarový generátor náhodných čísel (PRNG): Softwarový RNG používá matematické algoritmy pro náhodné generování čísel, inicializuje algoritmus nasazenou hodnotou odvozenou od repetiční operace v počítači, jako jsou stisky kláves, běžicí procesy, hodiny počítače nebo pohyby myší. Je nicméně extrémně obtížné přijít se zcela náhodnou nasazenou hodnotou, protože většina operací poskytuje omezený rozsah hodnot.
Výzvou pro softwarový RNG je skutečnost, že sekvence čísel založená na nasazené hodnotě je zcela deterministická, protože její vytvoření má na svědomí softwarový algoritmus. Takže přestože je nasazená hodnota opravdu náhodná, čísla, která RNG vytváří, jsou předvídatelná, pokud někdo dokáže rozluštit algoritmus, který je vytváří. Proto nejsou čísla generovaná softwarovým RNG zcela náhodná, ale pseudonáhodná, a software RNG, který je generuje, se označuje jako Generátor pseudonáhodných čísel (PRNG).
Hardwarový generátor náhodných čísel (TRNG): Hardwarový RNG nevyžaduje nasazenou hodnotu, protože čísla, která generuje, nejsou vypočítané hodnoty; nejsou odvozena pomocí opakovacích algoritmů. Náhodná čísla generovaná hardwarovým generátorem jsou spíše digitalizované snímky přirozeně se objevujících šumů. Protože neexistuje algoritmus a opakující se sekvence čísel, nedokáže ani hacker určit jediné číslo a předvídat budoucí čísla. Proto jsou hardwarové RNG označovány jako Generátory přirozeně náhodných čísel nebo TRNG.