Jak funguje bezpečný generátor náhodných čísel

Jak funguje bezpečný generátor náhodných čísel


Člověk by si řekl, že náhodně generovat čísla je přeci snadné, ale ono to zas tak jednoduché není. Navíc je ono generování dnes extrémně důležitou součástí našich životů a existence samotného internetu je na něm velmi závislá. U opravdu náhodného generování čísel je potřeba, aby bylo splněno několik požadavků.

Čísla se musí objevovat všechny se stejnou pravděpodobností – jakmile by se jakékoliv z generovaných čísel objevovalo častěji, tak se nejedná skutečně o náhodu. Nesmíme také odhadnout, a to jakkoli, jaké číslo se objeví příště. Výsledky minulých vygenerování také nesmí ovlivnit výsledky budoucí. Řekněme třeba, že bychom chtěli náhodně generovat sekvenci tvořenou pouze dvěma čísly 1 a 2. Pokud bychom měli řadu čísel 1 – 2 – 1 – 2 – 1 – 2…, tak ta by sice splňovala bod o tom, že se čísla objevují stejně často, ale rozhodně ne o tom, že se čísla objevují náhodně. Podle posledního čísla bychom snadno poznali, jaké číslo přijde později. Samozřejmě je možné, že se tato zvolená sekvence opravdu vytvořila náhodně, ale zde spíše počítáme s tím, že jsme ji vytvořili zcela uměle pouze střídáním čísel.

Jednou z nejčastěji používaných metod je takzvané pseudonáhodné generování čísel. Řada těchto čísel se sice tváří náhodně a může splňovat i statistické parametry, ale tato řada je vytvářena předem zvolenými metodami pomocí algoritmů. Tyto algoritmy ale nejsou zcela náhodné a při znalosti toho, jak jsou sekvence čísel tvořeny, lze s dostatečnou přesností odhadovat budoucí čísla, což už není náhodné ani bezpečné. V určitých situacích je tato náhodnost zcela dostačující, jako například v online hrách a dalších videohrách, ale rozhodně nestačí například na bezpečné zašifrování komunikace.

Ty opravdu bezpečné generátory náhodných čísel nesmí využívat pouze předem daných postupů, ale musí ke generování využívat také metod, které jsou předem neodhadnutelné. Tyto metody spočívají ve fyzikálních jevech, které se dějí opravdu zcela náhodně a u kterých neexistuje způsob, jak výsledek předpovědět. Tyto jevy mohou fungovat samy o sobě jako generátory čísel, nebo mohou být propojeny právě s dalšími metodami.

Jednoduché generátory náhodných čísel

Jedním z primitivních způsobů náhodného generování čísel může sloužit hod mincí. Jestli padne panna nebo orel, je při dostatečně silném hodu zcela neodhadnutelné a z různých sekvencí mohou být tvořena v zásadě libovolná čísla, pouze zapsaná například v binárním kódu, kdy například panna je nula a orel je jednička. Další z metod může být například házení kostkou. Poněkud složitější a dnes již také velmi účinným generátorem je ruletový stůl v casinu. Ani jedna z těchto metod ale není zrovna efektivní, pokud se bavíme o potřebě tvořit náhodná čísla velmi rychle, v praxi mnohokrát za vteřinu.

V počítačovém průmyslu se využívají fyzikální principy, které je možné opakovat s obrovskou frekvencí. Velmi oblíbeným způsobem je bombardování speciálního polopropustného zrcadla fotony. To, jestli foton zrcadlem projde, nebo ne, je čistě náhodné a nelze předem nijak určit, který foton projde. Díky tomu lze tvořit opravdu náhodná čísla velmi rychle.

Kde se s generátory náhodných čísel setkáme

Takto složité systémy je potřeba tvořit zejména u těch systémů, kde se pracuje s šifrovanou komunikací. Nabízí se hlavně bankovnictví a obecně převody peněz po internetu. Pro někoho možná překvapivě využívají tyto pokročilé technologie i online casina provozující hazardní hry, nebo jiné služby zabývající se hazardem. Nejznámější hernou s fyzikálně založeným generátorem náhodných čísel je online pokerová herna PokerStars, která získala licenci v České republice. Jejich generátor je pravidelně auditován a kontrolován, aby bylo zajištěno, že jsou hry naprosto férové.

Je také důležité si uvědomit, že náhodnost čísel je tak dokonalá, kam až sahají naše znalosti. Jako příklad bychom si mohli vzít třeba pohyby kurzů v sázkových kancelářích. Pokud se kurz zvedne, tedy že se snižuje pravděpodobnost dané události, tak nám to může připadat jako zcela náhodný jev, který nešel předvídat. Při lepší informovanosti ale můžeme zjistit například to, že se třeba v případě sázky na fotbal zranil klíčový hráč. Přestože tedy mohlo zvednutí kurzu působit náhodně, vlastně úplně náhodné nebylo.

O autorovi angelo

Komentáře

Emailová adresa nebude publikována. Povinné pole jsou označena *

*