Jak počítače generují náhodná čísla

Nov 4, 2024
Soukromí a bezpečnost

Počítače generují náhodné číslo pro vše od kryptografie po videohry a hazardní hry. Existují dvě kategorie náhodných čísel - „skutečná“ náhodná čísla a pseudonáhodná čísla - a rozdíl je důležitý pro bezpečnost šifrovacích systémů.

Počítače mohou generovat skutečně náhodná čísla pozorováním některých vnějších dat, jako jsou pohyby myší nebo hluk ventilátorů, které nelze předvídat, a vytváření dat z nich. Toto se nazývá entropie. Jindy generují „pseudonáhodná“ čísla pomocí algoritmu, takže výsledky vypadají náhodně, i když tomu tak není.

Toto téma je v poslední době kontroverznější a mnoho lidí si klade otázku, zda je integrovaný hardwarový čip generátoru náhodných čísel od společnosti Intel důvěryhodný. Abyste pochopili, proč to nemusí být důvěryhodné, musíte pochopit, jak jsou náhodná čísla generována a k čemu se používají.

K čemu se náhodná čísla používají

Náhodná čísla se používají již mnoho tisíc let. Ať už jde o házení mincí nebo házení kostkou, cílem je nechat konečný výsledek na náhodě. Generátory náhodných čísel v počítači jsou podobné - jedná se o pokus o dosažení nepředvídatelného náhodného výsledku.

PŘÍBUZNÝ: Co je šifrování a jak funguje?

Generátory náhodných čísel jsou užitečné pro mnoho různých účelů. Kromě zřejmých aplikací, jako je generování náhodných čísel pro účely hazardních her nebo vytváření nepředvídatelných výsledků v počítačové hře, je pro kryptografii důležitá náhodnost.

Kryptografie vyžaduje čísla, která útočníci nedokáží uhodnout. Nemůžeme používat stále stejná čísla. Chceme tato čísla generovat velmi nepředvídatelným způsobem, aby je útočníci nemohli uhodnout. Tato náhodná čísla jsou nezbytná pro bezpečné šifrování, ať už šifrujete své vlastní soubory nebo jen používáte HTTPS webové stránky na internetu.

Pravá náhodná čísla

Možná vás zajímá, jak může počítač ve skutečnosti generovat náhodné číslo. Odkud pochází tato „náhodnost“. Pokud je to jen část počítačového kódu, není možné, aby čísla, která počítač generuje, byla předvídatelná?

Obecně seskupujeme náhodná čísla, která počítače generují, do dvou typů podle toho, jak jsou generována: „Pravá“ náhodná čísla a pseudonáhodná čísla.

K vygenerování „opravdového“ náhodného čísla počítač měří určitý typ fyzikálního jevu, který se odehrává mimo počítač. Například počítač mohl měřit radioaktivní rozpad atomu. Podle kvantové teorie neexistuje žádný způsob, jak s jistotou vědět, kdy dojde k radioaktivnímu rozpadu, takže se jedná v podstatě o „čistou náhodnost“ z vesmíru. Útočník by nebyl schopen předpovědět, kdy dojde k radioaktivnímu rozpadu, takže by neznal náhodnou hodnotu.

Pro každodennější příklad by se počítač mohl spolehnout na atmosférický šum nebo jednoduše použít přesný čas stisknutí kláves na klávesnici jako zdroj nepředvídatelných dat nebo entropie. Váš počítač si například může všimnout, že jste stiskli klávesu přesně v 0,234 233 s po 14:00. Uchopte dostatek konkrétních časů spojených s těmito stisknutími kláves a budete mít zdroj entropie, který můžete použít k vygenerování „opravdového“ náhodného číslo. Nejste předvídatelný stroj, takže útočník nemůže odhadnout přesný okamžik, kdy stisknete tyto klávesy. The / dev / random zařízení na Linuxu , který generuje náhodná čísla, „blokuje“ a nevrací výsledek, dokud nenasbírá dostatek entropie, aby vrátil skutečně náhodné číslo.

Pseudonáhodná čísla

Pseudonáhodná čísla jsou alternativou k „skutečným“ náhodným číslům. Počítač by mohl použít počáteční hodnotu a algoritmus ke generování čísel, která se zdají být náhodná, ale která jsou ve skutečnosti předvídatelná. Počítač neshromažďuje žádná náhodná data z prostředí.

To nemusí být nutně špatná věc v každé situaci. Pokud například hrajete videohru, nezáleží na tom, zda jsou události, které v této hře nastanou, způsobeny „skutečnými“ náhodnými čísly nebo pseudonáhodnými čísly. Na druhou stranu, pokud používáte šifrování, nechcete používat pseudonáhodná čísla, která by útočník mohl uhodnout.

Řekněme například, že útočník zná algoritmus a počáteční hodnotu, kterou používá generátor pseudonáhodných čísel. Řekněme, že šifrovací algoritmus získá z tohoto algoritmu pseudonáhodné číslo a použije jej ke generování šifrovacího klíče bez přidání další náhodnosti. Pokud útočník ví dost, mohl by pracovat pozpátku a určit pseudonáhodné číslo, které si šifrovací algoritmus musel v takovém případě zvolit, čímž by došlo k prolomení šifrování.

Generátor náhodných čísel hardwaru NSA a Intel

Aby to vývojářům usnadnilo a pomohlo generovat zabezpečená náhodná čísla, obsahují čipy Intel hardwarový generátor náhodných čísel známý jako RdRand. Tento čip používá zdroj entropie na procesoru a poskytuje náhodná čísla softwaru, když je software požaduje.

Problém je v tom, že generátor náhodných čísel je v podstatě černá skříňka a nevíme, co se v něm děje. Pokud by RdRand obsahoval zadní vrátka NSA, vláda by dokázala rozbít šifrovací klíče, které byly vygenerovány pouze s údaji dodávanými tímto generátorem náhodných čísel.

To je vážná obava. V prosinci 2013 vývojáři FreeBSD odstranili podporu pro přímé použití RdRand jako zdroje náhodnosti s tím, že tomu nemohou věřit. [ Zdroj ] Výstup zařízení RdRand by byl přiváděn do jiného algoritmu, který přidává další entropii, což by zajistilo, že by na zadních dveřích v generátoru náhodných čísel nezáleželo. Linux již fungoval tímto způsobem, což dále randomizovalo náhodné údaje pocházející z RdRand, aby nebylo možné je předvídat, i kdyby existovaly zadní vrátka. [ Zdroj ] V nedávném AMA („Zeptejte se mě na cokoli“) na Redditu generální ředitel společnosti Intel Brian Krzanich neodpověděl na otázky týkající se těchto obav. [ Zdroj ]

Samozřejmě to pravděpodobně není problém pouze s čipy Intel. Vývojáři FreeBSD také pojmenovali čipy Via. Tato kontroverze ukazuje, proč je generování náhodných čísel, která jsou skutečně náhodná a nejsou předvídatelná, tak důležité.


Aby generovali „skutečná“ náhodná čísla, generátory náhodných čísel shromažďují „entropii“ nebo zdánlivě náhodná data z fyzického světa kolem sebe. Pro náhodná čísla, která ne opravdu musí být náhodné, mohou použít pouze algoritmus a počáteční hodnotu.

Kredit obrázku: rekre89 na Flickru , Lisa Brewster na Flickru , Ryan Somma na Flickru , Huangjiahuion Flickr

.vstupní obsah .vstup do zápatí

How Do Computers Generate Random Numbers?

Why Computers Can't Generate Random Numbers

Can Computers Generate True Random Numbers | CodeinVeins

How Do Computers Generate Random Numbers? #shorts

How Machines Generate Random Numbers With Time

Can Computers Generate Random Numbers?! | Tech Shorts

How Computers Generate Random Numbers | Quantum, ITER, COVID Mutations

How Random Numbers Are Generated

Random Numbers - Numberphile

Almost All Random Numbers Are Actually Fake

Random Numbers (How Software Works)

How To Generate Pseudorandom Numbers | Infinite Series

Lecture 16 - Generation Of Random Numbers

What Is Random?

Pseudo Random Numbers And Stream Ciphers (CSS322, L9, Y14)

Is Anything Truly Random?

How Random Is A Computer Generator Actually?


Soukromí a bezpečnost - Nejoblíbenější články

Jak mohu otevřít port v bráně Windows Firewall?

Soukromí a bezpečnost Nov 15, 2024

NEBEZPEČNÝ OBSAH Brány firewall vás chrání před hrozbami na internetu (provoz z internetu i z místních aplikací, které se snaží získat přístup, když by neměly). ..


Jak povolit alarm na zámku Schlage Connect Smart Lock

Soukromí a bezpečnost Dec 4, 2024

NEBEZPEČNÝ OBSAH Chytrý zámek Schlage Connect obsahuje zabudovaný výstražný systém, který může odradit potenciální zloděje od vloupání do vašeho domu předními ..


Jak náhodně rozsvítit světla Hue pro extra zabezpečení dovolené

Soukromí a bezpečnost Aug 21, 2025

NEBEZPEČNÝ OBSAH Pokud chcete dát iluzi, že jste doma, když jste opravdu na dovolené, vaše inteligentní žárovky Phillips Hue mají nyní funkci „napodobování příto..


Jak spravovat, přizpůsobovat a blokovat oznámení v zařízeních Android Lollipop a Marshmallow

Soukromí a bezpečnost Sep 29, 2025

Android vždy dělal oznámení konzistentně dobře přes jeho různé iterace. V systémech Android Lollipop a Marshmallow se oznámení ještě zlepšila, což uživatelům posky..


Jak vzdáleně načíst libovolný soubor v počítači pomocí OneDrive

Soukromí a bezpečnost Apr 28, 2025

NEBEZPEČNÝ OBSAH OneDrive může být primárně cloudová synchronizační služba, ale i když OneDrive nepoužíváte jako primární cloudové úložiště, má jed..


4 místa, kde najdete aktuální výsledky antivirových testů online

Soukromí a bezpečnost Jan 27, 2025

NEBEZPEČNÝ OBSAH Víte, jak efektivní jsou vaše antivirové programy? Řada organizací pravidelně porovnává antivirové programy, hází na ně velké množství vzorků m..


Nejlepší přenosné aplikace zdarma pro vaši sadu nástrojů Flash Drive

Soukromí a bezpečnost Feb 12, 2025

NEBEZPEČNÝ OBSAH Velkokapacitní, malé a cenově dostupné USB flash disky nám umožňují snadno přenášet koncerty dat v našich kapsách. Proč si nevzít s sebou také n..


Zakažte automatické přehrávání zvukových disků CD a jednotek USB

Soukromí a bezpečnost Nov 11, 2024

NEBEZPEČNÝ OBSAH Považuji to za velmi nepříjemné, když jdu domů z práce a připojím svůj laptop k mému externímu pevnému disku ... Vždy se objeví okno automatického přehr�..


Kategorie